From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing (Rated B-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
B-Class article B  This article has been rated as B-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.

developed by[edit]

how is ogl being developed by SGI? i believe info in info box should read 'khronos', and SGI, ARB or whatever historical involvnemt should be mentioned somewhere in text, no? (talk) 20:36, 13 May 2009 (UTC)

Does not OpenGL stand for Open Graphics Language? (compare IrisGL). /Mikael —Preceding unsigned comment added by (talk) 08:26, 26 October 2009 (UTC)

OpenGL was originally developed by SGI, but they then formed the OpenGL group to manage the standard, which then became Khronos. As a note, IrisGL is a 2D standard, not a 3D one. -- (talk) 07:16, 3 January 2015 (UTC)

Does OpenGL stand for Open Graphics Library?[edit]

I cannot find a reference that OpenGL actually stands for Open Graphics Library. Is it possible that OpenGL is simply a name by itself, and does not stand for anything? --Jephir (talk) 02:31, 8 May 2010 (UTC)

Ah, found it, it's in the OpenGL specification. --Jephir (talk) 02:36, 8 May 2010 (UTC)

Example needs info on how to run[edit]

The Examples section would benefit by explaining how one might actually try out the example code. Is there an OpenGL interpreter or compiler to execute the code? Or how would one submit that code to their graphics card? I suspect there are many answers to these questions, but a simple explanation of where to look would be apropos. (talk) 21:21, 1 January 2012 (UTC)

Add section on noteworthy implementations[edit]

I think a section on noteworthy implementations should be added -- preferably in a tabular format which includes entries with project name, developers, platforms it works on, GL compliancy level etc. For example

Project Developers Platforms OpenGL APIs Status
Mesa3d Mesa3d developers X11, Windows, Mac OS X, OS independent, others 2.1 Active
nVidia drivers nVidia Windows, Linux/X11, Mac OS X 4 Active
ATI drivers ATI/AMD Windows, Linux/X11, Mac OS X 4 Active

Please note that the above information is not likely to be completly accurate. FrederikHertzum (talk) 20:40, 12 December 2010 (UTC)

Well, Mesa3D now supports up to 3.3 with partial 4.x extensions. This goes for both the software LLVMPipe driver and the various hardware drivers, limited by hardware capability. Additionally, Mesa now supports KMS/GLE FrameBuffer video instances as well as X11 on Linux, BSD and similar platforms. They have an active roadmap for the 4.x transition, and are currently the only driver that removes the depricated GLSL functions outside of compatibility contexts. This is a major noteworthy point, as nVidia has stated that they have no interest in doing the same, and even plan to continue optimizing the depricated functions. As of version support, both nVidia and AMD drivers support 4.4 in stable and 4.5 in unstable. They can be generalized as being 4.x implementations for the sake of simplicity and reducing the frequency of updates. As a note, AMD and nVidia have separate OpenGL implementations for mobile. These focus on OpenGL ES2/ES3 API performance even though they also support the OpenGL 4.x API as well. The primary difference is that the Linux and Android Mobile implementations don't require X11 or GLX. -- (talk) 07:12, 3 January 2015 (UTC)
An updated chart as well
Project Developers Platforms Supported Hardware OpenGL API Version Status
Mesa3d Mesa3d developers X11-GLX, KMS/GLE-Framebuffer, Win32, Win64, Other Windows, Mac OS X, OS independent, others AMD/ATI, nVidia, Intel GMA, Software Rendering. 3.x w/4.x extensions (Hardware dependent) Active (Legacy drivers for other hardware unmaintained)
nVidia drivers nVidia Win32, Win64, Linux/X11-GLX, Mac OS X nVidia graphics chips 4.x (Legacy drivers 3.x/2.x) Active
AMD "Catalyst" drivers AMD Win32, Win64, Linux/X11-GLX, Mac OS X AMD/ATI Graphics Chips 4.x (Legacy drivers 3.x/2.x) Active


Could someone more knowledgeable of OpenGL devise a better, non-deprecated, helloworld-style example? I quickly looked at some of the more popular tutorials and their first examples are 200 lines of code, which kinda doesn't fit here imho. Anyways imho immediate mode code is not representative of modern OpenGL and it should either be revised or removed (talk) 06:41, 28 March 2012 (UTC)

I've removed the example altogether. Deprecated code seems a bit too misleading, and it's not possible to write a concise-but-complete example using only the non-deprecated API. An example of the API could be pretty informative, but I can't come up with any code fragments which wouldn't be completely opaque to a casual reader (eg, binding and modifying a texture object).
One alternative could be a section which describes the API in general terms - language-agnosticism, the difference between glColor3f and glColor4ub, the object-generation-and-binding system, the fact that state changes tend to carry a high performance cost and strategies used to avoid this, etc. (talk) 15:01, 22 September 2012 (UTC)

"Written in" section of the sidebar[edit]

I deleted the "written in" note a couple of weeks ago, but it's been restored with a reference. I'm deleting it again, and thought I'd better explain why.

OpenGL is explicitly not written against any single language (the specs don't even use function signatures and tokens which match the C binding). The version 4.3 spec only mentions C a few times, and only ever in the context of a "language binding". On page 10: "Languages such as C++ and Javascript ... permit language bindings with simpler declarations". Seems pretty clear-cut that C doesn't have any special status, from the spec's perspective.

The source cited seems pretty dubious. No references are given, and "OpenGL" could refer to Mesa3D, the OpenGL binding for Windows, the most commonly-used bindings, most OpenGL drivers, etc.

The entry could be replaced with something like "Written in: Multiple languages", but that seems sort of misleading. I think OpenGL's language-agnosticism is best represented by removing the entry altogether. (talk) 08:08, 20 October 2012 (UTC)

APPLE_flush_buffer_range in GL3?[edit]

I'm pretty sure what made it into OpenGL 3.0 was GL_ARB_map_buffer_range. The ARB extension borrows a little from Apple's earlier flush_buffer_range extension, but the final GL3 spec matches the newer ARB extension more closely (notably: it offers glMapBufferRange() like the ARB extension and not glBufferParameteri() like the Apple extension).

(EDIT: er, specifically, the ARB extension says it's a subset of the 3.0 functionality, made available for pre-3.0 maybe the reference to APPLE_flush_buffer_range is correct as-is.)

Ryancgordon (talk) 03:23, 14 March 2014 (UTC)

DSA same as D3D12/Mantle[edit]

I removed the following text from the GL 4.5 section on DSA:

effectively the equivalent of the same capability from DirectX 12 and AMD's Mantle

The referenced article makes no such claim about DSA. The ArsTech article states that DSA is a feature D3D has had for years, but nowhere does it call it the equivalent of D3D12 or Mantle.

Korval (talk) 20:48, 17 January 2015 (UTC)

DSA is only mentioned as an example of AZDO in OpenGL (Approaching zero driver overhead). With AZDO being the equivalent to the goals of D3D12 and Mantle. Besides DSA other features used by AZDO are the indirect and batched rendering calls that have been in OpenGL much longer.Carewolf (talk) 13:06, 19 January 2015 (UTC)