This list only includes core entry points; constants and extensions are forthcoming. The commands are categorized according their purpose or “main concern”. Any entry point not listed is deprecated by Appendix E of the OpenGL 3.0 specification. Finally, entry point variants are not listed (f, i, v, etc.) and the “gl” prefix is omitted.
Comments to improve this list or to notify me of factual errors are welcome; the entry will be updated as needed.
Update (2008-09-08): Michael Lucas-Smith posted on his blog a list of forward-compatible OpenGL 3.0 constants. This, combined with my list of forward-compatible OpenGL 3.0 entry points, should help people write future-proof OpenGL code.
Update (2008-10-17): Added TexSubImage* to the list in the texture objects section. Thanks to an anonymous poster for noticing the omission.
Buffer objects
- BindBuffer
- BufferData
- BufferSubData
- DeleteBuffers
- FlushMappedBufferRange
- GenBuffers
- GetBufferParameter*
- GetBufferPointer*
- GetBufferSubData
- IsBuffer
- MapBuffer
- MapBufferRange
- UnmapBuffer
Drawing
- DrawArrays
- DrawElements
- DrawRangeElements
- MultiDrawArrays
- MultiDrawElements
Drawing control
- BeginConditionalRender
- ClampColor
- ClipPlane
- CullFace
- DepthRange
- EndConditionalRender
- FrontFace
- Hint
- LineWidth width larger than 1.0 are deprecated
- PointParameter*
- PointSize
- PolygonMode FRONT_AND_BACK is the only valid face
- SampleCoverage
- Scissor
- ShadeModel
Framebuffer
- Clear
- ClearBuffer*
- ClearColor
- ClearStencil
- ClearDepth
- ColorMask*
- DepthMask
- DrawBuffer
- DrawBuffers
- StencilMask
- StencilMaskSeparate
Framebuffer objects
- BindFragDataLocation
- BindFramebuffer
- BindRenderbuffer
- BlitFramebuffer
- CheckFramebufferStatus
- DeleteFramebuffers
- DeleteRenderbuffers
- FramebufferRenderbuffer
- FramebufferTexture*
- FramebufferTextureLayer
- GenerateMipmap
- GenFramebuffers
- GenRenderbuffers
- GetFragDataLocation
- GetFramebufferAttachmentParameter*
- GetRenderbufferParameter*
- IsFramebuffer
- IsRenderbuffer
- RenderbufferStorage
- RenderbufferStorageMultisample
Miscellaneous
- Disable
- Enable
- Finish
- Flush
Pixel operations
- BlendColor
- BlendEquation
- BlendEquationSeparate
- BlendFunc
- BlendFuncSeparate
- DepthFunc
- LogicOp
- StencilFunc
- StencilFuncSeparate
- StencilOp
- StencilOpSeparate
Pixel read-write
- PixelStore*
- ReadBuffer
- CopyPixels
- ReadPixels
Query objects
- BeginQuery
- DeleteQueries
- GenQueries
- IsQuery
- EndQuery
- GetQuery*
- GetQueryObject*
Shader and program objects
- AttachShader
- CompileShader
- CreateProgram
- CreateShader
- DeleteProgram
- DeleteShader
- DetachShader
- GetAttachedShaders
- GetProgram*
- GetProgramInfoLog
- GetShader*
- GetShaderInfoLog
- GetShaderSource
- IsProgram
- IsShader
- LinkProgram
- ShaderSource
- UseProgram
- ValidateProgram
Shader uniforms
- GetActiveUniform
- GetUniformLocation
- GetUniform*
- Uniform1*
- Uniform2*
- Uniform3*
- Uniform4*
- UniformMatrix2*
- UniformMatrix2×3*
- UniformMatrix2×4*
- UniformMatrix3*
- UniformMatrix3×2*
- UniformMatrix3×4*
- UniformMatrix4*
- UniformMatrix4×2*
- UniformMatrix4×3*
State requests
- GetBooleanv
- GetClipPlane
- GetDoublev
- GetError
- GetFloatv
- GetIntegerv
- GetString
- GetTexEnv* target TEXTURE_ENV is deprecated
- IsEnabled
Texture objects
- ActiveTexture
- BindTexture
- CompressedTexImage*
- CompressedTexSubImage*
- CopyTexImage*
- CopyTexSubImage*
- DeleteTextures
- GetCompressedTexImage
- GetTexImage
- GetTexParameter* all texture border parameters are deprecated, automatic mipmap generation is deprecated, target TEXTURE_PRIORITY is deprecated
- GetTexLevelParameter*
- GenTextures
- IsTexture
- TexEnv target TEXTURE_ENV is deprecated
- TexImage* legacy OpenGL 1.0 internal formats (1, 2, 3, 4) are deprecated
- TexParameter* all texture border parameters are deprecated, automatic mipmap generation is deprecated, target TEXTURE_PRIORITY is deprecated
- TexSubImage*
Transform
- Viewport
Transform feedback
- BeginTransformFeedback
- BindBufferBase
- BindBufferRange
- EndTransformFeedback
- GetTransformFeedbackVaryings
- TransformFeedbackVaryings
Vertex arrays
- DisableVertexAttribArray
- EnableVertexAttribArray
- GetVertexAttribIPointer*
- GetVertexAttribPointer*
- VertexAttribIPointer
- VertexAttribPointer
Vertex array objects
- BindVertexArray
- DeleteVertexArrays
- GenVertexArrays
- IsVertexArray
Vertex attributes
- BindAttribLocation
- GetActiveAttrib
- GetAttribLocation
- GetVertexAttrib*
- VertexAttrib1*
- VertexAttrib2*
- VertexAttrib3*
- VertexAttrib4N*
- VertexAttrib4*
- VertexAttribI*
- VertexAttribI4*
Tags: opengl3

2 comments
Comments feed for this article
Trackback link
http://www.devklog.net/2008/08/23/forward-compatible-opengl-3-entry-points/trackback/
Monday, November 17, 2008 at 15:31 PST
anonymous
Did you miss TexSubImage*?
Monday, November 17, 2008 at 17:03 PST
Jean-François Roy
Quite right, thanks for noticing that.