Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 20. září 2009, 09:53:32 Předmět: |
|
|
Zdarec
potřeboval bych radu....
mam struktury
kód: |
typedef struct xmdVertex
{
float x, y, z;
float u, v;
} xmdVertex;
typedef struct xmdVertexIndice
{
int x,y,z;
} xmdVertexIndice;
|
ve kterych mam ulozeny informace ze souboru jako jsou Facy,Vertexy a tak ale zjistil jsem ze nejsem schopnej to z tech naplnenejch struktur dostat do vertex arrays tak aby se to vykreslilo spravne vzdycky z toho mam uplne rozhozenej model.
pointer nastavuju takle ale nejspis to neni nejlepsi cesta protoze to nefunguje (to stejny pro facy)
kód: |
&model.triangle[t].vertex |
dival jsem se na nejaky tutory ale vetsinou to bylo realizovany pres zastaraly glBegin(), tak bych se chtel zeptat jak by ste to realizovali vi? |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 20. září 2009, 11:58:59 Předmět: |
|
|
takze ked mas pole xmdVertex kde mas ulozene jednotlive vrcholy. a potom pole xmdVertexIndice kde ams ulozene indexi na jednotlive vrcholy ktore su v xmdVertex tak by som to videl nejak takto.
kód: |
glVertexPointer(3, GL_FLOAT, sizeof(xmdVertex), pole_vertexov);
glTexCoordPointer(2, GL_FLOAT, sizeof(xmdVertex), pole_vertexov+3*sizeof(float));
glDrawElements(GL_TRIANGLES, count, GL_INT, pole_indexov); |
ak mas dane vertexy v VBO tak potom ako posledny parameter gl*Pointer bude pocet bajtov ktore treba zo zaciatk vynechat. v tomto prpade teda
kód: |
glVertexPointer(3, GL_FLOAT, sizeof(xmdVertex), 0);
glTexCoordPointer(2, GL_FLOAT, sizeof(xmdVertex), (void*)3*sizeof(float));
|
_________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 20. září 2009, 15:32:09 Předmět: |
|
|
Nou diky ale asi jsem se blbe vyjjadril presne takhle to mam ale nevim jak nastavit ty pointery na ty struktury count je me jasny, ty sizeofy tam mam taky ale nejspis mu nejak blbe rikam kde to mam... |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 20. září 2009, 18:41:37 Předmět: |
|
|
hej to si sa vyjadril blbo. pretoze neviem co je toto
kód: |
&model.triangle[t].vertex |
model je taktiez struktura obsaujuca strktury xmdVertex a xmdIndicies?? _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 20. září 2009, 18:55:21 Předmět: |
|
|
promin....... nevidel jsem jestli sem mam posilat komplet tu strukturu
http://nopaste.ceske-hry.cz/222745 jo na konci mi to nejak zazracne vynechalo kus kodu - ta struktura je
kód: |
typedef struct xmdModel
{
int xmdNumTriangles;
xmdTriangle* triangle;
} xmdModel; |
a ukazuju na ni pres
|
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 20. září 2009, 19:23:15 Předmět: |
|
|
uhm tak to vyjasnuje. takze hned zaprve. OpenGL umoznuje iba jednoduche indexovanie vrcholov. teda pri vykreslovani sa daju pouzit iba jedna sada indexov/indices. takze tu strukturu xmdModel a xmdTriangle mas zle. musis mat jedno pole vrcholov a donho ukazovat jednym polom indices.
alebo mat pole vertexpx, pole texturovych koordinatov, pole normal. ae stale musi platit ze N-ty vertex, tex-koordinat a normala patria k jednemu vrcholu.
takze nemoze byt ziadne xmdVertexIndice Vindice xmdNormalIndice Nindice xmdTextureIndice Tindice.
napr take ASE z 3dMax ma pole vertexov, normal o pocte N,M prvkov a ku kazdemu polu samostane indice. to v OpenGL nejde. takyto model musis prerobit na samostatne vrcholy. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 20. září 2009, 20:32:56 Předmět: |
|
|
nou ano to vim ty Tindices a Nindices nepouzivam jsou sice plneny ale nepouzivam je pouzivam pouze indexy vetrexu (Vindice) a vertexy....teda pokud jsem to blbe pochopil tak se omlouvam jinak ten format je jak OBJ pouzil jsem jenom upravenej export v maxu  |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 20. září 2009, 21:29:37 Předmět: |
|
|
ok tak budes musiet oddelit indice od vertexov. takto ich mas prekladane co sa neda pouzit.[/code] _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
|