Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Aroidzap

Založen: 14. 11. 2011 Příspěvky: 68
|
Zaslal: 10. srpen 2012, 18:49:51 Předmět: OpenGL VBO |
|
|
Ahoj, trapi me jeden problem... Mam VBO a do nej davam zabalena vertex data (vertexy,normaly,tangenty a souradnice textur). Problem je ze mam napriklad 500 vertexu, 3000 texturovych souradnic a k tomu indexy. Rad bych tech indexu vyuzil, ale kvuli texturovym souradnicim musim tech 500 vertexu doplnit o dalsich 2500 aby sedely k texturovym souradnicim. Pak uz indexy nemaji smysl. Nenapada nekoho neco, abych mohl vyuzit indexu a usetrit tak pamet na grafice? (k tem vertexum musim zapocitat i dalsich 2500 normalu a 2500 tangentu) Kazdym resenim jsem zatim dosel k tomu, ze bych musel vertexy, normaly a tangenty zbytecne duplikovat. |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 10. srpen 2012, 21:05:40 Předmět: |
|
|
kratka odpoved je ze to nejde.
dlhsia je ze to teoreticky ide. videl som to riesit na opengl.org fore. a riesenie nebolo vobec pekne a jednoduche. a hlavne je potrebne tusim az OpenGL 4. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Aroidzap

Založen: 14. 11. 2011 Příspěvky: 68
|
Zaslal: 10. srpen 2012, 21:21:44 Předmět: |
|
|
A myslis ze by bylo rovnou lepsi si udelat si vlastni format kde to budu mit nekompresovane bez tech indexu? |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 10. srpen 2012, 22:47:43 Předmět: |
|
|
no indexy su dobra vec pretoze vecsina vrcholov byva pri normalnych modelov zdielana. teda usetri sa na pameti oproti neindexovanemu. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Aroidzap

Založen: 14. 11. 2011 Příspěvky: 68
|
Zaslal: 10. srpen 2012, 23:06:55 Předmět: |
|
|
me tam delaji problemy ty texturove koordinaty... zkusim to jeste nejak poresit... je blbost aby jich tam bylo tolik |
|
Návrat nahoru |
|
 |
mar
Založen: 16. 06. 2012 Příspěvky: 610
|
Zaslal: 11. srpen 2012, 12:14:12 Předmět: |
|
|
Aroidzap napsal: |
me tam delaji problemy ty texturove koordinaty... zkusim to jeste nejak poresit... je blbost aby jich tam bylo tolik |
No není. Může tam být šev (seam) a pak i když je bod stejný (xyz) tak pro různé trojůhelníky má různé souřadnice. |
|
Návrat nahoru |
|
 |
Mivoj
Založen: 11. 12. 2012 Příspěvky: 32
|
Zaslal: 26. duben 2013, 20:33:26 Předmět: |
|
|
Potřebovál bych pomoc s VBO nebo jak pochopit vertex arrays abych to mohl zakomponovat do svého simulátoru a tak to líp optimalizovat.
Tedy vysvětlit fůnkci glVertexPointer a co jak u ní dosadit. Hlavné ty dva poslední parametry.
Pak na vykreslení co použít radši jestli glDrawArrays nebo glDrawElements a když glDrawElements tak bych rád pochopil u ní poslední parametr. Chtěl jsem to uzpůsobit pro načítaní ASE souboru, ktery využívám na vykreslení objektů, ale nedáří se mně to. Zobrazí to jen pár trianglů a ty ještě špatně. |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 26. duben 2013, 22:52:18 Předmět: |
|
|
glVertexPointer() prvy parameter je pocet zloziek ktore ma jeden vertex. 2-4 bezne sa pouziva 3. druhy parameter je datovy typ. najcastejsie GL_FLOAT. tretim parametrom je krok. moze byt 0 ak su vertexy jeden za druhym. v pripade ze mas prelynane VBO tak treba uviest velkost jedneho vertexa v bajtoch. ak je struktura vertexa nasledovna [x,y,z, s,t] tak bude stride 5*sizeof(float)=20. poslednym parametrom je bud pointer na data vertexa alebo ak je nabindovany nejaky VBO cez glBindArray() do GL_ARRAY_BUFFER tak offset. tento offset je treba nastavovat pri prelinanych VBO. ak zoberieme predchadajuci priklad tak pri volani glTexCoordPointer() treba dat hodnotu 3*sizeof(float)
pri glDrawArray() a glDrawElements() treba dat pozor a predat pocet vertexov nie pocet primitiv. teda glDrawArrays(GL_TRIANGLES, 0, 3); vykresli prave jeden trojuholnik. glDrawElements pridava indexy do pola vrcholov. posledny parameter sa sprava rovnako ako v pripade glVertexPointer() jediny rozdiel je ze berie do uvahy VBO ktory je nabindovany do GL_ELEMENT_BUFFER_ARRAY _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
|