Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Proložené pole a normála, redukce volání vertex

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Proložené pole a normála, redukce volání vertex

Autor: nou

17:33:45 02.07.2009

nie nejde to. jedine co sa da zdielaat je cely vrchol ako celok. dovod preco boli zavedene polia a teda aj VBO je obmedzenie mnozstva drawcall teda volanie glVertex3f() glNormal3f() atd. a kocka je dost extremny pripad kedy ani jeden vrchol nie je spolocny. vetsina modelov byva taka ze maju spolocne jak polohu tak aj normalu teda hladke plochy. tam sa uspora prejavy.

Citovat příspěvek

 

Proložené pole a normála, redukce volání vertex

Autor: Petr S.

16:20:04 02.07.2009

Po prostudování knihy OPENGL a příkladu "kostky" kde je popsáno jak ušetřit opakované volání glVertex
z 24 na 8 volání použitím proloženého pole mi není jasná jedna věc.

V Definování 24 vrcholů v řadě je asi nesporná výhoda "uspořádání" dat

cccc0 nnn0 vvv0 (color, norm, vertex)
cccc1 nnn1 vvv1
cccc2 nnn2 vvv2
...
cccc23 nnn23 vvv23

stačí pak použít glInterleavedArrays(GL_C4F_N3F_V3F, 10*sizeof(GL_FLOAT), &nejakepole);

Nastavit pole tank_body[]={0 až 23};
glDrawElements(GL_QUADS, sizeof(tank_body) , GL_UNSIGNED_BYTE, tank_body);

Ale:
1) přijde mi zbytečné opakovat normálu pro vrcholy 0,1,2,3 když je pro tuto plochu pořád stejná (np1)
2) neplatí příklad "kostky" všechny vrcholy jsou definované tzn 24 vrcholů místo 8 (pokud použiju VBO - je to opravdu úspora nebo ne ?)
3) výhoda: každý vrchol má svou normálu, barvu apod (viz vrcholy 2,7,8)

Ale říkám si, že při "redukovaném zadání" zadání 8mi vrcholů stačí 6 normál - dájí se nějak elegantně uspořádat do prokládaného pole?

nějak takhle:
nnn0 cccc0 vvv0 cccc1 vvv1 cccc2 vvv2 cccc3 vvv3 nnn4 cccc4 vvv4 atd.

Počítám s použitím VBO.
Omlouvám se za trochu neobratný a možná chaoticky popsaný dotaz - pro lepší pochopení raději přikládám obr:

[img]http://88.86.106.174/jpeg/156_ogl_tank.jpg[/img]

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: