Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
OpenGL
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Longs Peak and OpenGL 3.0=== Before the release of OpenGL 3.0, the new revision had the codename [[Longs Peak]]. At the time of its original announcement, Longs Peak was presented as the first major API revision in OpenGL's lifetime. It consisted of an overhaul to the way that OpenGL works, calling for fundamental changes to the API. The draft introduced a change to object management. The GL 2.1 object model was built upon the state-based design of OpenGL. That is, to modify an object or to use it, one needs to bind the object to the state system, then make modifications to the state or perform function calls that use the bound object. Because of OpenGL's use of a state system, objects must be mutable. That is, the basic structure of an object can change at any time, even if the rendering pipeline is asynchronously using that object. A texture object can be redefined from 2D to 3D. This requires any OpenGL implementations to add a degree of complexity to internal object management. Under the Longs Peak API, object creation would become [[Linearizability|atomic]], using templates to define the properties of an object which would be created with one function call. The object could then be used immediately across multiple threads. Objects would also be immutable; however, they could have their contents changed and updated. For example, a texture could change its image, but its size and format could not be changed. To support backwards compatibility, the old state based API would still be available, but no new functionality would be exposed via the old API in later versions of OpenGL. This would have allowed legacy code bases, such as the majority of [[Computer-aided design|CAD]] products, to continue to run while other software could be written against or ported to the new API. Longs Peak was initially due to be finalized in September 2007 under the name OpenGL 3.0, but the Khronos Group announced on October 30 that it had run into several issues that it wished to address before releasing the specification.<ref>{{cite web|url=http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=229374#Post229374|title=OpenGL ARB announces an update on OpenGL 3.0|date=October 30, 2007|access-date=October 31, 2007|archive-date=November 7, 2007|archive-url=https://web.archive.org/web/20071107050010/http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=229374#Post229374|url-status=dead}}</ref> As a result, the spec was delayed, and the Khronos Group went into a [[media blackout]] until the release of the final OpenGL 3.0 spec. The final specification proved far less revolutionary than the Longs Peak proposal. Instead of removing all immediate mode and fixed functionality (non-shader mode), the spec included them as deprecated features. The proposed object model was not included, and no plans have been announced to include it in any future revisions. As a result, the API remained largely the same with a few existing extensions being promoted to core functionality. Among some developer groups this decision caused something of an uproar,<ref>{{cite web|url=http://tech.slashdot.org/article.pl?sid=08/08/11/2135259 |title=OpenGL 3.0 Released, Developers Furious β Slashdot |date=August 11, 2008 |publisher=Tech.slashdot.org |access-date=November 7, 2012}}</ref> with many developers professing that they would switch to [[DirectX]] in protest. Most complaints revolved around the lack of communication by Khronos to the development community and multiple features being discarded that were viewed favorably by many. Other frustrations included the requirement of DirectX 10 level hardware to use OpenGL 3.0 and the absence of geometry shaders and instanced rendering as core features. Other sources reported that the community reaction was not quite as severe as originally presented,<ref>{{cite web|url=https://www.opengl.org/news/opengl_bof_went_over_well_no_pitch_forks_seen|title=OpenGL BOF went over well, no pitch forks seen}}</ref> with many vendors showing support for the update.<ref>{{cite web|url=https://www.opengl.org/news/nick_haemel_amd_blog_post_opengl_30_a_big_step_in_the_right_direction/ |title=The Industry Standard for High Performance Graphics |publisher=OpenGL |date=August 18, 2008 |access-date=July 31, 2017}}</ref><ref>{{cite web|url=https://www.opengl.org/news/nvidia_provides_early_opengl_30_driver_now|title=NVIDIA provides early OpenGL 3.0 driver now}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)