SGI and the Khronos Group published a new license for OpenGL. “The license, which now mirrors the free X11 license used by X.Org, further opens previously released SGI graphics software that has set the industry standard for visualization software and has proven essential to GNU/Linux and a host of applications.” New new license is shorter than the the FreeB license in version 1.1, which wasn’t an Open Source license.
Some how, every time a company is about to die it releses its code under the GPL license.
Not a surprise since DirectX has been the king of graphics for programmers.
OpenGL isn’t dying, that’s for sure. Why? Because DirectX (D3D specifically) exists only for Windows. OpenGL is an open protocol and as such it has been ported to dozens of platforms, including even mobile phones. Also lots of the high-end CAD applications and modeling tools use OpenGL.
As long as D3D isn’t available for any other platform than Windows then it will never be able to push OpenGL completely off the board.
As for OpenGL’s merits..well, I can’t really compare as I have never done any D3D programming but I find OpenGL a pretty solid protocol and quite pleasurable to work with.
True, opengl is still alive and kicking. The difference in features with directX is minimal.
Anyway, concerning games, nowadays, unless you’re re-creating your own 3d engine, you will probably use (licence) an existing 3d engine with a higher level api and never deal directly with opengl or directx wich are more a hardware interface than something that helps making applications (think scene management, animation techniques, effects, camera/screen management, capabilities management etc.).
See http://www.ogre3d.org for an example of current 3d engine (not to mix up with a game engine). It can use opengl or directx via pluggable renderers and thats transparent for the programer (and the user).
Some closed source engines are like that too, for example, Renderware was indifferently using opengl or directx, depending on what was the best for the platform.
See http://www.ogre3d.org for an example of current 3d engine (not to mix up with a game engine). It can use opengl or directx via pluggable renderers and thats transparent for the programer (and the user).
Speak of the devil, I just recently had a look at it and decided to learn to use Ogre properly. It seems pretty powerful, is all C++ (though there’s several bindings for other languages out there, too) and there’s a few commercial games out there also that are using Ogre for their 3D. Just pop OpenAL and libSDL in addition to Ogre and you have mostly everything you need to write your own game engine, with support for both OpenGL and D3d if you so wish.
GNU GPL is the #1 license by far used in the free and open source world. However X related software have been using the more permissive MIT X11 license and OpenGL is now under this license (effectively) rather than GPL.
OpenGL is still the best solution for cross platform vendor neutral royalty free graphics and not just for games but for CAD/CAM applications as well.
Distributions have been aware of this issue and it would have been quite bad if SGI hadn’t done what they did. So good job SGI!
(emphasis mine in above quote)
WRONG. DirectX has been the king of GAMES. Most professional graphics packages still use OpenGL due to its cross-platform ability.
Each has strengths. DirectX seems to have moved forward a lot quicker due to support from hardware manufacturers (which is in part due to MS keeping the spec up to date with technology).
OpenGL does lag behind in terms of what current hardware supports, however it should not be overlooked. For example any 3D software for a platform other than windows will use OpenGL. Its still a strong API. Plenty of games still use it too, for example doom 3 (i’m sure there are more recent examples but i’m not much of a gamer).
What exactly does OpenGL lack when it comes to hardware support? When ATI or nVidia release a new piece of silicon, why is it that the demos showcasing the new features are always written in OpenGL? Ever hear of OpenGL extensions? 6 months later, and Direct X may get the feature if ATI/nVidia loby Microsoft enough for it.
So tell me again why you believe that OpenGL doesn’t support the latest features implemented in silicon?
What exactly does OpenGL lack when it comes to hardware support? When ATI or nVidia release a new piece of silicon, why is it that the demos showcasing the new features are always written in OpenGL? Ever hear of OpenGL extensions? 6 months later, and Direct X may get the feature if ATI/nVidia loby Microsoft enough for it.
Vendor-specific extensions is not the same thing as having something supported by the OpenGL spec itself. Vendor-specific is exactly that, vendor-specific. I am not aware of what specifically is lacking but I also have heard OpenGL is lagging _slightly_ behind. However, they also seem to be trying to catch up, they are starting to deprecate old features and are planning to release a new version shortly (~6 months, according to them). They’ll probably try to catch up with the few lagging features after that.
Btw..doesn’t DX also support vendor-specific extensions..?
Well there are still things that opengl can do that DirectX can’t touch due to its focus. Because Opengl was written with more professional means in mind (then adapted for gaming by Carmack and gang), the api has supported features which you used to only see really expensive hardware accelerate, the software renderer could support them. Its a very powerful api and even though I would like see a better response time form the Khronos group I think they are moving in the right direction.
OpenGL isn’t going away. In my opinion DirectX has a hold on the computer games market mainly due to the fact that windows IS the computer games market and also that initially the DirectX framework encompassed everything you needed to make a game for the pc, while OpenGL only supplies accelerated 3d graphics. However, when it comes to 3d content creation/design OpenGL is THE standard.
Maya – OpenGL
XSI – OpenGL
3D Studio Max – OpenGL/Direct3D
Lightwave – OpenGL
Modo – OpenGL
Blender – OpenGL
Maxon Cinema 4d – OpenGL
Autocad – OpenGL/Direct3D
Rhinoceros 3D – OpenGL
Mudbox – OpenGL
ZBrush – Software Renderer
MotionBuiler – OpenGL
Wrong. Just go to the ATI and NVidia developer portals and look for the amount of DirectX and OpenGL provided samples. You will see that DirectX wins.
Many NVidia products for developers still lack support for GLSL, just to give an example.
“Plenty of games still use it too, for example doom 3 (i’m sure there are more recent examples but i’m not much of a gamer).”
Grand Theft Auto 4, Bioshock, Call of Duty 4, Far Cry 2, Gran Turismo 5, etc etc. For more brevity: basically any game running on the Playstation 3.
Games using it on the OC are becoming a little sparse, unfortunately. But the Playstation 3 shows that Opengl need not lack too badly in the looks department.
Also wrong.
When PS3 came out. The available graphics API was OpenGL ES with CG as shading language.
Currently there is the possibility to use a lower level access to the graphics system, and on top of that, Sony released a new middleware API for PS3.
Game developers always use the best API for the target system. Portability comes on 2nd place.
Sorry, wrong. Basically no PS3 game uses vanilla OpenGL|ES as provided by Sony in the SDK. Some titles have used it for non-intensive rendering (things like HUD overlays, GUIs and menu screens), but most everyone prefers the thinner API Sony provides for intense rendering, as it provides the best performance and is more flexible in mapping to their own high-level engines. When you have your own high-level construct in place, you have access to low-level internals of the hardware, and the payoff is increased performance over several years company-wide (plus licensees), then it makes no sense having a middle-man API in between which doesn’t map as well as you’d like to either the high-level construct or the low-level hardware details.
All that said, for those few games that don’t push the envelope and don’t have to be so diligent about performance (by design, rather than lazy programming) OpenGL|ES makes plenty of sense. I only wish Sony would finally provide an ES 2.0 implimentation.
For those who have said OpenGL does not lag Direct3D, I ask you this: How long did it take GL itself (not extensions) to adopt proper vertex buffers after DirectX had done so? The problem with extensions is that for some period of time, you must have separate rendering paths for each extension you support and for some combinations of extensions, and you must maintain this for some time even after, if ever, the extension is adopted into the mainline.
Direct3D doesn’t have this problem because Microsoft takes a more-active role in defining the standard. The process of defining the next Direct3D API is akin to binding arbitration — the stake-holders are all brought in, experts are consulted, and Microsoft has the final say about what’s in and what’s out. With OpenGL its a little more akin to a group discussion where no one has any real power to lay down the law. Its a benevolent dictatorship vs a (largely bickering) republic. Merits of a more self-directed society aside, the former is certainly more effective at getting things done.
Direct3D simply dominates consumer 3D software and is becoming increasingly preferred in professional software where modern features outweigh “Don’t touch it! Its worked fine for 20 years!” syndrome.
In fact, the “Don’t touch it!” crowd is what has been holding the OpenGL API back in terms of features the average-consumer would benefit from for many years (games, realistic modeling, and computation). Great, drastic changes were planned for both OpenGL 2.0 and 3.0, and both times those great plans were castrated by those not wanting drastic change to the API (read that as CAD/CAM developers with large, long-standing products) — I don’t blame them for not wanting to undertake such an endeavor, but the effect of their influence is that OpenGL is loosing mind-share and new products in favor of making the lives of a few rich old men easier.
OpenGL 3.0, at least, has taken some important steps to eliminate cruft and separate market concerns in the future. Firstly, there is a mechanism in place to deprecate portions of the API now — of course, we’ll see how diligent they are about enforcing deprecation and removal in conforming implementations… They’ve also indicated that they realize there are separate market concerns and that in the future there will exist several “profiles” grouping different capabilities, for gaming, CAD/CAM, computation — Similar to the profiles in OpenSL or the Safety Critical subset of ES 1.1 for medical, avionics and other potentially life-or-death applications.
Frankly, I wouldn’t mind seeing traditional desktop openGL being relegated to the land of academia, legacy and CAD/CAM software, and a “new” consumer-focused API born of OpenGL ES to take its place. Simply taking ES 2.0 as a base, making fixed-point support a “profile” and creating a new profile to bring its features up to date with desktop hardware wouldn’t be a bad start at all.
Where does it say that it is being released under GPL? Please point me to it as I don’t see explicit reference to it.
From opengl.org
Demo: http://www.youtube.com/watch?v=brG3-yyvv9Q
Similar stuff from SIGGRAPH 2008
http://fireuser.com/siggraph2008