Witam potrzebuje przeniesc dno "jaskini podwodnej" do opengl jak najprostszym sposobem skorzystałem z plugina który eksportuje z Blendera do pliku .h
Oto kod pliku dno.h(nie wszystko zeby nie zasmiecac):
#define VERTEX_COUNT_DL 22500
#define FACES_COUNT_DL 44402
#ifndef VERTEX_STRUCT
#define VERTEX_STRUCT
struct vertex_struct{
float x, y, z;
float nx,ny,nz;
float u,v;
};
#endif
struct vertex_struct vertexs_dl[]=
{
{-3.700670, -3.580773, 0.306235, 0.000366, -0.012055, 0.999908, 0.0, 0.0},
{-3.665402, -3.586005, 0.306158, 0.000366, -0.012055, 0.999908, 0.0, 0.0},
{-3.665950, -3.546953, 0.306630, 0.000366, -0.012055, 0.999908, 0.0, 0.0},
{-3.704976, -3.545383, 0.306664, 0.000366, -0.012055, 0.999908, 0.0, 0.0},
...
#define INX_TYPE GL_UNSIGNED_INT
unsigned int indexes_dl[]={0, 1, 2,0, 2, 3,3, 2, 4,3, 4, 5,
5, 4, 6,5, 6, 7,7, 6, 8,7, 8, 9,
9, 8, 10,9, 10, 11,11, 10, 12,11, 12, 13,
13, 12, 14,13, 14, 15,15, 14, 16,15, 16, 17,
...
Z ukladu indeksow dla powierzchni wynika ze nalezy uzyc TRIANGLES wiec tak tez robie w moim kodzie:
glBegin(GL_TRIANGLES);
for(f =0 ; f<FACES_COUNT_DL; f++ )
{
glNormal3f( vertexs_dl[indexes_dl[f]].nx,vertexs_dl[indexes_dl[f]].ny, vertexs_dl[indexes_dl[f]].nz );
glVertex3f( vertexs_dl[indexes_dl[f]].x,vertexs_dl[indexes_dl[f]].y, vertexs_dl[indexes_dl[f]].z );
}
glEnd( );
Wczesniej rysowalem same wierzcholki i za pomoca line_strip rysowalo cala powierzchnie co prawda byla ona w duzym stopniu znieksztalcona ale rysowalo calosc a teraz idealnie odwzorowuje ale tylko kawalek powierzchni.