#23962888 · 12 Feb 2011, 15:11 · · პროფილი · პირადი მიმოწერა · ჩატი
მოკლედ 3ds ფაილიდან ვკითხულობ წვეროებს და ინდექსებს typedef struct Triangle { GLushort a; GLushort b; GLushort c; }polygon_type; // typedef struct Vertex { float x; float y; float z;
}vertex_type; // vertex_type vertex; polygon_type polygon;
//===========================//==================================== case TRIVERTEXL: // 0x4110 fread(&l_qty,sizeof(WORD),1,hFile); // vertsqty = l_qty; vertex = new vertex_type[vertsqty]; for(i=0;i<vertsqty;i++) { fread(&vertex[i].x,sizeof(float),1,hFile); fread(&vertex[i].y,sizeof(float),1,hFile); fread(&vertex[i].z,sizeof(float),1,hFile); } break; //------------------------------------------------------------- case TRIFACEL: //0x4120 fread(&l_qty,sizeof(WORD),1,hFile); polygqty = l_qty; // polygon = new polygon_type[polygqty]; // for(i=0;i<polygqty;i++) { fread(&polygon[i].a,sizeof(GLushort),1,hFile); fread(&polygon[i].b,sizeof(GLushort),1,hFile); fread(&polygon[i].c,sizeof(GLushort),1,hFile); } // break; //===========================//======================================= ვხატავ მასივით
glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(3,GL_FLOAT,0,vertex); glDrawElements(GL_TRIANGLES,polygqty,GL_UNSIGNED_INT,polygon); glDisableClientState(GL_VERTEX_ARRAY);
მაგრამ გაშვებისას ეგრევე ინგრევა glDrawElements() _ის გამოძახებისას. * * * არადა glBegin()/glEnd() _ით ხატვისას (ინდექსებსაც ვიყენებ.) ჩვეულებრივ ხატავს.
This post has been edited by Gio_MVS_Cpp on 12 Feb 2011, 15:15
|