.[ ČeskéHry.cz ].
Modely ve hrách
Jdi na stránku Předchozí  1, 2, 3, 4, 5, 6
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Grafika
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 2. říjen 2010, 09:24:36    Předmět: Odpovědět s citátem

No.. ono to teoreticky je dobře. Vertexy jsou sice stejné pozice, ale každý vertex má jinou normálu. Když načtu krychli, tak má 8 vertexů, ale už nemá 8 normál. Takže mi to skončí u toho, že mi to vertexy naduplikuje, ale pokaždé s jinou normálou / texCoordem apod.


Do IB je pak musím naházet ale oba, protože se kromě pozice liší. A separované VB pro normály a vertexy asi nejdou... nebo mi něco uniklo ? Smile

Ten IB je tam vlastně zbytečný, protože při loadu z toho udělám pouze TriangleList do VB. Ale nějak mě nenapadá, jak to udělat s IB. Pokud bych uvažoval jenom vertexy, tak by to bylo OK.. ale jak poznám že vertex s normálou už je mezi vertexy.. to bych musel pořád všechno procházet a tím by stoupl load-time.

Např:
kód:

...
<p>4 30 0 31 3 32</p>
..

Jedna stěna krychle. Vertexy jsou z pozic 4,0,3 - kdyby nebyly nastaveny normály, hodil bych do IB 4,0,3.. takhle ale mám dvojici 4-30, která tvoří vertex a na to abych zjistil, že už jsem ho jednou mezi vertexy přidal, bych musel projít celé akt. pole načtených. A to mi přijde dělat při každém vertexu jako sebevražda a load time bude x-násobně větší. Nebo je nějaké elegantní řešení ?
Nějak mi nenapadá jak elegantně (bez Brutal Force) collada soubory načítat a ukládat do IB, pokud mají nastaveny něco více než pozici...
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky  
ICQ
pet



Založen: 11. 08. 2010
Příspěvky: 10

PříspěvekZaslal: 2. říjen 2010, 13:12:58    Předmět: Odpovědět s citátem

To je sice pravda, ale jen u ostrych hran, kterych obecne v modelech nebude mnoho. Pro hladky povrch budou mit vrcholy normalu shodnou. Vyuziti dobreho index bufferu umozni podstatne urychleni vykreslovani, protoze se bude na kartu posilat podstatne mene dat. Otazka nahravaciho casu by sla urcite vyresit tim, ze by se data neexportovala primo, ale jeste se prohnala utilitou, ktera by to optimalizovala, pri nahravani do hry by byl pouzit tento optimalni dataset.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky  
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 2. říjen 2010, 14:00:21    Předmět: Odpovědět s citátem

Jak říká pet, v reálném modelu nebude ostrých hran (kde jsou vertexy se stejnými pozicemi a různými normálami) mnoho (jestli nějaké). Dokonalá krychle je opravdu extrémní případ.
Skupinám trianglů, které neobsahují ostré hrany, se říká "smoothing groups".
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky  
ICQ
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 2. říjen 2010, 15:31:11    Předmět: Odpovědět s citátem

Na doplnění: Blender nepoužívá smoothing groups, ale sharp edges, které má víc možností (například přechod mezi ostrostí a neostrostí hrany). Podle mě je to i intuitivnější.

_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky  
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 2. říjen 2010, 15:55:12    Předmět: Odpovědět s citátem

V debug verzi jsem nechtěl psát vlastní formát modelu, abych ho nemusel pořád předělávat, když přidám podporu něčeho nového (animace apod). Nicméně zatím obětuji load time.
Díky za rady.
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky  
ICQ
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 17. říjen 2010, 16:48:55    Předmět: Odpovědět s citátem

Tak jsem to přepsal na korektní IB / VB. Nicméně to letadélko je vážně tak "pokažené, že má velikost IB = velikost VB Smile

Load Time se snížil v řádech ms, takže je to OK Smile

Testovací Ferrari F40 (modrá barva není sice pro F40 typická, ale je zábava hrát si na modelu s barvičkama Very Happy) - volant je za tím pro mě ze záhadného důvodu vpravo místo vlevo.. resp. celé auto je zrcadlové otočené


Model dae size: 4MB
Number of textures: 21
Loading Time (dae structure): 800ms (bez použití IB byl čas něco málo přes 730ms)
Vertices: 60.000
Indices: 160.000 (3 indice = 1 triangle)
SubMeshes: 35
FPS: 550 (GF7900GTX, Core 2 Duo E6400 2.14Ghz, 5GB RAM)
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky  
ICQ
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Grafika Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4, 5, 6
Strana 6 z 6

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna