OpenGL 4.0 Spec Released
tbcpp writes "The Khronos Group has announced the release of the OpenGL 4.0 specification. Among the new features: two new shader stages that enable the GPU to offload geometry tessellation from the CPU; per-sample fragment shaders and programmable fragment shader input positions; drawing of data generated by OpenGL, or external APIs such as OpenCL, without CPU intervention; shader subroutines for significantly increased programming flexibility; 64-bit, double-precision, floating-point shader operations and inputs/outputs for increased rendering accuracy and quality. Khronos has also released an OpenGL 3.3 specification, together with a set of ARB extensions, to enable as much OpenGL 4.0 functionality as possible on previous-generation GPU hardware."
Any chance the patent problems of OpenGL 3 have been fixed?
Please help publicise swpat.org - the software patents wiki
To give an idea to non-OpenGL developers, OpenGL 4.0 closes the feature gap with Direct3D11. If you want to use OpenGL 4.0 you need to wait a couple of weeks before drivers will be out. In case of Nvidia, the drivers will be launched together with their new GTX4*0 GPUs which are the first Nvidia GPUs with Direct3D11/OpenGL 4.0 support. AMD might release new drivers before Nvidia since their hardware is Direct3D11 capable already.
Since graphics cards are marketed with the DirectX version they support: OpenGL 4.0 = DirectX what?
Yeah, that's why Valve just ported their games to Mac, which only supports OpenGL.
Because it's DOA for anything but "PRO GAMERZ."
Mod me down, my New Earth Global Warmingist friends!
DirectX won, because it does sound and HID input handling, and because its on every PC sold to every mouthbreathing, Best Buy shopping, banana eating customer.
I wouldn't be so quick to say that DirectX won. The xBox 360 is the only current generation console which uses DirectX.
My life is finally complete. ;-)
Is there one now or on it's way? Im only interested in the non fixed pipeline api part.
DirectX won, because it does sound and HID input handling, and because its on every PC sold to every mouthbreathing, Best Buy shopping, banana eating customer.
OpenGL is used on PS3, linux and OS X. It is also used on any game in windows that is cross platform compatible where they did not bother implementing a DirectX engine. Every platform now has HID handling and you can use OpenAL if you want to have the same sound effects engine on windows, OS X and possibly linux.
Now that Valve is porting Steam and related games to OS X and consequently OpenGL, expect to see more activity surrounding OpenGL.
Jesus was a compassionate social conservative who called individuals to sin no more.
thats not what Valve said
Except they didn't drop DirectX support from their games or engine. Their engine just now supports both DirectX and OpenGL.
and you can use OpenAL if you want to have the same sound effects engine on windows
Especially Windows Vista and 7 since DirectSound acceleration doesn't exist anymore LOL
consoles don't count.
OpenGL is used on PS3, linux and OS X.
So the loser of the next-gen console wars and two OSes with minority market shares? zOMG SUCCESS!!
And before I get modded down by someone missing the point of my comment, there are much better examples to show that OpenGL has won over Direct3D than the poor examples used by the person above.
> it's not a practical concern.
According to the references linked from that en.swpat.org page, it seems the developers of the free software Mesa project think it's indeed a practical concern.
Please help publicise swpat.org - the software patents wiki
Added to that, OpenGL ES, which is almost a direct subset of OpenGL (it adds a couple of things, but you can quite easily write code that is both valid OpenGL ES and OpenGL), is present on almost all mobile devices. If you want to write a 3D app or game that runs on a mobile phone, you use OpenGL ES. I think Wince has a DirectX implementation of some kind, but it has such a tiny market share that it's largely irrelevant.
OpenAL is also cross-platform; there's a software-only implementation that runs very nicely on Linux, *BSD, and Solaris; it's not just Windows and OS X. Creative provides OpenAL acceleration on a few other platforms, but I don't think anyone else does - there's not really much point these days in offloading sound processing, CPUs are more than fast enough.
I am TheRaven on Soylent News
DirectX is only on a couple of platforms, all of them created by Microsoft. Sure just one of those platforms grossly outnumbers all of the OpenGL platforms.
(OpenGL ES is not really OpenGL, so you can't count the millions of GLES enabled cell phones)
Modern OpenGL (3+) has it's roots in OpenGL ES. Many of the changes and cleanups happened in OpenGL ES first and were later applied to OpenGL.
So you really should count OpenGL ES.
Mod me down, my New Earth Global Warmingist friends!
consoles don't count.
Why?
Because nobody develops graphic software for consoles?
DirectInput, DirectSound and Direct3D don't require each other. You can replace any of these components without affecting the others.
And I've yet to see a PC that doesn't support OpenGL.
And why so dismissive of Pro gear? This is a decent sized market.
Heh, actually I wrote 80% of Direct3D for PS3 when I was porting a game across. It only took a couple of weeks. I wouldn't be surprised if others have done the same ... having the same API on all three major platforms is a boon.
Of course, my employer then decided to add an abstraction layer on top of that ... even though the abstraction layer was the same on all platforms ... go figure.
Well even using the PS3 as an OpenGL platform is somewhat inaccurate because what PS3 runs is a derivative of OpenGL ES and Nvidia's CG programming language. But if you wanted to show that OpenGL has won, you can easily point to every Windows box as it's pretty much impossible to find a video driver these days that doesn't have OpenGL support.
You mean other than the fact that what the PS3 and Wii run aren't really OpenGL but proprietary derivatives of OpenGL ES?
"there are much better examples to show that OpenGL has won over Direct3D than the poor examples used by the person above."
Not to an average joe, who wouldn't give two flying fucks about your latest CAD program.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
WRONG.
OpenGL ES 1.1 is defined relative to the OpenGL 1.5 specification and emphasizes hardware acceleration of the API, but is fully backwards compatible with 1.0.
In fact, most of the changes to ES happened in GL first.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Given that the PC gaming market is really a joke compared to the console market I think DirectX is really rather meaningless.
When the Top 50 selling games world wide contains only 3 PC games The Sims, World of Warcraft, and Starcraft it's time to say that DirectX for the PC is over rated.
Since the Wii and PS3 use a custom modified version of OpenGL for their hardware I'd also have to side with OpenGL as at least being relevant to professional games.
How does one get into using OpenGL?
Anyone have some links to tutorials? I'm ok with C++, and would be willing to learn a different language if it will let me play around with cross platform game dev.
Any references and help would be great.
Not to an average joe, who wouldn't give two flying fucks about your latest CAD program.
Who the fuck was talking about CAD? All you have to do is point them to mobile phones and Windows. Both are vastly huger OpenGL platforms than the PS3 and either Linux or Mac OS X could ever hope to be.
Wow, you have no idea what you're talking about, no ? OpenGL ES 2.0 drastically cut on what was exposed from ES 1.1. It took that turn because programmability is not really the same model as fixed function (something GL 2.0 tried to hide). Now... Wait a bit, and suddenly, GL 3.1 comes and deprecates stuff. What exactly ? have a look at the list of things that got removed for ES 2.0 to find out (and yes, this is an exageration).
If directx hasn't won, why do people always talk about how with every new release of opengl it closes the gap or implements features that directx has already had. If opengl was winning don't you think that microsoft would be trying to implement features into directx that opengl had for a while? The headlines would be directx 11 finally implements octoplet skin mapping a feature found in opengl 3.for over a year.
Most Average joes don't give a fuck about 3d acceleration on phones. Just speaking as one that used to sell phones to other average joes. They care that it plays their mp3s, makes their phone calls, and lets them send sms to their naughty little bitch, NOTHING ELSE.
You're a moron - direct from the OpenGL ES page:
"OpenGL ES 2.0 is defined relative to the OpenGL 2.0 specification"
As in OPENGL CAME FIRST, ES GETS DEFINED BY GL.
Clearly stated directly on the front fucking page of ES.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
DirectX is indeed widely used on Windows, since it handles more things. OpenGL handles just graphics, but is cross-platform; with SDL it's close enough to DirectX that it's often used. And of course you could use OpenGL for graphics and DirectX for everything else.
I like the current situation where the two coexist and force each other to evolve to stay competitive. It's a bit like AMD forced Intel to get off its ass and make good and cost-effective processors again. We'll see if NVidia is able to respond to ATI/AMD's challenge too; but at least we won't see similar stagnation as with 3Dfx after initial Voodoo.
The only good thing about capitalism is that competition forces companies to get off their ass and evolve. A pity it doesn't work anywhere except the tech sector.
Forget magic. Any technology distinguishable from divine power is insufficiently advanced.
"OpenAL is also cross-platform; there's a software-only implementation that runs very nicely on Linux, *BSD, and Solaris; it's not just Windows and OS X"
OpenAL is built into both OS X (since Tiger) and the iPhone OS (it is the recommended way of doing game/positional audio) and a Google search suggests Creative supports Windows.
Yes, that's what I said...
I am TheRaven on Soylent News
And they supposedly will care about 3d acceleration anywhere else? Why the fuck has this boiled down to what an average joe thinks? The point remains that the examples used above are piss poor examples of OpenGL winning for a number of reasons.
No well-optimized PS3 game uses the shitty OpenGL implementation. Most games construct native GPU execute buffers directly and write to the mapped GPU registers to submit work (via the "libgcm" library). You can instantly double your frame rate doing this.
In fact, many actual developers did develop OpenGL engines, and had to re-write them, because of Sony's ridiculous PR on this matter.
Some citations will help your argument.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
If directx hasn't won, why do people always talk about how with every new release of opengl it closes the gap or implements features that directx has already had.
DirectX wins when this stops happening.
Also, don’t forget, that mobile computers (phones, game consoles, etc) exclusively use OpenGL (ES). So porting games between them is much nicer if you start with OpenGL.
And OpenGL has an interface for pretty much every language known to man. Python, Perl, Object Pascal, Java, OCaml, even Haskell!
And for all those languages, nobody wants to implement a DirectX wrapper library. Since you can’t use it on any platform other than Windows anyway. And so it’s an annoying waste of time.
In the long run, DirectX will go the way of Internet Explorer 6.
Any sufficiently advanced intelligence is indistinguishable from stupidity.
And even the XBox 360 doesn't use DirectX's sound or input APIs...
and you can use OpenAL if you want to have the same sound effects engine on windows
Especially Windows Vista and 7 since DirectSound acceleration doesn't exist anymore LOL
Yeah, sound processing is really quite intensive for a modern computer with some cores lying mostly unused by most video games even without sound turned on.
Brian Fundakowski Feldman
Can I use version 3 if I need to support older cards, for example by checking support and not using unsupported features? Or am I stuck with OpenGL 1.1 and extensions in that case?
Actually it does, it's just that people only know of older APIs (DirectInput & DirectSound). Newer versions of DirectX also include XInput and XAudio, which are the same both on PC and on Xbox (and, presumably, on other future MS "game-enabled" platforms).
Having the API retain state is a fundamentally bad idea. As one overview points out, "Nearly all of OpenGL state may be queried". (emphasis added)
It would be much better if there were OpenGL context objects that encapsulated the state, and were explicitly passed into API calls. I was completely dumbfounded when I first looked at API and saw that it didn't work that way.
Ah... latent dyslexia acting up. I read that as "it's just not Windows and OS X."
That's what happens when you move your office to the pub for the day. Sorry.
Hey!
What's your problem with bananas?!
Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
And for all those languages, nobody wants to implement a DirectX wrapper library. Since you can’t use it on any platform other than Windows anyway. And so it’s an annoying waste of time.
Oh really?
DirectPython
Java3d
DirectX SDK For Delphi
DirectX Bindings for Haskell
OCaml library that uses DirectX
In the long run, DirectX will go the way of Internet Explorer 6.
Such has been claimed since the mid 90s and all who have claimed such have been wrong over and over.
Since when were XInput and XAudio not part of DirectX?
Ah - so it'll still be ubiquitous a decade from now, even after Microsoft stops supporting it out of shame? Neat!
Part of the reason for DX's popularity is the support for the latest tech. The reason for that support is that MS works with the GPU makers. They have discussions back and forth. MS tells the hardware makers what they want to introduce in the new DX specs, the hardware makers tell MS what kinds of features they are working on and so on (you have to remember that they are already in early development of next gen chips before current ones come out, chip development is a lengthy process). By working on this beforehand you can have a situation where DX supports the latest cards, and generally comes out about the same time. Quite useful.
Perhaps the OpenGL devs need to start doing that, rather than just sitting around until hardware launches and then playing catchup.
The irony of it all is that in the tech sector, a lot of the evolution and advancement come from people who are in it because they love technology and scientific research, not just because of monetary rewards
In fact I know people who love so much what they do, they will point blank tell you they do it most definitively not for the money since they don't get paid anywhere near the amount that their time and effort would deserve.
Which sort of proves that most of the assumptions by those in love with Capitalism are at best incredibly dishonest. If people were guaranteed a relative level of stability (guaranteed housing, health care, food, and education) while being allowed to concentrate on what they love, you'd see humanity advancing by leaps and bounds. But then, the aim of Capitalism (and most other "isms") is not human advancement, but rather a closed loop cycle of concentration of capital, since that very same capital is both the means and the end.
Sorry for the tangent...
DirectX goes all the way to 11.
872835240
I expect that the idea is that instead of calls like glClearBuffer(...) which take their context from the program's global environment, you'd have calls like glClearBuffer(context, ...). The point of this would be to make it easier for a given program to work with multiple contexts at once, e.g. for mixing render-to-texture with normal rendering. (Note: I am not an OpenGL expert, by any means.)
I'm a game developer. I work with OpenGL. This is exactly what's meant when people bitch about OpenGL being stateful. That and the selector states, which make it annoying to write libraries that target OpenGL and work together nicely.
Redundant? Really? How is this redundant when 4.0 for Mac wasn't mentioned by anyone else? Good job moderating...
Large print giveth, and the small print taketh away
Which sort of proves that most of the assumptions by those in love with Capitalism are at best incredibly dishonest. If people were guaranteed a relative level of stability (guaranteed housing, health care, food, and education) while being allowed to concentrate on what they love, you'd see humanity advancing by leaps and bounds.
I find your enthusiasm charming, but I consider it rather naive.
Who will provide the housing? If I don't like the housing, do I have the "right" to turn my nose up at it and demand better? Who will decide whether I deserve better housing?
Who will provide the health care? Everyone wants an infinite amount of health care; how do you ration it? If you pay the doctors well, where will you get the money for it? If you don't pay the doctors well, how do you get good ones?
Who will provide the food? Sometimes I like a fancy steak dinner; how often will I get one, and who decides?
But never mind these questions; let's get down to the important ones. Where on Earth, and when, has this been tried and shown to work?
The USSR was structured something like what you are describing. In theory, Communism gave to each as they needed. In reality, the economy was so bad that the USSR had a negative GDP: they were subtracting value. They took valuable iron ore and turned it into lousy Soviet steel. Then they took the lousy Soviet steel and turned it into lousy Soviet automobiles. The people were hungry, the health care was abysmal, and pollution was horrible.
The Pligrims tried something like what you described when they first arrived in America. It didn't work out.
In this country, in Chicago, there were massive "projects" built to provide housing for the poor. It didn't work out.
It turns out that people work both harder and smarter when they benefit from their work. And top-down-planning economies cannot possibly keep up with a a chaotic free market (and the creative destruction associated with it).
It is often argued that pure capitalism is heartless and cruel. But pure communism and socialism have even worse horrible disadvantages. If I'm going to live under pure anything, I'm going to choose the capitalism.
So, I'm happy that you have this faith in the innate goodness of humankind. But sorry dude, I don't think it's going to work.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
They weren't part of DirectX back when the XBox 360 was launched. The only reason they are now is that Microsoft decided to replace the existing DirectX audio and input code with the XBox 360 APIs - DirectX uses the XBox 360 audio and input APIs rather than the other way around. Which is absolutely no help to anyone that has code using DirectX for audio or input on the PC that predates the Xbox 360.
Don't compare to DirectX. Compare to Direct3D.
I am not devoid of humor.