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.
It's most similar to D3D 11.
DirectX is a larger set of development technologies and apis (most of which has been deprecated). Direct3d is it's "direct" analog to OpenGL.
Mod me down, my New Earth Global Warmingist friends!
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.
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.
That's kind of like asking "Windows 7 = Ubuntu what"?
They might do similar things, but they do them in different ways*. IMO OpenGL is always going to be better unless DirectX becomes more cross-platform friendly, but then again I'm not one of those idiots that cares more about graphics than gameplay.
But to vaguely answer your question based on what others are saying here: OpenGL 4.0 is close to Direct 3D 11 in terms of features though.
*I have to say that while I have played about with OpenGL in the past, I have never tried Direct3D, so I can't say how different they actually are.
which is totally what she said
They've been out for a while, check the out the Superbible (covers everything), the Red book (covers the client side API) and the Orange book (which covers GLSL, the OpenGL shading language).
Mod me down, my New Earth Global Warmingist friends!
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.
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
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!
I'm sorry, yes it appears the Superbible hasn't been updated (but I'm positive about Red and Orange).
The differences are mainly superficial in terms of how you provide geometry to the GPU and the shading language itself. Buffer objects work the same way, shaders work much the same but some terminology has changed.
It's mainly been streamlined and not revamped from scratch.
The fixed function api doesn't exist in 3+.
Mod me down, my New Earth Global Warmingist friends!
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.
IMO OpenGL is always going to be better unless DirectX becomes more cross-platform friendly
Direct3D is already cross-platform: Windows, Xbox 360, Zune, Windows Phone 7 Series. Among these is the only video game console open to indie development.
You mean other than the fact that what the PS3 and Wii run aren't really OpenGL but proprietary derivatives of OpenGL ES?
It's like Ford's Model-T: You could order in any color you wanted, so long as that color was black.
Mod me down, my New Earth Global Warmingist friends!
"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.
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.
You need to find an SDK for the language you want to use opengl.org should be a good starting point. That and you're graphics card needs to support the version you want to develop for.
You can't use "cross platform" unless it ports to OSX or Linux or other non-Windows platforms. OpenGL is cross-platform; Direct3D is not. The term you're looking for is "Windows platforms only". Nothing wrong with that; just be honest in your characterization of it.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
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
OpenGL tutorial
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
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.
The XBox 360 is most certainly not the only console which gives access to indie developers. I know of a number of games in or coming to WiiWare straight from indie developers. World of Goo, for one.
All comments are properties and trademarks of the voices in my head. Not like I'm gonna claim them.
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.
Nintendo requires a new Wii developer to have previous published commercial titles on another platform as well as a "secure office facility", a hurdle that most micro-ISVs cannot clear. 2D Boy had to pretty much cheat Nintendo in order to qualify for a Wii devkit without the overhead of having to lease an office.
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.
It is hard to figure out what your "point is" if you're going to keep changing it.
I thought you were talking about cross platform issues, and now it is about game studios. Uh?
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...
In D3D's defence, they had a number of optional features in D3D9, but developers really got to loathing the caps, so it was mostly abandoned for D3D10+.
As to D3D9's 'set functionality', it's true that Microsoft tried to lock down what you could add to the API. But you should check out Aras' D3D9 cheat sheet for hacked-in functionality. While there aren't any easy vectors for adding extra functionality to D3D9, that hasn't stopped ATI and NVIDIA from offering stuff through some of the weirdest and ugliest hacks imaginable. (Let's have a round of applause for the tesselation factor and point parameter render states, shall we?)
That having been said, I wholeheartedly agree that OpenGL has provided a much cleaner approach to extensibility of the API.
DirectX goes all the way to 11.
872835240
>Direct3D is already cross-platform: Windows, Xbox 360, Zune, Windows Phone 7 Series.
Direct3D is already cross-platform: Windows kernel, Windows kernel, Windows kernel, Windows kernel
That doesn't sound that convincing, somehow
Climate Progress - Hell and High Water
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.
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.
Yes NeHe tutorials are out of date on the last OpenGL specifications. But we don't ask tutorials to be on par with the last specifications. Tutorials like the NeHe ones must be simple and progressive in complexity to make them very good for someone who doesn't know anything about OpenGL.
Do you remember when at school you first learned to divide and the teacher learn you the 4, 6 and 50 where divisible by 2 but not 5? And then later when you have mastered these kind of division, he learned you the notion of decimals and made 5 divisible by 2? Why learning programmable pipeline before learning what is the OpenGL pipeline and mastering the non programmable one?
You need to learn to walk, the run and perhaps at the end learn to fly. It must be done in this order. Programmable pipeline, shaders & al are for those who can already run and what to learn to fly.
As a side note:
Learning OpenGL is not a requirement to use a 3D engine. But, I think you are better armed to use a 3D engine when you know at least a little bit of OpenGL and make you in a better position to grasp the use of these kind of tools.
Don't compare to DirectX. Compare to Direct3D.
I am not devoid of humor.