Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Graphics Software Programming Entertainment Games IT Technology

OpenGL 2.0 Released 353

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."
This discussion has been archived. No new comments can be posted.

OpenGL 2.0 Released

Comments Filter:
  • Weird. (Score:4, Interesting)

    by endx7 ( 706884 ) on Thursday September 09, 2004 @12:29PM (#10201922) Homepage Journal
    Weird. I've been seeing cards claiming to be OpenGL 2.0 compatible for a while now.
    • 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..
    • Re:Weird. (Score:5, Informative)

      by chrismcdirty ( 677039 ) on Thursday September 09, 2004 @12:32PM (#10201963) Homepage
      There were DX9 compatible cards about 6 months before the release of DX9. They set the standards ahead of time, and the card makers comply with those standards when they design the architecture. They can't really predict when Microsoft (or OpenGL's coders) will actually finish the product.
  • Direct 3D (Score:4, Insightful)

    by iMaple ( 769378 ) on Thursday September 09, 2004 @12:30PM (#10201943)
    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
    • Sure it's a small market, but any good game will get bought by a large percentage of that market due to the lack of titles. There is far less competition, and if you develop with portability in mind it shouldn't be a big deal to dominate that 5 percent of the gaming market. People using the new Doom engine should really consider this.
    • by alexborges ( 313924 ) on Thursday September 09, 2004 @01:28PM (#10202653)
      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.
    • I'm not familiar with any argument stating that Direct3D is superior to OpenGL. In fact every graphics programmer I've ever talked to prefers OpenGL over Direct3D - admittedly it's not a large sample size, and most of their arguments date from a time when it was not possible to plot pixels while using Direct3D without using GDI calls. But, I'm not a programmer of any sort really, and I can point to the wide availability of OpenGL as a good reason why OGL is better than D3D. After all, there's hw-accelerated
  • Thank tha lor' !!! (Score:4, Insightful)

    by quantax ( 12175 ) on Thursday September 09, 2004 @12:31PM (#10201959) Homepage
    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...
    • I mistated my original statement, let me clarify: MS has announced they are discontinuing DX past the current version to launch DX under a new brand name & direction.
    • Microsoft never announced the "discontinuement of DX past the current version." DirectNext, as it is being called, is merged with the Avalon display technologies that will be the foundation for Longhorn (and an add-on package for Windows XP). The DirectX technologies are just existing in a different name and integrated more into the desktop.
  • tutorials? (Score:3, Insightful)

    by FuzzieNorn ( 203503 ) <`fuzzie' `at' `warpedgames.com'> on Thursday September 09, 2004 @12:32PM (#10201974) Homepage
    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.
    • 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.
  • by Anonymous Coward

    - OpenGL [bloodgate.com]
    - Direct3D [scrontsoft.com]

    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.
    • by Performer Guy ( 69820 ) on Thursday September 09, 2004 @12:47PM (#10202165)
      You really have no idea what you're talking about do you. OpenGL vs D3D flamewars have been raging for years, FYI D3D started out well behind OpenGL feature for feature and gradually added OpenGL features, each generation of D3D we had to listen to Microsoft claim that all the interesting features of OpenGL were already in D3D and OpenGL had no advantage, only for them to add more in the next release.

      D3D is a proprietary windows programming API owned by Microsoft and designed for games with some incredibly ugly and arduous API semantics, OpenGL is an open, extensible cross platform industry standard controlled by a board of interested industry specialists that anyone may join. The rendering and dispatch API semqantics have been optimized by the vendors in a standard way. If there was a need for any particular feature the vendors would add it as an extension either individually (something they can do and have done on their own) or they could collaborate on shared extensiosn for a common API. Red herring features that do not make any sense or map to real hardware have no place in a programming interface explicitly designed to sit close to the metal like OpenGL.
      • Still, as a former OpenGL developer I must say that while OpenGL is nice it is far from perfect.
        The API is very C-centered, which is nice, if you develop in C; we however developed in other languages, which more suitable for enterprise apps where stability and floatingpoint correctes is AO.

        I'm not fond of OOP, but it sure makes sense when you deal with visual objects, and OpenGL doesn't really feel OO. Dealing with OpenGL for Lisp or Python is easy, but sure as hell ain't pretty.
        • by Performer Guy ( 69820 ) on Thursday September 09, 2004 @01:28PM (#10202658)
          Hardware tends not to be very object oriented and C++ can quite happily call C.

          While I agree OO has advantages in some situations with a low level graphics API I don't think that's the case the only real omission in OpenGL caused by the C interface is function overloading for the various argument types to a few functions. That would clean up a few things.

          In 3D graphics OO really kicks into it's own when it comes to higher level APIs like scene graphs and there are numerous examples. These can and do benefit greatly from OO design but nobody has come up with a compelling low level hardware interface that justified OO. Sure you could wrap a few things in a class or two but there's no compelling architectural justification and attepmts to wrap OpenGL in a trivial namespace class and call it OO are horribly naive and misguided.
        • What? I'm sure there are legitimate arguments for D3D, but saying the C-API of OpenGL makes it "work worse with other languages" is about the most idiotic thing I have ever seen. It is well known that one of the major reasons for limiting an API to C is to make it callable from multiple languages, ie the exact opposite!

          I would be much more convinced with an argument that D3D "rejects old languages and does not compromise the interface in order to support them" which is a legitimate argument.

        • OpenGL isn't OOP because it's a procedural API, low-level API. DirectX isn't really OO either --- it just happens to use objects. If you want an OO interface to OpenGL, you should use a proper scene graph library.
      • Indeedy. Back in the days when I was but a measly VB coder (yes, I know I know, this was many years ago) - I actually had a fairly decent 3d program working using.... D3D. Now the D3D stuff wasn't actually supported for VB back then, there was a 3rd-party module which made interfaces with the API rather easy though (I believe it was made by some french dude, though the name long escapes me now). In the latter stages, I also incorporated some amount of OpenGL support into my renderer.

        Now, even with a rather
      • "D3D is a proprietary windows programming API owned by Microsoft and designed for games with some incredibly ugly and arduous API semantics"

        Programming anything graphic-related on the PS2 is equally as arduous, but the system is the most successful in the world. Programming simplicity does not a success make (look at Java). I think you're letting your love for Open standards blind you from the fact that D3D is flat-out the winner, technology-wise.
        • Winner technology wise?!! What are you talking about. Your argument would say that Windows 3.1 was the flat out winner technology wise, but that is obviously wrong. D3D may be the flat out winner volume wise for games exclusively on Windows, but let's not pretend that this has anything to do with technology. Microsoft has been pushing D3D as the Windows 3D API for years, that is why it is the most often used.

          FWIW PS2 has no interface beyond a packet description and a DMA engine, it is popular because of th
          • "Winner technology wise?!! What are you talking about."

            I'm talking about tech that D3D has and OpenGL is catching up to. Developers were using pixel shaders right out of the gate on Xbox. A lot of what's native to DirectX is (like you said) grafted onto OpenGL.

            The point of a true "graphics library" is to give programmers as many high-level choices for manipulating graphics as possible. Cross-platform compatibility shouldn't be a goal. That should be handled by another layer entirely.

            Also, if you're g
            • by Performer Guy ( 69820 ) on Thursday September 09, 2004 @03:02PM (#10204182)
              You seem to be very confused. XBOX is basically a GeForce3 system with some extra vertex processors, yes it supports D3D but your assumptions about APIs are wrong. NVIDIA actually extended D3D on the XBOX with a few OpenGL like features that don't even exist today on Windows versions of D3D. So rather than D3D giving hardware the advantage it holds developers back, in a situation where hardware developers are free to extend (as they can with OpenGL) they do and bring innovative hardware features to developers early. In the unique case of the XBOX NVIDIA actually threw in a few extra functions they'd always wanted to expose on Windows D3D but couldn't because D3D didn't let them. With the shackles off on XBOX they did.

              The only reason D3D is the API on XBOX is a Microsoft business decision, technical merits have nothing to do with it.

              Learn DX or D3D? You do know that D3D is discontinued and Avalon is the replacement so what will it look like? I personally suspect they'll clean up D3D and it may wind up looking a lot different. The graphics scheduling, and resource/context management will obviously be a major issue/headache.

              As for OpenGL, OpenGL|ES will have way more volume than longhorn units shipped, it will be on every mobile device. So I could justifiably claim that if you don't learn OpenGL|ES now you will be left behind, but I'd never say anything so silly.

              Cross platform compatability is often a major goal but it depends on your project and what you're developing. Let's be clear, the hardware details and graphics programming requirements tend not to change from platform to platform, so OpenGL suitability is not compromised by it's cross platform support, it just happens to be supported on many platforms. Hardware acceleration and consistent implementation are the primary design goals of OpenGL and it succeeds spectacularly well. Implying that because it is cross platform it is somehow compromised ignores the fact that the only reason D3D is single platform (or even exists for that matter) is Microsoft's proprietary control of the market.
      • Are you aware that Carmack was so frustrated with the interfaces of some OpenGL extensions that he almost switched over to Direct3D?

        I think the reason many people here are so fond of OpenGL is strictly because it's non-Microsoft and nothing more.
        • Or, like me, we've been programming since long before anything called Direct ever existed, including 3D programming on SGI's and also in DOS and Windows 3.x using our own 3D libraries.

          And, like most things, when MS announced D3D, we all said "what the f*ck are they doing? There's already a well defined 3D api out there!" And we all knew already, back then, that they were specifically targetting the success of SGI instead of doing something that customers really wanted and forcing companies to "choose" si
        • by Performer Guy ( 69820 ) on Thursday September 09, 2004 @02:27PM (#10203625)
          Heh, spoken like someone who has never written a line of graphics code in their life. If you read Carmack's original OpenGL .plan you'll see that he was talking about how much cleaner OpenGL was to call.

          You don't cite a reference w.r.t OpenGL & Carmack, it is clearly FUD. The only dissatisfaction I've seen from Carmack was in the Cg vs glslang hardware abstraction, I won't explain it, it's too technical for you but basically Carmack was advocating the futureproof open aproach and in some respects he got his way, however Doom3 calls ARBfp and ARBvp shaders anyway.

          Carmack has never waivered from his OpenGL support and the only issue he's taken a public stand on in the API was as I said, shaders where he expressed a dislike for Cg and Cg is very similar to HLSL in D3D so Carmack was taking a stand against a shader approach that is used in D3D.

          OpenGL has been around longer than D3D, is a lot cleaner in design, it has a clear unambiguius specification and has conformance tests to ensure quality of implementation. OpenGL is also portable to non-Windows platforms. All of these are excellent reasons to use OpenGl that have nothing to do with being non-Microsoft.
      • C'mon, dorbie... I mostly agree with your sentiments, but I think you go overboard in a couple of places here.

        The rendering and dispatch API semqantics have been optimized by the vendors in a standard way.

        But there are important areas where the ARB has fumbled the ball spectacularly, render-to-texture being the most obvious.

        Red herring features that do not make any sense or map to real hardware have no place in a programming interface explicitly designed to sit close to the metal like OpenGL


        • I don't think that the ARB has really dropped the ball on render-to-texture. As it is implemented in current systems, it's really not a general solution. If you look at the OpenGL uber-buffers proposal, you'll find that render-to-texture is just a feature of what could be a much more powerful and general memory model for OpenGL. I think the real holdup is that they'd rather do this right, by generalizing the memory model, than to add a special-case feature like render-to-texture.

        • Your final sentence describes OpenGL better than it does D3D or are you in the habit of making random function calls to enable state you are not interested in using? There are vestigal parts of OpenGL, but they pose little implementation burden and are accelerated on high end cards where major CAD and DCC applications support them, really who cares? Microsoft used to say that stencil support was one of those vestigial OpenGL CAD features. Now it is mainstream with 8 bits and *enhanced* functionality on $10
    • >it can apparently handle more than one separate object at a time.
      I'm not sure why you say this.. However OpenGL is kind of a lower level
      than DirectX, OpenGL have no "objects", you as the programmer are responsible for those.
      Note yourself the fact that Direct3D can be implemented on top of OpenGL, as is the case done with winex/cedega.
  • Awesome! (Score:3, Funny)

    by stratjakt ( 596332 ) on Thursday September 09, 2004 @12:40PM (#10202081) Journal
    I can't wait to try out some of these features, in 20 years when ATi implements them properly into their drivers, that is.
  • Neverwinter Nights 2 (Score:5, Interesting)

    by mahdi13 ( 660205 ) <icarus.lnx@gmail.com> on Thursday September 09, 2004 @12:41PM (#10202088) Journal
    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
    • I don't think bioware are the ones making nwn2,its Obsidian from memory. Bioware are currently doing Dragon Age probally due to the heavy restrictions from using AD&D ip. Bioware arn't even allowed to enable player/creature stats to be changed via scripting commands, it must be done manually with the dm client or through external programs.
    • Bioware has nothing to do with NWN2.
    • <BioWare> Yeah, that's a great idea. Let's re-do a whole bunch of work, lengthen our dev cycle, have to re-do our schedule just so we can pander to 1.5% of the market.

      Not to mention, the release of 2.0 is just formalizing support for these features. They all existed previously as extensions. Bioware could have developed using them a year or two ago if they wanted. I suspect they chose Direct3D because it is more convenient to develop with, has more driver support, and works excellently on their tar

    • Bioware arn't doing NWN2, it's Obsidian under licence from Atari/WotC. Furthur, theve already decided to go the D3D route over OpenGL 2, beause at the time they decided, OpenGL2 wasn't published and tools/support won't really be around for a while I would imagine.
  • Go, OpenGL ARB! (Score:4, Interesting)

    by Anonymous Coward on Thursday September 09, 2004 @12:41PM (#10202090)
    Only two years [nvidia.com] behind [microsoft.com] 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.
    • Re:Go, OpenGL ARB! (Score:5, Insightful)

      by be-fan ( 61476 ) on Thursday September 09, 2004 @12:58PM (#10202297)
      That's not even close to being a good comparison. Cg is a vendor-proprietory language not a cross-vendor language. You don't see Cg for ATI cards, no do you? DirectX is a platform-specific API, not a cross-platform API. On top of that, it's optimized for gaming, not professional applications. In any case, GLSL came out last year, so at worst, you can say that OpenGL was a year behind Direct3D in getting a high-level shading language.

      Personally, I've used both D3D and OpenGL, and find D3D to be a horribly designed API, with massive changes in each revision. I'd much rather get OpenGL a year later, but designed right, than the D3D hack of the day.
      • Re:Go, OpenGL ARB! (Score:3, Informative)

        by uchian ( 454825 )
        Cg is identical to HLSL, the shader language in DirectX9.

        While I agree with you about DirectX in general, I find HLSL/Cg to be an absolute joy to program for, so credit where credit's due - I don't see why we need a seperate, different and incompatable shader language when the one we already have been kicking around for the past couple of years is so well thought out.
      • Re:Go, OpenGL ARB! (Score:2, Informative)

        by Anonymous Coward
        Cg works fine on ATI hardware, and any other hardware that supports D3D or arbvp/arbfp assembly.

        Have you used D3D recently? It's generally perceived as being vastly improved over earlier incarnations (just like most of MS' products), and perfectly useable these days.

        But you are right on one point -- linux, like Mr. Carmack, is indeed a factor contributing to OpenGL's lack of demise.

        OpenGL, by the ARB's very nature, will always be playing catchup, and perhaps that's fine. Unfortunately, the ARB is increa
        • Why do you think ARB is increasingly political? The ARB has been very good about keeping OpenGL up-to-date over the last few years.
        • D3D is just not enough for real 3d graphics. Games are nice, and drive a nice portion of the industry, but OpenGL is much more than Unreal Tournament, and Doom. D3D is not an option if you are talking about high performance cards.
          Plus, closed standards are not an option if your whole business relies on them. Even if OpenGL were "technically" inferior to D3D in some aspects, it would still be the safest choice, if your business is not games (developing, or playing [Anyway, specifically for gaming, even conso
    • Re:Go, OpenGL ARB! (Score:5, Informative)

      by t35t0r ( 751958 ) on Thursday September 09, 2004 @01:09PM (#10202428)
      Deader than a dodo bird? That's quite a statement to make especially when you have: http://www.opengl.org/applications/windows/scienti fic/ http://www.opengl.org/applications/windows/modelin g/ http://www.opengl.org/applications/windows/cad/ http://www.opengl.org/applications/windows/simulat ion/ http://www.opengl.org/applications/windows/vrml_we b3d/ http://www.opengl.org/applications/windows/games/ not to mention that some of the most immersive 3d environments are created by SGI hardware all based around the OpenGL API. Now if you want to simply talk about games, sure there are more DirectX games since MS monopolized the desktop market. Anyways I think serious gamers should do something productive. I only play ut2k4 to blow off some steam.
  • by Anonymous Coward
    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.
  • more tutorials? (Score:2, Interesting)

    by boolean0 ( 448844 )
    any other resources for someone interested in starting to tinker with opengl programming?
  • Yeah but (Score:5, Funny)

    by CGP314 ( 672613 ) <CGP@noSpAm.ColinGregoryPalmer.net> on Thursday September 09, 2004 @01:07PM (#10202394) Homepage
    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.
  • by mod_parent_down ( 692943 ) on Thursday September 09, 2004 @01:50PM (#10202963)
    At this point, DirectX is at least 4.5x better than OpenGL.
  • by master_p ( 608214 ) on Thursday September 09, 2004 @02:37PM (#10203796)
    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.
    • I you think that's all there to DirectX then you are horribly mistaken. There is also the debugging support, the easy to use tutorials and samples, as well as the integrated help. You mention Allegro, but you probably don't realise that Allegro uses DirectX for some things.

      Also, your statement about more and more companies using OpenGL is false. More and more companies are using DirectX right now, even if you include all the Quake engine games.
  • by NEOtaku17 ( 679902 ) on Thursday September 09, 2004 @10:40PM (#10209074) Homepage

    Here [opengl.org] is the official specifications of the OpenGL 2.0 in PDF format.

Who goeth a-borrowing goeth a-sorrowing. -- Thomas Tusser