Slashdot Mirror


OpenGL 3.0 Released, Developers Furious

ikol writes "After over a year of delays, the OpenGL ARB (part of the Khronos industry group) today released the long-awaited spec for OpenGL 3.0 as part of the SIGGRAPH 2008 proceedings. Unfortunately it turns out not to be the major rewrite that was promised to developers. The developer community is generally furious, with many game developers intending to jump ship to DX10. Is this the end of cross-platform 3d on the cutting edge?"

16 of 643 comments (clear)

  1. Re:Question by Anonymous Coward · · Score: 5, Interesting

    WINE's Direct3D sits on top of native linux OpenGL.

    I don't think most developers are "furious". When OpenGL 3.0 was described as a backward-incompatible rewrite, they were a bit closer to furious. They spoke, and said they wanted backward compatibility retained a while longer. And lo, Khronos delivered, while providing a mechanism for migration to the new architectural constructs (buffer objects, shaders, moar buffer objects, moar shaders), and a way to build your code so that deprecated constructs fail.

    Seriously, most people in the OpenGL community are fairly happy (though there's some grumbling over the still-wide OpenGL / OpenGL ES split).

  2. Is this the end? by Anonymous Coward · · Score: 5, Interesting

    jump ship to DX10

    And when they do they wander into Direct/Input/Sound/Video/Play/etc. OpenGL does 3D rendering. The rest? Cobble it together from whatever other obsolete scraps are available.

    The non-Microsoft "stacks" suck. Bottom line.

    The concept of a 2D "layer" still hasn't impinged on the basic SDL API. Couldn't believe it when I learned that.

    I guess professional game developers don't care that Microsoft owns the machinery of their livelihoods. They sure aren't contributing to their own independence in any noticeable way.

    1. Re:Is this the end? by Anonymous Coward · · Score: 5, Interesting

      Sorry my anonymous brethren, but you're exaggerating a bit. First off, DirectDraw (DirectX 2d API), DirectInput, and DirectPlay are all deprecated for other APIs. Granted, the other APIs are Microsoft but even they aren't always consistent across MS platforms. For example, DirectInput is replaced by one API on the 360 and a different one for the PC.

      SDL handles cross-platform input and some basic platform functionality on the open side. Not that you could expect it to run on a console, but it should run on a Mac, Linux, or Windows.

      The open equivalent of DirectSound is OpenAL, which looks a lot like OpenGL in usage. Of course, that's more of a negative, since they both need an overhaul. It *is* cross-platform and supports 3d sound though.

      The other APIs aren't nearly as important for game development.

  3. Err, yeah. by Penguinisto · · Score: 5, Interesting

    Heh - Games developers may have that luxury, but 3D/GC vendors certainly don't. So unless someone decides to port DX10 to OSX (*snort*) or Linux (sing it with me now: "render farms!"), OpenGL will continue to have a decently-sized userbase for a very long time.

    IMHO, anyone making the claim that they're going to suddenly jump to DX10 is only making noise; nobody is dumb enough to cut off the fastest-growing consumer market sectors.

    (...besides, doesn't the PS3 use OGL, or do they use some other home-brewed library set? Not sure there...)

    /P

    --
    Quo usque tandem abutere, Nimbus, patientia nostra?
    1. Re:Err, yeah. by ducomputergeek · · Score: 4, Interesting

      Render farms don't use OpenGL or DX for rendering in programs such as Lightwave/Maya/blender, the frames are rendered by the CPU not GPU. (there are a couple exceptions to this).

      The only place the video comes into play is when you are running the 3D app and modelling of huge poly objects. I can slow Blender down to a crawl in big scenes on my older powerbook with only 64MB of video ram, but it runs smooth in my old G4 tower with 256MB of video ram, yet the render times on the same frame are about the same. (1.5Ghz vs. 2x1Ghz G4 CPU's., both with 1.25GB of Ram).

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
  4. Re:This can't be good. by SanityInAnarchy · · Score: 4, Interesting

    How about the creation of a fully operational open source, cross platform, DX10 or DX11 implementation, not created by Microsoft but by the community,

    Wine will do this, eventually.

    and fully working natively (not through Wine)

    That's a bit harder, because it requires driver support.

    and supported by NVidia and ATI drivers?

    The official ones? Never going to happen. Anyone want to guess how many patents Microsoft has on DirectX tech?

    And the unofficial ones haven't even gotten GL right, yet, and you're proposing they try to support another interface?

    More importantly, you're assuming this is a good idea -- that we should be working to clone a Microsoft technology, instead of improving on one which has been open from the start (GL).

    --
    Don't thank God, thank a doctor!
  5. OpenGL falling down a pit by mysidia · · Score: 4, Interesting

    Not much unlike the one XFree86 fell down.

    It needs to be forked. We need a fork of the 3D library, much like Xorg was forked.

    The fork/rewrite should be more like DX10 than like OpenGL.

    The library needs to be able to interoperate with current and future video hardware, so that all hardware acceleration features will be available to applications using the 3D library...

    That means providing an underlying interface compatible with both the OpenGL and DX10 ABIs and conventional hardware drivers.

  6. Re:This can't be good. by HappySmileMan · · Score: 4, Interesting

    How about the creation of a fully operational open source, cross platform, DX10 or DX11 implementation, not created by Microsoft but by the community,

    Wine will do this, eventually.

    Wine uses OpenGL to do the actual rendering AFAIK, it reads the DirectX function calls, but it doesn't interface with the hardware itself, it basically just implements the functions with OpenGL calls.

    So while the OpenGL dependency may be less obvious for the user or casual developer, it's still there, and a bad OpenGL release means a bad DirectX implementation in Wine

    I'm no expert though, correct me if I'm wrong about this

  7. Re:Question by hr.wien · · Score: 5, Interesting

    That certainly isn't my experience. Most people on the OGL discussion boards were very much looking forward to the changes to the API. The previews Khronos posted in the Pipeline newsletter looked bloody amazing.

    But when those previews are followed by almost a year of complete silence and then finally an API which is nothing at all like the one they promised, but rather some more spit and polish on the mess that is OGL 2.1 (much like OGL 2.0 was really just 1.6 with a new name), people got pissed off. And rightfully so.

    The only ones pleased with this change as far as I've been able to gather are the CAD people wanting to continue to run their old, stale OpenGL bases code until the end of time. For new development, using OpenGL is a pain in the back side, which is why I just began bringing my renderer up in D3D10.

  8. No. by unity100 · · Score: 5, Interesting

    Is this the end of cross-platform 3d on the cutting edge?

    it isnt. because OpenGL ARB is gonna play it nice, and revise their specs, therefore pleasing developers and therefore GAMERS as much as they can, and fix the matter, wont you now ? dont make us wait.

  9. Re:Question by JohnyDog · · Score: 5, Interesting

    This has however everything to with ATI and nothing really with OpenGL, as it is the hardware manufacturer who ultimately decides which capabilities will they expose in the drivers. ATI's OpenGL drivers was *always* bad, buggy, and badly performing (go on, search for some old benchmarks, you will see that ATI cards that easily outperform their NVidia counterparts in DirectX falls heavily behind when it comes to OpenGL apps and games).

    The developers' expectations here was that if OpenGL 3.0 will include all the newest stuff in core spec, ATI (and Intel and others) will be forced to support them (so they can pass the certification and be able to call their products compliant), however the same expectation for improved OpenGL drivers was there when ATI was bought by AMD, and that too never really materialized. ATI simply doesn't care enough about OpenGL, their main focus was always DirectX, and i don't see that changing in nearby future.

    As for OpenGL 3.0, the rage is that Khronos group promised us moisty delicious cake (whole new API, yay!), but after long long wait delivered only small biscuit. I didn't expect much so i'm not disappointed and overall the spec is good step (deprecation model for lots of old stuff, FBO finally promoted to core, direct access extension), but just like KDE 4.0, it is only first step, and it *really* depends on where it will go from now.

    --
    People who like this sort of sig will find this the sort of sig they like.
  10. Re:Question by hr.wien · · Score: 4, Interesting

    Sure, but that does nothing to help driver development. They still need to support all the deprecated features if the application requests them (most likely for a very long time to come as well), and driver quality is one of the major problems with OGL right now.

    The "old" GL3 was also supposed to include interoperability with GL2 mind. But it would not do it by layering yet more stuff on top of the old, which I can't imagine will do driver quality any favours.

  11. Re:Question by ameline · · Score: 5, Interesting

    Imagine you were the owner of a CAD or Animation software company. I suppose that when you have multiple OpenGL apps each with 10s of millions of lines of code, it's pretty hard to justify a rewrite from a business standpoint. Those "old stale" code bases each generate 100s of millions of dollars each year, and they're orders of magnitude larger and more complex than games. It would take millions of $$ to port one of the major OpenGl apps to another API, and from a business standpoint, those $$ would be wasted -- they wouldn't be doing anything other than chasing someone else's aims and objectives -- not doing anything that would generate a decent return on the investment.

    Your customers don't care what the underlying API is that you use -- what they care is that you solve their problems in a cost effective way. If OpenGL3.x was a complete and incompatible break -- these companies would think "well if those a$$h0les are going to make us rewrite the software, we might as well jump to DX instead and be done with it" (At least if you don't have to support mac and linux).

    It's not too hard for people to figure out who I work for so let me add that these are my opinions only -- my employer may share them, or they may not -- I certainly make no representations in this -- but these opinions are mine.

    --
    Ian Ameline
  12. Re:Question by DGolden · · Score: 5, Interesting

    most likely for a very long time to come as well

    Seems rather FUDy... Why introduce a deprecation model if not to encourage people to the more OpenGL ES like nondeprecated bits? Yeah, you still can call glBegin/End, but it'll presumably hiss nastily at you.

    I just don't see it as "layered on top", particularly - you do things the new way if you want your code to run in forward-compat mode. It's "beside" rather than "on top".

    (certainly unlikely to be "layered on top" at the driver sources level, would be inverted if anything - any old fixed pipeline functionality emulated with programmable hardware.)

    Bit of a book-scam though. Whole 'nother round of red/orange book purchases...

    --
    Choice of masters is not freedom.
  13. Re:Question by hr.wien · · Score: 5, Interesting

    The problem here isn't the actual implementation of the old fixed function pipeline. That has been emulated with shaders for yonks already.

    The problem lies in the state machine at the core of OpenGL. This will have to be there no matter what "deprecation level" you're running at and I can't imagine the IHVs will implement a standalone version of that for each of these levels. The result is that every feature will impact others since they interact with the same core system, enabled or not. IHVs will have to hack up their currently stable code to add OGL "3" support, and they will break things in the process.

    What really breaks my heart is that OGL2 could "easily" be layered on top of the original GL3 they proposed. That way they could take care of backwards compatibility while still providing lean and mean drivers for the rest of us. The other way around isn't nearly as easy though (if at all possible), and will do jack squat for driver simplicity.

  14. Re:Shotgun Marriage by HermMunster · · Score: 4, Interesting

    All problems stem from one company. Microsoft. Microsoft has been the reason that Vista's adoption is 1/2 what it was and it is the reason we have that much of an adoption as it is. What do I mean?

    Microsoft is forcing vendors to sell Vista instead of XP. Microsoft is also forcing hardware vendors to implement BIOS hacks to keep transitions from Vista to XP. This is evidenced by many factors, such as the lack of available XP drivers for these new pre-fab pre-installed Vista boxes.

    Keep in mind that this is not the case with custom built. Custom built machines can take XP or Vista, or any other.

    I remember back a while ago about the Foxconn debacle. I think there's something similar going on here. When you attempt to install XP on various hardware that came pre-installed with Vista you can get the OS installed. But if you attempt to install drivers for those components, if you can find them, there is an almost complete failure to get these components to function.

    This is not the case with all manufacturers. It is the case with Gateway and with Toshiba. Both of these manufacturers are forcing Vista installs. It may be with a few chipset packages such as the Intel GM/GL 965. But it is happening.

    After a successful install of XP (after verifying that the components work under Vista) and then attempt to install say the wireless, wired, sound, SMBUS drivers, you'll get messages from the installers informing you that the devices aren't present.

    You can confirm that this is a BIOS level function due to the fact that if you take a component from a machine that came pre-installed with XP and put it into the new machine where you have removed Vista and installed XP, that component's driver installer will also tell you that the device is not present, even though it was properly installed in another machine.

    This clearly is an attempt by Microsoft to mandate to the manufacturers that they are not to support XP any longer even if the customer has chosen to do this on their own.

    We did not have this situation when going from Win2k to XP nor from Win98 to XP. It appears to be an issue specifically with going from Vista to XP. It appears to be a bios level hack which creates the situation.

    Contact with others has confirmed the situation. Many have reported that this is occuring and the consensus is that it is a mandate by Microsoft to prevent users from running XP on these older machines.

    As I said, it isn't all machines. It is a new tactic being implemented on newer hardware in an attempt to force us to stay with Vista.

    One has to ask why this is the case. Why on earth is Microsoft so hell bent on forcing us to Vista? Is it some hidden back door? Why would Microsoft care which OS we run given that we have paid them for Vista and paid a second time for XP? What is their motive for mandating this type of issue? Why would they dictate that the sales support for XP has been dropped so quickly?

    Something is awry here.

    --
    You can lead a man with reason but you can't make him think.