I´m trying to convert my working code for a heightfield from ImmidiateMode to Vertex Arrays, but I encounter problems (would be crazy if it worked without problems g).
All data is stored and precalculated in one of my classes.
Then I wanted to copy all data out of the classes into Arrays, so I can use Vertex Arrays:
Here´s my code:
float **pointData; pointData = new float *[MAP_DIMENSION*MAP_DIMENSION]; for(int y=0; y<MAP_DIMENSION; y++) { for(int x=0; x<MAP_DIMENSION; x++) { pointData[((y)*field_dim)+(x)] = new float [3]; pointData[((y)*field_dim)+(x)][0] = heightfield[((y)*field_dim)+(x)].point.x; pointData[((y)*field_dim)+(x)][1] = heightfield[((y)*field_dim)+(x)].point.y; pointData[((y)*field_dim)+(x)][2] = heightfield[((y)*field_dim)+(x)].point.z;
} } glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(3, GL_FLOAT, 0, pointData);
I think it´s quite clear, what I´m doing…
When I´m rendering the scene using no Vertex Arrays I´m just looping through each point with two for-loops, as I have done above.
But the problem for the Vertex Arrays is maybe that OpenGL accesses the indices in a diffrent way.
So nothing is rendered (but the performance goes down, so I guess, you just can´t see the triangles)
Has anybody an idea?? Please!!
Thanks in Advance!