glDrawElements

Started by
1 comment, last by Karg 20 years, 3 months ago
I've been having trouble with getting glDrawElements to work. In the below code, glDrawArrays works (draws a square), but the glDrawElements won't draw anything. I've tried 0-based and 1-based indices. Here's the code:

		float squareVertices[12] = {0,0,-10,
									-5,0,-10,
									-5,-5,-10,
									0,-5,-10};
		float squareIndices[4] = {1,2,3,4};
		glEnableClientState( GL_VERTEX_ARRAY );
		glVertexPointer( 3, GL_FLOAT, 0, squareVertices );
		//glDrawArrays( GL_POLYGON, 0, 4 );
		glDrawElements( GL_POLYGON, 4, GL_INT, squareIndices );
  
Anyone have an idea? karg [edited by - Karg on January 23, 2004 5:14:15 PM]
Advertisement
You should really look up glDrawElements in some documentation. There are three mistakes in your code

  • Indices are 0-based.

  • Check what parameters are valid for glDrawElements.

  • Make sure the index array matches the type you pass to glDrawElements.

Yep, two stupid mistakes, changed to unsigned ints for the array and paramater (and switched back to 0-based indices) and it works! Thanks Bob.

karg

This topic is closed to new replies.

Advertisement