.[ ČeskéHry.cz ].
Lightmapy
Jdi na stránku Předchozí  1, 2, 3, 4
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
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

PříspěvekZaslal: 20. září 2009, 09:53:32    Předmět: Odpovědět s citátem

Zdarec Very Happy

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 Very Happy (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
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



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

PříspěvekZaslal: 20. září 2009, 11:58:59    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
jatro.m



Založen: 29. 07. 2009
Příspěvky: 89

PříspěvekZaslal: 20. září 2009, 15:32:09    Předmět: Odpovědět s citátem

Nou diky Very Happy ale asi jsem se blbe vyjjadril Very Happy 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
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



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

PříspěvekZaslal: 20. září 2009, 18:41:37    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
jatro.m



Založen: 29. 07. 2009
Příspěvky: 89

PříspěvekZaslal: 20. září 2009, 18:55:21    Předmět: Odpovědět s citátem

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
kód:
xmdModel model
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



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

PříspěvekZaslal: 20. září 2009, 19:23:15    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
jatro.m



Založen: 29. 07. 2009
Příspěvky: 89

PříspěvekZaslal: 20. září 2009, 20:32:56    Předmět: Odpovědět s citátem

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 Very Happy jinak ten format je jak OBJ pouzil jsem jenom upravenej export v maxu Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



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

PříspěvekZaslal: 20. září 2009, 21:29:37    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4
Strana 4 z 4

 
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