Talk:OpenGL

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

That illustration[edit]

For the love of God, why you put that irrelevant scheme with a penguin there? Is OGL somehow linux specific? Nooo. So why the hell that crappy irrelevant illustration has been put there? linux guts are NOT of interest for the OGL article. their depictions in no way depict OGL. Jeez, it's way too moronic. crappux zealotry is overflowing. this is just disgusting and totally antiencyclopAEdic. — Preceding unsigned comment added by 188.190.1.60 (talk) 20:16, 6 May 2017 (UTC)[reply]

That image shows an overview of how OpenGL works on Linux systems. I'm not completely sure of the reason, but I think that Linux may have been chosen because a) it's open, so the process by which OpenGL works upon it is completely transparent (as opposed to some other systems), and 2.) it's a fairly well-known system, so people will be able to recognize it. 2600:1700:E4C0:9EA0:D1E1:35BF:9040:9E5B (talk) 22:01, 25 March 2022 (UTC)[reply]

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? 83.25.69.155 (talk) 20:36, 13 May 2009 (UTC)[reply]

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

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. --65.29.104.121 (talk) 07:16, 3 January 2015 (UTC)[reply]

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)[reply]

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

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. 76.197.0.39 (talk) 21:21, 1 January 2012 (UTC)[reply]

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)[reply]

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. --65.29.104.121 (talk) 07:12, 3 January 2015 (UTC)[reply]
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

Example[edit]

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 88.193.60.243 (talk) 06:41, 28 March 2012 (UTC)[reply]

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. 95.144.193.189 (talk) 15:01, 22 September 2012 (UTC)[reply]

"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.

77.101.163.231 (talk) 08:08, 20 October 2012 (UTC)[reply]

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).

https://www.opengl.org/registry/specs/ARB/map_buffer_range.txt

https://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt

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

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

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)[reply]

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)[reply]

Relationship to Apple's Metal API?[edit]

Should there be a mention somewhere about the relationship of OpenGL to Apple's Metal API? Is Metal a complete replacement of OpenGL (meaning "competitor" like DirectX)? Or something that can "work along side OpenGL" - I would presume allowing the main program to directly alter things that OpenGL doesn't allow the main program to do (I don't really know..), or perhaps allowing Apple's much-touted "motion coprocessor" to interact directly with the GPU?

I can't imagine Apple completely dropping OpenGL, because there have to be an large number of scientific visualization and modeling applications out there that aren't just going to drop OpenGL just because Apple has a new API - and are going to continue using new OpenGL features as they are added in the future. (Then again, this is Apple)

Or is Metal being advertised right now as "Apple's Game Rendering Engine". I guess this would create a situation like when (or if) Apple had it's Quickdraw3D and (if) there were also OpenGL extensions available for the classic MacOS? Jimw338 (talk) 17:31, 17 June 2015 (UTC)[reply]

The relationship between OpenGL and Metal as APIs is essentially that they do the same thing: 3D graphics rendering via dedicated GPU hardware. I'm sure that there are news articles out there that mention which features of OpenGL don't exist in Metal or otherwise talk about the differences between the APIs. Writing such a comparison would require finding said articles.
However, note that there is no similar section on Direct3D, despite it being a much longer-time competitor to OpenGL. So you would also need some kind of justification for adding a comparative analysis to Metal here. Unless you want to do comparisons for both.
As for Apple's continued support for OpenGL, I don't believe there are any references for that, so there's nothing you can talk about until there are. Korval (talk) 16:14, 18 June 2015 (UTC)[reply]
Sort of related - the few bits of Apple demo code for Metal that I've looked at look quite complicated compared to OpenGL code I've seen. This suggests that Metal is optimized for getting absolute performance, at the cost of not having OpenGL doing "housekeeping"? Is this a correct assessment? Jimw338 (talk) 15:48, 7 September 2017 (UTC)[reply]

Article too long and technical?[edit]

I feel like this article does not require a long list of added extensions. This information is freely available in more sensible places, such the Khronos website. In addition, the article's layout is unconventional and seems hard to follow. Any opinions on this please? -- Pingumeister(talk) 13:02, 3 January 2017 (UTC)[reply]

Version history seems to be overly detailed. I'll try to put it all in one table and get rid of all extension tables. – K4rolB (talk) 15:25, 30 September 2019 (UTC)[reply]

Nvidia ARBs with OpenGL 2015 and 2016[edit]

See

.[1][2][3][4][5][6] — Preceding unsigned comment added by 95.90.229.210 (talk) 14:26, 25 January 2017 (UTC)[reply]

References

Important Conformant products table ?[edit]

The Khronos Group maintains an extended list of OpenGL-conformant products

See https://www.khronos.org/conformance/adopters/conformant-products#opengl

Also in OpenCL — Preceding unsigned comment added by 95.90.229.251 (talk) 14:59, 28 January 2017 (UTC)[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on OpenGL. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

checkY An editor has reviewed this edit and fixed any errors that were found.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 04:26, 24 May 2017 (UTC)[reply]

FWIW checked=true, a long page with a huge table, where one row claims that OpenGL can be done in C, or similar.84.46.53.102 (talk) 21:51, 22 June 2019 (UTC)[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on OpenGL. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

checkY An editor has reviewed this edit and fixed any errors that were found.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 15:30, 26 July 2017 (UTC)[reply]

Checked=true, but I doubt that the links on the archived Intel page still work. –84.46.53.102 (talk) 21:45, 22 June 2019 (UTC)[reply]

Second reference/citation now redirects to an unrelated page.[edit]

For one, the page now leads to something irrelevant, and secondly, SGI went bankrupt so any archive of said page is probably outdated now. Should we link to this page instead? Lvivtotoro (talk) 12:00, 22 September 2019 (UTC)[reply]

OpenGL Language Version 4.6.7 in july 2019, actual 4.6 API in october 2019[edit]

See https://www.khronos.org/registry/OpenGL/index_gl.php — Preceding unsigned comment added by 2A02:6D40:3485:2101:388D:CF6A:5BC5:17CB (talk) 19:53, 8 December 2019 (UTC)[reply]

Suggested Improvements for OpenGL Article[edit]

I have a few suggested improvements for the article, but I wanted to bring them up on the talk page because they would change or remove large bodies of the text.

  1. More focus pertaining to information pertaining to the specific capabilities of OpenGL and its application in the industry, IE where it is used and where other standards are preferred. Unfortunately, broad coverage of OpenGL outside of the official site and its partners seems to be scarce, and most sources in the article are from Khronos Group themselves. Maybe it's appropriate in this circumstance to use more sources like this one? This is essentially a tutorial/user guide and I wouldn't ordinarily cite it, but its contents have been published and its opening is the closest thing to a secondary source explaining the standard that I've found.
  2. As suggested earlier, the version history is excessively detailed and this information is available readily elsewhere. The chart is useful for broadly understanding the evolution of the package over time, but the write-ups following it don't contribute much to a reader's understanding of the subject and probably aren't necessary. Because they make up such a large portion of the article, however, I wanted to check before attempting to remove them.
  3. Rephrasing of technical details to be more accessible to readers who aren't familiar with computer graphics libraries. For instance, the section "In addition to being language-independent, OpenGL is also cross-platform. The specification says nothing on the subject of obtaining, and managing an OpenGL context, leaving this as a detail of the underlying windowing system. For the same reason, OpenGL is purely concerned with rendering, providing no APIs related to input, audio, or windowing." is good information clarifying what OpenGL does NOT have built in, but it's almost entirely jargon and would not be readily understood by a reader looking to understand what OpenGL is and what it does.

Thank you for reading; input, addition, and criticism is appreciated.

👻NebulousPhantom💬 17:46, 18 March 2021 (UTC)[reply]

Hi, thanks for taking interest in this article. I love your enthusiasm!
I've read your suggestions and I have some thoughts about them. Here they are:
  1. I believe that the article should explain not only what an OpenGL is and what it isn't, but also why it is notable and different from other similar APIs/standards. I think you've got a good point with applications in the industry, although I worry that article could easily become too detailed for a casual reader, especially while describing specific capabilities. Thread carefully. The writeup you linked is preaty neat, as matter of fact. Still, I would prefer not to use it since it's self-published. There are a lot of results in Google Books and Google Scholar just for example. Some could be used.
  1. I have a different vision about those write-ups. I think they shouldn't bother the reader with excessive changelogs, that part should be lightly described in the table. I think those write-ups should provide a history of the project itself. I think that the second part of the Longs Peak and OpenGL 3.0 section does exactly that. If nothing is to be said about a version history, then it should be removed.
  1. I fully agree with this point. The article has a serious issues with being too technical and too hermetic for a casual reader.
Thanks for reading. – K4rolB (talk) 20:05, 18 March 2021 (UTC)[reply]

Is OpenGL really inactive?[edit]

I noticed that the template for the Khronos Group standards listed OpenGL as being "inactive". I was aware that development on it had generally stagnated since the creation of Vulkan, but I didn't think that it was inactive—there are, after all, plenty of applications still using it. So is it truly inactive, or just dormant for a bit? 2600:1700:E4C0:9EA0:D1E1:35BF:9040:9E5B (talk) 22:03, 25 March 2022 (UTC)[reply]

Article needs fact checking and proofreading[edit]

Hello all. I checked the page for a quick reference a few times lately, and every time I did, I spotted an inaccuracy of one sort or another (just now corrected one more) – which means there might be many more inaccuracies which are still there. Since the page seems to be regularly maintained, and I'm by no means an OpenGL expert, perhaps it make sense to make a concentrated effort to check here all facts, dates etc.? 188.66.33.83 (talk) 06:29, 3 June 2022 (UTC)[reply]

MoltenVK is no longer "proprietary"[edit]

MoltenVK is now open-source (and has been for some time) at [1]KhronosGroup/MoltenVK

it is now maintained by the Khronos Group Eteled286 (talk) 21:39, 21 September 2022 (UTC)[reply]

Ok, but the statement in the article is about MoltenGL which is proprietary. MrOllie (talk) 22:41, 21 September 2022 (UTC)[reply]
Oh, I just re-read the sentence and it makes sense, but IMO "authors of MoltenVK" should be changed to "original authors of MoltenVK" - or maybe not, idk Eteled286 (talk) 20:14, 29 September 2022 (UTC)[reply]