OpenGL 2.0 Released
berny@work writes "OpenGL has finally released version 2.0. The benefits include Programable Shaders, in particular: Shader Objects, Shader Programs, OpenGL Shading Language and changes to the Shader API. If you are interested take a look at the tutorials and the case studies that are linked to from the OpenGL site."
Weird. I've been seeing cards claiming to be OpenGL 2.0 compatible for a while now.
Isn't it used for the Unreal Engine games and a lot of the Q3 engine games? There's a lot of games based on each of those engines.
It's like sex, except I'm having it!
Lets hope that this will encourage more developers to switch to OpenGL. Yeah, I know the argument abt Direct3D being better (and I agree with it) but the new ver of OpenGL might just be good enough and arent the game developers always on the lookout for ways to get the massive linux gamers market
Can OpenGL ever match DX in popularity among developers?
One word: portability
Seriously, that guy almost has kept OpenGL relevant in the gaming industry almost single-handedly.
those cards have been able to do fragment and pixel shaders etc through openGL extensions, hence the xxx_ARB_EXT calls. this i assume is the release of all those extensions into the core of the OPENGL pipeline and thus will eventually be without the ARB into the call..
All I know is that this has been a long time in the coming and is great news, especially as MS has just announced the discontinuement of DX past the current version. Finally some competition to DX in modern games, however I really hope this will help people such as myself who do 3D work in Maya and such. Maya has just included a new feature that lets the viewports do a realtime high-quality openGL render as you work on your model/scene, so this can only make that faster and better (though as of right now, realistically speaking it isnt usable nor stable for actual work). Now for ATI to include serious openGL support for its cards & drivers...
"What can a thoughtful man hope for mankind on Earth, given the experience of the past million years? Nothing." -Bokonon
None of the tutorials seem to have anything specific to OpenGL 2.0; they seem to just be 'teaching' basic OpenGL stuff from previous standards.
Its used for a lot of popular games including Doom 3, Return to Castel Wolfenstein, Quake series, etc. See http://www.opengl.org/applications/windows/games/ for a list of the windows games using OpenGL
The new functionalities were in the previous versions as extensions AFAIK, OpenGL 2.0 adds them to the standard.
So (unless I missed something that wasn't previously an extension), you just need a new driver for your card and you'll be set.
The IT section color scheme sucks.
Jeez...
- OpenGL
- Direct3D
I personally think Direct3D is a bit better, since it can apparently handle more than one separate object at a time.
Back to the drawing board, OpenGL dudes!
Learn from Microsoft next time.
Can OpenGL ever match DX in popularity among developers?
Yes. id (quake, doom, etc) and I believe unreal both use it. Both are competitors, and as small of importance as portability to other operating systems such as Linux may seem to be, it is still somewhat important to them (although, I -still- haven't heard anything new about doom3 on linux)
Interest into porting to Linux is slowly becoming more popular between game makers, mostly because if you do it right for the windows port in the first place, it isn't as difficult as it might seem to port to Linux, and it helps open up a small new (starved?) market.
Game developers? Probably not any time soon. Developers of visualisation applications and the such? No-one seriously uses Direct3D for that.
Obviously DirectX has such things as DirectSound which don't really have alternatives under Windows, though.
I've got karma to burn.
Shizzle is not a word. It's a flag. To the rest of the world that the speaker of said word is a fucking dumbass.
It ranks right up there with "bling-bling".
Seeing how you actually tried to use it in a serious sentence, I figured someone should tell you.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
I can't wait to try out some of these features, in 20 years when ATi implements them properly into their drivers, that is.
I don't need no instructions to know how to rock!!!!
The only way that it will match the popularity of DirectX is if someone produces an SDL on steroids. Something that matches DirectX feature for feature but in an open source and cross-platform manner.
Furthermore, I don't believe that Linux should not be the primary focus for this SDL on steroids - Win32, the XBox & PS2 should be. Why? Because obviously they're the platforms that games come out first. Get the games companies to program to this portable layer and it increases the chances that the port to Linux will appear some time after.
Maybe now that it is 'officially' out Bioware will take that into consideration and green light the Linux/OSX port for Neverwinter Nights 2.
The game is still early enough in development that they could still switch from DX and not have much impact in the release date
"Some things have to be believed to be seen." - Ralph Hodgson
Only two years behind the times!
Just different enough from existing GPU programming languages to be annoying, without any added functionality or ease of use!
No standard intermediate representation, requiring OpenGL drivers to contain full-blown compilers! Hello, latency!
OpenGL -- the best API and shading language a politics-laden commitee could design!
Seriously, if it weren't for Mr. Carmack, the dinosaur that is OpenGL would be deader than the dodo bird. Sad, as I spend half my day developing OpenGL apps, but true.
Nvidia and ATi will just 'upgrade' the driver support to GL 2.0 like theyve been doing incrementally. My GF3/GF FX 5200 supports GL 1.5 in the drivers now. It didn't on launch. Same applies to my Radeons.
One word: portability That's why I only create Java-games (rlse date: simultaneous w/Phantom console rlse).
Supporting OpenGL 2.0 is the job of the drivers, which didn't support it so far simply because the specification didn't exist. The cards have all the capabilities necessary to support OpenGL 2.0, which makes sense if you understand the development process of OpenGL: The card makers come up with some new feature, and they can immediately implement it in the form of an extension and release it with their driver. After some time, the new features become generally supported, so the ARB looks over the extensions and makes an ARB extension out of it that the card makers have to implement again. This means that the new features of OpenGL 2.0 are actually just the features that the cards already have put together into one API.
While I love OpenGL far more than DX, your argument would be better served by not listing games that are all from the same company. (or at least, using engines from the same company)
Um, what do you think OpenGL 2.0 is? It's a specification.
A deep unwavering belief is a sure sign you're missing something...
You used to be able to draw "dots" on the resulting screen, used for whats called "particle effects", like mud spraying out of the back wheel of an offroad racer, for instance. Very simply (quicky) drawn because you're just handing out x,y coordinates for htem.
Now, rather than just colored dots, you can use textures or sprites (little pictures). So instead of a cloud of brown dots coming from a dirt bikes rear tire, you could have little chunks of rocks and grass. Or rather than a cloud of red dots coming out of a guys head when you shoot it, you could have little chunks of brain and skull.
I don't need no instructions to know how to rock!!!!
any other resources for someone interested in starting to tinker with opengl programming?
From the makers of Return to Castle Wolfenstein!
From the makers of Quake!
I sense a pattern...
If Jesus wants me it knows where to find me.
I'd generally agree with
your argument would be better served by not listing games that are all from the same company
but not so much with
(or at least, using engines from the same company). There's a ton of games using those engines.
Haida Manga
You're more likely to be considered a dumbass for pointing that out.
I would, but not as much as the folks who modded that flamebait as "Insightful"!
Now, please excuse me, I have to take a shizzle and get back to earning my bling-bling.
You are in a maze of twisty little passages, all alike.
The benefits include Programable Shaders, in particular: Shader Objects, Shader Programs, OpenGL Shading Language and changes to the Shader API.
Look, all I want to know is if I can shade something.
Apart from having no relevance to OpenGL, most of the lighting examples etc on the page rely heavily on either NVs registry combiner extension or NVs 'CG' shader asm. Both of which are non-standard methods that have been depreciated for ARB standards for a while now.
Are you kidding?
Come on, thats no argument. There is NO linux gamers market worth mentioning, and there is NO massive linux market in the first place.
A better argument:
OpenGL is a long standing industry standard which give developers more control over the way stuff gets rendered. Its simple, straightforward and does not depend on a large, antropophagic competitor, platform owner like Microsoft.
And THATS why ID uses it. So the MS wont choke them by controlling that critical part of the API.
Not many developers have the muscle ID has to invest in remaking a lot of stuff DX already provides, but for some sizes, its worth it.
NO SIG
Fascinating. Point, but periods aren't. Just points. They're flags. To the rest of the world that the writer understands. Elementary grammar. And syntax. I just figured someone should tell you. :-)
Excuse me, sir, but in order for your Troll Post to be compliant with OpenTroll 2.0 Standards, you will need to implement the spelling of "the" with the standard "teh." Thank You Very Much, the Mgmnt
-end of post.
At this point, DirectX is at least 4.5x better than OpenGL.
"If the only popular games using OpenGL use the same engine, that tends to make me think that people are not fond of programming for OpenGL in general, just one person/company."
Yes, but as you say they may have just simply created a kick-ass engine, in which case if you wanted to leverage OpenGL (cross-platform titles come to mind) there's less reason for others to create from scratch.
Combine that with the OpenGL-friendly Torque game engine and you've got a good pair of heavyweight tools.
From their site: "The Torque Game Engine started life as the technology behind Dynamix/Sierra/Vivendis products Tribes, Starsiege, and Tribes 2, and is an industry proven engine. It is currently being used by thousands of developers around the world with shipping titles such as Marble Blast, Orbz, Think Tanks, Tennis Critters, and the upcoming mecha game, Lore."
Now when can I get the code burned into my laptop's onboard Trident Cyberblade 16mb world's greatest chipset? ;) mmmm... 3d.... lol
#Secret Windows Source Code, in MS C% - if (uptime >= "24 hours") then bsod() else print "Windows License Violation!"
3D graphics is something that no sane developer would ever lock himself to a proprietary API like Direct3D. More and more companies use OpenGL for their games, and now with 2.0 even more will ever use it. Using OpenGL has the additional benefit of porting a game to architectures other than Windows. As for other parts of DirectX, there are various combinations that can do the job: OpenGL + SDL, OpenGL + AllegroGL + Allegro, etc.
It appears that only the specification was released. No platform implementations are availible, so its not currently possible to make and use open gl 2 applications.
People always post this crap and it's never a good idea.
Look, here's an example of something you CAN'T do with a boot disk game:
Bob: "Hey, Joe, let's play some Return to Castle Wolfenstein."
Joe: "Cool. Wanna do the voicecomm?"
Bob: "Sure. Let's use Roger Wilco, my IP's 127.0.0.1"
Joe: "Rock, see you there."
(Or whatever those wacky kids are using these days for voicecomm in games.)
Here's another little skit:
Joe: "I just bought a new ATIVidia SuperCard that has 20 times the performance of older cards!"
Bob: "Awesome! Boot up 'Super Linux Brothers' and let's see how it runs!"
Joe inserts Linux CD that boots into game.
Joe: "Screen's just black."
Bob: "Shit, must be missing the driver..."
Joe: "How the hell do you put a driver on a already-burnt CD?!? This game sucks!"
And here's a third:
Joe: "Here, try my copy of 'Super Linux Brothers.'"
Bob: "Ok."
Bob runs game.
Bob: "These controls are really awkward."
Joe: "I know, it took me like three hours to get controls I liked... just use my control set."
Bob: "Where is it?"
Joe: "Shit, it's saved on my HD at home! I forgot to bring it! Goddamned."
I hope I've demonstrated that having a boot disk for a game is a BAD idea, and why nobody will buy a game distributed that way. There's a reason we haven't done that since the 80s, you know.
Comment of the year
Many of these features where present in some form in previous versions of the standard, albiet as extensions. The main change is that these features have been promoted from extensions to the core.
There are perhaps some other fairly minor differences as well, but by and large, I'd expect that for those cards that already supported those extensions, it's just a matter of the vendors updating the drivers.
IIRC, there have also been draft versions of the 2.0 spec for a while, or at least the various major pieces. And seeing as how all of the major hardware vendors have representatives on the ARB, none of the final 2.0 spec should be coming as a suprise to any of them.
we would have to wait for Linux Opengl 2.0 drivers then from companies like Nvidia and ATI, dont hold your breath.
keanmarine.com
APIs are indeed most of the work. Learning a language completely is simple (unless it's perl, and no, that's not a flamebait), but it's the APIs that make you an effective coder. When I first started web-coding, I knew next to nothing. It took me a while to find my way around things in perl (the Camel book helped). I'm pretty sure if tomorrow I need to do a Java Enterprise project, I'll be messing about for a couple of weeks in finding my way. Unfortunatly this is a fact that many managers seem to forget.
When I first read the openGL API I wanted to run to the bookstore and get lots of books on the subject.
When I thought about it for a while, I wanted to run to the bookstore and get lots of math books teaching me the skills I need to do things.
When I got a girlfriend, I gave up on the "running to the bookstore for knowledge" and started thinking about other things.
When said girlfriend and I broke up, I was preparing for endterms.
When I got a job, I thought "I'll have time in the evenings to learn new stuff".
When I was working for 3 months I discovered that I really didn't want to code at home anymore.
When they fired me (yesterday) I thought "I wish I'd spent some time learning openGL."
Yeah, I used to feel the same way about OpenGL, but I discovered that using SDL as a wrapper for OpenGL makes it a little more tolerable for those used to using standard C++. You know, like the kind that uses int main() and not int WinMain().
Also, a real good place to learn OpenGL is http://nehe.gamedev.net/. It has tutorials that cover everything from drawing your first polygon to using pixel shaders. Also, most of their examples are available in a wide variety of programming languages and platform-specific code.
Some of the graphic effects (heat ripples etc.) require a DX9 video card so this is unlikely to work at all under Linux.
What are you talking about? The NVIDIA Linux drivers support the same OpenGL extensions as the Windows drivers, and they support the same set of GPUs - right up to the GeForce 6800. Why would an OpenGL-based game look any different between the two?
So the simple way to understand OpenGL code is to think of a really big state machine. Each call just modifies the currently existing state. The state persists until the state is changed - even to the point of maintaining it between rendered frames.
If you want Java bindings for OpenGL, there's two major projects.
JOGL, which is the basis for the formal bindings in JSR 231.
LWJGL which is a community driven project and somewhat akin to DirectX in that it also merges audio and input device APIs as well.
If you need some tutorials to get started, check out http://opengl.j3d.org in a couple of weeks when it gets officially opened and has lots of beginner tutorials to play with.
After that, the OpenGL Red Book is your friend.
Life is complete only for brief intervals in between toys or projects -- John Dalton
What about SDL?
What about it? It's a great idea.
But. It can't really compete. SDL is "Simple", and doesn't provide the same amount of functionality.
Also, SDL doesn't seem to be going anywhere. The 2.0 version has been 'in the works' for years now..
(I've written a bunch of posts on this.. The lack of good crossplatform graphics API:s, both for 2D and 3D is one of my pet peeves, and IMHO a major barrier to Linux on the desktop.)
Here is the official specifications of the OpenGL 2.0 in PDF format.
Creative Demolition