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.

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*
  • TexParameter* all texture border parameters are deprecated, automatic mipmap generation is deprecated, target TEXTURE_PRIORITY is deprecated

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*

It’s a good read, with some interesting nuggets of information about how Blizzard works internally.

http://www.businessweek.com/innovate/content/aug2008/id20080820_123140.htm

The Khronos Group has posted the SIGGRAPH 2008 OpenGL BoF slides. Below are the links to the presentations, in order:

  1. Introduction OpenGL SIGGRAPH BOF Aug08.pdf
  2. OpenGL 3.0 Overview SIGGRAPH BOF Aug08.pdf
  3. Shading Language SIGGRAPH BOF Aug08.pdf
  4. Blizzard SIGGRAPH BOF Aug08.pdf
  5. Extensions SIGGRAPH BOF Aug08.pdf
  6. Ecosystem SIGGRAPH BOF Aug08.pdf
  7. Vendor Announcements SIGGRAPH BOF Aug08.pdf
  8. OpenCL and OpenGL SIGGRAPH BOF Aug08.pdf
  9. gDEBugger SIGGRAPH BOF Aug08.pdf
  10. GPC SIGGRAPH BOF Aug08.pdf
  11. MARTZ SIGGRAPH BOF Aug08.pdf
  12. Book Update SIGGRAPH BOF Aug08.pdf

Enjoy!

Excellent read (from opengl.org):

After testing an approach that would have a drastic effect on the API, requiring complete OpenGL application rewrites and not introducing any of the long awaited features modern GPUs are capable of, the choice was made to give programmers what they are really waiting for. And that’s new features now. GL 3.0 takes two important steps to moving open standard graphics forward in a major way. The first is to provide core and ARB extension access to the new and exciting capabilities of hardware. The second is to create a roadmap that allows developers to see what parts of core specifications will be going away in the future, also providing the OpenGL ARB with a way to introduce new features faster.

http://fireuser.com/blog/opengl_30_a_big_step_in_the_right_direction/

From his blog:

The OpenGL BoF went really well, I think. Nobody showed up with torches or pitchforks. Of course, the free beer may have helped. The most useful part of it for me was the mingling period after all the presentations. I talked with quite a few people and, contrary to the /. reports, nobody was furious. Whew!

He also talks about some SIGGRAPH sessions he attended, with links to relevant papers.

Thanks to people like him and Rob Barris diligently working on the OpenGL forums, this whole storm-in-a-glass should be over soon, and we can then start focusing on the new interesting stuff and what’s coming in less than a year.

As seen on the OpenGL forums:

A representative from AMD indicated that they are targeting Q1 2009 for a complete 3.0 release, with some number of betas expected between now and then. It was also pointed out that they are planning to implement the GL3 extension pack (geom shader, texbo, instancing).

I hope the pessimists are taking notes.

If you are running Windows XP or Windows Vista and you have NVIDIA hardware, you can now download beta drivers with Open GL 3.0 support.

That was pretty fast, wasn’t it?

http://developer.nvidia.com/object/opengl_3_driver.html

In my previous entry, I linked to a new post on Timothy Farrar’s blog where links to a few SIGGRAPH ‘08 papers. One of them was written by Dominic Filion and Rob McNaughton of Blizzard Entertainment about certain details of the StarCraft II engine.

This paper is interesting beyond the technical content because Blizzard has not been a frequent source of papers in the computer graphics industry, despite their dominant position. With their involvement in the OpenGL Working Group, is this a sign Blizzard intends to be more active in industry groups and academia? Certainly something to keep track of.

http://ati.amd.com/developer/SIGGRAPH08/Chapter05-Filion-StarCraftII.pdf

Timothy Farrar has more good information on ATOM about certain features still missing from the core OpenGL 3 specification. It’s a good read, and with bonus links to interesting SIGGRAPH 08 papers.

http://www.farrarfocus.com/atom/080813.htm

From The Register:

Neil Trevett, president of the cross-industry Khronos Group leading OpenGL, told The Reg on Tuesday that his consortium hoped to start the process of streamlining OpenGL with version 3.1.

Trevett also personally hopes OpenGL 3.1 can be delivered in six months’ time, as opposed to the two years it took to craft 3.0, which was released on Monday.

The key to delivering the changes is the introduction of a deprecation mechanism for the first time in OpenGL’s 16-year history with this week’s release.

The rest of the article isn’t as interesting and basically repeats the flamebait I have already blogged about. I should also point out that the article’s title implies gamers have revolted. This is obviously completely off mark; gamers are people who play games, not people who make games, and the former group certainly couldn’t care less how games work, so long as they are pretty, fun and perform well on reasonable hardware.

« Older entries