//in init glGenVertexArraysOES(1, &cubeVertexArray); glBindVertexArrayOES(cubeVertexArray); glGenBuffers(1, &cubeIndexBuffer); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cubeIndexBuffer); glBufferData(GL_ELEMENT_ARRAY_BUFFER, NUM_IMAGE_OBJECT_INDEX*sizeof(GLushort), cubeIndices, GL_STATIC_DRAW); glGenBuffers(1, &cubeVertexBuffer); glBindBuffer(GL_ARRAY_BUFFER, cubeVertexBuffer); glBufferData(GL_ARRAY_BUFFER, NUM_IMAGE_OBJECT_VERTEX * 3 * 6 *sizeof(GLfloat), cubeVertices, GL_STATIC_DRAW); glGenBuffers(1, &cubeNormalBuffer); glBindBuffer(GL_ARRAY_BUFFER, cubeNormalBuffer); glBufferData(GL_ARRAY_BUFFER, NUM_IMAGE_OBJECT_VERTEX * 3 * 6 *sizeof(GLfloat), cubeNormals, GL_STATIC_DRAW); glGenBuffers(1, &cubeTextureBuffer); glBindBuffer(GL_ARRAY_BUFFER, cubeTextureBuffer); glBufferData(GL_ARRAY_BUFFER, NUM_IMAGE_OBJECT_VERTEX * 2 * 6 *sizeof(GLfloat), cubeTexCoords, GL_STATIC_DRAW); glBindVertexArrayOES(0); //in render loop glBindBuffer(GL_ARRAY_BUFFER, cubeVertexBuffer); glVertexAttribPointer(vertexHandle, 3, GL_FLOAT, GL_FALSE, 0, 0); glEnableVertexAttribArray(vertexHandle); glBindBuffer(GL_ARRAY_BUFFER, cubeNormalBuffer); glVertexAttribPointer(normalHandle, 3, GL_FLOAT, GL_FALSE, 0, 0); glEnableVertexAttribArray(normalHandle); glBindBuffer(GL_ARRAY_BUFFER, cubeTextureBuffer); glVertexAttribPointer(textureCoordHandle, 2, GL_FLOAT, GL_FALSE, 0, 0); glEnableVertexAttribArray(textureCoordHandle);