Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenGL Vertex Arrays required version

I have my program working with VBO's efficiently however it has come to my knowledge that no-one I know with the exception of 1 person has a computer that even comes close to supporting OpenGL 3.0. When they all run programs I have made all they get are flat textures that have no depth because their cards don't support VBO's nor the Shader language that I am using.

I am now coding in support for older computers (Prior OpenGL 3.0 support). I don't want to code in drawing in immediate mode unless completely necessary, so I'm reverting to Vertex Arrays.

What version of OpenGL is required to support Vertex Arrays?

I cant seem to locate this anywhere.

Extension Registry: http://www.opengl.org/registry/

Just to clarify I am talking about Client-side vertex arrays not to be confused with server-side Vertex Array Objects (VAO's) or Vertex Buffer Objects (VBO's)

like image 987
CoderWalker Avatar asked Dec 12 '22 18:12

CoderWalker


1 Answers

I'll be somewhat comprehensive here.

The basic vertex array API has been core since OpenGL 1.1.

OpenGL 1.1 introduced:

  • glDrawArrays and glDrawElements (as well as glArrayElement, but really nobody should use that for anything ever) for rendering.
  • glVertexPointer, glTexCoordPointer, glNormalPointer, and glColorPointer for "attributes". Note that you only get one texture coordinate pointer.

OpenGL 1.2 introduced:

  • glDrawRangeElements, for improved performance on some drivers. Not very useful these days, but if you're coding for old hardware, look into it.

OpenGL 1.3 introduced:

  • glActiveTexture, thus allowing GL_MAX_TEXTURE_UNITS numbers of glTexCoordPointers.

OpenGL 1.4 introduced:

  • glMultiDrawArrays and glMultiDrawElements.
  • glSecondaryColorPointer and glFogCoordPointer.

OpenGL 1.5 introduced:

  • Buffer objects.

OpenGL 2.0 introduced:

  • glVertexAttribPointer for generic shader attributes. Usable with client-side vertex arrays.
like image 89
Nicol Bolas Avatar answered Dec 21 '22 08:12

Nicol Bolas