Corrupted image if variable is not static
- by Jaka Jancar
I'm doing the following:
static GLfloat vertices[3][3] =
{
{0.0, 1.0, 0.0},
{1.0, 0.0, 0.0},
{-1.0, 0.0, 0.0}
};
glColor4ub(255, 0, 0, 255);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glDrawArrays(GL_TRIANGLES, 0, 9);
glDisableClientState(GL_VERTEX_ARRAY);
This works ok:
However, if I remove static from vertices and therefore re-create the data on the stack on each rendering, I get the following:
This happens both on the simulator and on the device.
Should I be keeping the variables around after I call glDrawArrays?