Slashdot Mirror


On the Subject of OpenGL 2.0

zendal writes "The danger with pixel shaders and vertex shaders is that there is no standard for programmability of graphics hardware. A schism has formed within DirectX between the competing demands of GPU makers Nvidia and ATI. Noted analyst Jon Peddie gives THG an exclusive first look at a White Paper on how OpenGL 2.0 is trying to bring stability and open standards to programmable graphics and GPUs."

24 of 126 comments (clear)

  1. The Standard is always long to come by gounthar · · Score: 5, Interesting

    In every emerging technology, there will always be a delay between the first appearance and the outcome of an almighty standard.
    It was the same with SuperVGA (took about 2 years), Internet Protocols (still on going, W3C is struggling for standards) and now OpenGL and DirectX.
    OpenGL 2.0 seems pretty much like the definitive solution...

    --

    Violence is the last refuge of the incompetent - Salvor Hardin

    1. Re:The Standard is always long to come by bonzoesc · · Score: 3
      gounthar said this:
      OpenGL 2.0 seems pretty much like the definitive solution...
      Somebody better tell all those Windows developers who keep using DirectX to do their graphics. It seems that very few developers (id, Epic) still use GL in Windows, and they probably use it just because they plan to port their games. IIRC, Croteam (makers of Serious Sam) uses D3D with simply amazing results and speed.
    2. Re:The Standard is always long to come by Starship+Trooper · · Score: 5, Interesting
      As long as IDSoftware uses OpenGL, there will be life left for it on the games industry.

      Rarely do you see something on Slashdot that contains as much truth as that statement. Microsoft focuses their best development efforts into free products designed to crush other people's standards. OpenGL has been a continuing thorn in their side, and their ferocious work on Direct3D is aimed at obtaining the complete dominance they're used to in the gaming market. Jon Carmack has (almost singlehandedly) prevented them from doing this, and the ensuing competition has left consumers and game developers with... two really good standards. I could almost feel good about this, if it weren't for the fact that iD is competing with a monopoly, and is succeeding only because they remain privately owned and hold their market presence through sheer programming prowess.

      If only we had someone like Carmack to write Office software for Linux.
      --
      Loneliness is a power that we possess to give or take away forever
  2. interesting point at the end by 4im · · Score: 5, Insightful

    A most interesting point is right at the end of the article:

    One of the key points stressed by the ARB is that the "open" needs to go back into OpenGL. The group has pledged that all ideas submitted for OpenGL, if adopted, are then open for use and not licensable as IP.

    So, they won't pull a "Rambus" here... hopefully.

    1. Re:interesting point at the end by Alsee · · Score: 4, Insightful

      all ideas submitted for OpenGL, if adopted, are then open for use and not licensable

      And the next sentence is an important explanation:

      what we're seeing is a recognition ...that graphics... is pretty much the whole point, and a commitment to that is a commitment to success in graphics.

      W3C take note! The same goes for internet standards. If it can't be used by everyone, then it's not a standard, it's proprietary. Anyone who wants to make/use something proprietary is free to do so, but standards bodies should never impose them.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
  3. The problem with OpenGL on Windows... by syzxys · · Score: 3, Informative

    ...has always been that driver support is buggy. nVidia is notoriously bad at this; their DirectX drivers are quite stable, but OpenGL blue screens left and right (especially with a lot of detail in the scene graph). I always wondered why they even bothered to include OpenGL support in their drivers, although I suppose with such a major standard they have pretty much no choice.

    Now, with OpenGL 2.0, if they have to support three different API's, isn't driver quality going to suffer even more? Oh well, ATI has been getting a lot better recently, I guess we can always switch to them. :-)

    ---
    Crash Windows XP with just a simple printf!
    1. Re:The problem with OpenGL on Windows... by IPFreely · · Score: 3, Interesting
      I'd guess the hope is that once OpenGL 2.0 stablizes, then OpenGL 1.3 compatibility can be dropped and we're back to two standards.

      THEN, maybe Micorsoft and the OpenGL group can try come to terms and maybe bring DirectX compatibility closer to OpenGL (Or vs/vs) and have a single standard.

      It sounded like Microsoft wanted to come into compliance with OpenGL before, but dropped it because the OpenGL group moved too slowly. (Insert your own M$ conspiricy theory here, but I suspect they really honestly tried, and if a good opportunity arose, would come back and try again).

      --
      There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
    2. Re:The problem with OpenGL on Windows... by jaavaaguru · · Score: 3, Insightful

      "Blue Screens" are caused by a fault in the Kernel or something writing to memory it's not meant to be writing to. Assuming normal user processes can only write to their own memory space, then it is a fault of the kernel. Sure, Open GL might be buggy, but it's your Windows kernel that's causing the blue screen. A remotely stable kernel would just complain that the game or whatever was using OpenGL did something nasty, then continue with its work as usual. If an OpenGL app on Linux crashes (yes it can happen) it could mess up a display driver (take NVidia's ones before the 23.13 GLX one for example) and cause X to restart. Notice that it doesn't cause a kernel panic.

      always wondered why they even bothered to include OpenGL support in their drivers

      If i was a video card driver writer, I'd be concentrating on making the existing one more stable instead of contemplating why we even bother producing it. Doesn't the PS2 (playstation) use OpenGL? Macs use OpenGL. What do SGI machines use? DirectX may be most popular among Windows games programmers, but it's not the only industry standard worth following. If software developers for PCs concentrate purely on DirectX they would never have had some of the amazing games that originated in the console market, as they never had DirectX support to start with.

    3. Re:The problem with OpenGL on Windows... by syzxys · · Score: 4, Informative

      "Blue Screens" are caused by a fault in the Kernel or something writing to memory it's not meant to be writing to.

      This is almost correct. Blue screens are caused by a fault in *kernel mode* (Ring 0 on Intel architecture), which is not equivalent to "in the kernel." WDM drivers (like the nVidia graphics drivers), as well as all NT drivers and in fact the entire USER and GDI subsystem (since NT4), all run in kernel mode. None of these components are technically the kernel. Btw, wild pointer writes are a kind of "fault in kernel mode."

      Assuming normal user processes can only write to their own memory space, then it is a fault of the kernel.

      No argument there. See also this page. But as I already pointed out, the nVidia driver runs in kernel mode, not user mode, so this argument is not relevant.

      Sure, Open GL might be buggy,

      OpenGL can't be buggy, it's just a specification. nVidia's implementation is buggy, like I said. This is especially apparent considering that the blue screen errors have the name of nVidia's kernel mode driver in them.

      but it's your Windows kernel that's causing the blue screen.

      Again, confusing "the Kernel" with "kernel mode." Hey, I hate Windows as much as the next guy, but that's no reason to post incorrect technical information about it and hope nobody will realize you're blowing smoke out your ass. Next time, do a little more research first.

      ---
      Windows 2000/XP stable? safe? secure? 5 lines of simple C code say otherwise!
    4. Re:The problem with OpenGL on Windows... by Namarrgon · · Score: 5, Informative
      I've read so many comments on the high quality of nVidia's OpenGL drivers over the years - from people I tend to believe, like John Carmack & Brian Hook. Things like "it just works", "best in the industry", "better than any other [consumer?] vendor's", etc.

      What exactly leads you to say otherwise? Presumably personal experience, rather than just a desire to trash nVidia, but compared to what? Given that 3D game luminaries have repeatedly stated they prefer nVidia's OpenGL drivers to those from ATI or (shudder) Matrox, that really only leaves the few remaining "professional space" vendors (sgi, 3DLabs), and I can't imagine they're universally perfect either.

      Perhaps your perspective needs widening? Or perhaps you're running into the same bug over & over and have not bothered to notify nVidia about it? (or perhaps they just think it too isolated a case to get a high priority)

      --
      Why would anyone engrave "Elbereth"?
    5. Re:The problem with OpenGL on Windows... by Error27 · · Score: 3, Interesting

      I was wonderring the same thing.

      I have heard bad things about nVidea on Linux. Part of the problem was a bug in certain AMD mother-boards that got fixed in the kernel two months ago. (AMD mother-boards in the sense that they worked with AMD cpus. AMD doesn't make mother boards itself). I think the problem was probably publicized more because people don't like the close source driver.

      I don't remember hearing bad things about nVidea on windows.

    6. Re:The problem with OpenGL on Windows... by syzxys · · Score: 3, Informative

      That's true, but I already admitted I was wrong about that completely irrelevant (to the original post) detail in this reply to this helpful comment. Thanks for pointing it out again though, it *was* stupid of me to post that and then bitch about someone else doing the exact same thing later in the thread.

      ---
      Windows 2000/XP stable? safe? secure? 5 lines of simple C code say otherwise!
  4. Re:DirectX and speed by grinwell · · Score: 3, Funny
    Interesting quote from the article:
    In fact, the tables have turned. Less burdened by the OpenGL committee-based design approach, DirectX is providing a number of examples for what OpenGL might someday offer. The prime innovation is the promise of programmability included in an API, which, though quite a ways from being widely put to work by developers, is attractive to ISVs and IHVs alike. It means that graphics development can be taken as far as any creative developer wants to take it, and all the effects, looks and features will be accessible by mainstream hardware and software. It also offers that long-sought and oft-promised goal of "off-loading the host CPU." The members of the OpenGL ARB, for the most part, companies also developing products for DirectX , clearly recognize the desirability of furthering OpenGL - the ability to deliver their products across hardware platforms. GOD, I THINK THAT'S WORSE. Try this

    (methinks the editor left in a few comments ;-)
  5. extensions good. opengl good.. directx??? by TechnoVooDooDaddy · · Score: 4, Insightful

    sounds really great, but i don't see it happening... nVidia, ATI, Voodoo, whomever will alway wanna do the next cool great thing and that's why the extensions are available...

    And we all know MS wants DirectX to rule them all. OpenGL works, and is an open standard by definition. Extensions in there make life interesting certainly, but you pretty much know what you're getting into when you try NV_texture_rectangle or NV_texture_shader. (hint, the NV stands for NVidia) sure you can find out in directx if the hardware supports XYZ before you call it, but i find the naming convention of OpenGL a bit more coder friendly. it's readily obvious if you're trying something that's not supported across the specification.

  6. Exclusive first look? by Jonathan+Blocksom · · Score: 5, Informative

    I don't think so. The 2.0 proposal was brought up at the September 2001 OpenGL ARB meeting -- about five months ago. And the OpenGL 2.0 White Paper has been since at least November. While this stuff is important, there's nothing new about it. (Good thing, too; good standards take time.)

  7. Lots of programmable processors by Dante'sPrayer · · Score: 4, Interesting

    A vertex processor, fragment, pack and unpack are going to be supported.

    • Vertex processing is targeted to replace lighting, materials and coordinate transformations, all on hardware level using a high-level API.
    • Fragment processing will let a better access to texture memory, surely allowing some nifty effects like texture animation or pseudo-refraction on hot air.
    • The pack and unpack processors will allow a faster transmission of vertex data through the buses, hopefully reducing the bandwith bottleneck.
    All of those can and are at the present being implemented on software, but will be nice to see them implemented on hardware.
  8. How about a new version of X windows with OpenGL? by boltar · · Score: 4, Insightful

    X11R6 is old enough now so how about X12 that has OpenGL (and lots of other improvements) build in?
    So Xlib would have it incorporated and it would be much faster than as is done now of building it
    on top of Xlib and extensions.

  9. Cunning move by 3DLabs by EnglishTim · · Score: 4, Insightful

    I think this is a cunning move by 3Dlabs - Their business is being threatened by nVidia and their Quadro range - it'll be interesting to see how unbiased they can manage to be when generating the spec.

    Otherwise, I think it's a good idea. It'd be nice to see OpenGL keeping up with (or even outshining) DirectX...

  10. Re:extensions good. opengl good.. directx??? by bribecka · · Score: 3, Insightful

    I can't speak much to DirectX, but you can also query out what extensions the hardware (or at the very least ICD) supports in OpenGL. But even if you don't, an unsupported op is treated like a non-op anyway, so even if you call an NV_ extension on an ATI board, it shouldn't do any harm (or am I incorrect?).

    Regardless, the extensibility of OGL is a double edged sword. Really, it does make features board-specific, which is not the point of OGL. On the other hand, allowing these extensions does drive the future of the standard. It lets everyone throw what they got out in the public and see what sticks.

    Personally, I'm glad that OGL has huge gaps in standards updates, unlike DX. After all, it *is* a standard, and should be relatively static. Each new version of the standard should be absolutely positively a good standard. Anything missing can be used as an extension in the meantime and added to the next version 4-6 years down the road. This is the strongest point of OpenGL vs DirectX, there is a controlling body of many companies, rather than one main controller (MS). Bringing together the experience of co's like MS, SGI, NVIDIA, ATI, etc not only makes the standard better but adds a level of comfort to the users of the standard.

    Basically, my point is that OGL standards *should* take a long time to finalize. Everyone seems to forget that standards should be able to last a long time. OGL is now on v1.2/1.3 after an evolution of around 10 years, while DX is nearing DX9 since, what, 1995 or so?

    --

    Where are we going and why am I in this handbasket?

  11. Scrap OpenGL, start over.... by CDWert · · Score: 3, Insightful

    IMHO, its time to SCRAP OpenGL and start over,

    Modern hardware support is critical, interfacing with what seems to be a diminishing number of compatile drivers is critical. Keeping the spec out of MS control is critical.

    There are MANY options to a ground up rewrite of OpenGL supporting CURRENT hardware, working with the Hardware vendors directly is the key.

    I understand this is not an undertaking to be taken lightly, I have been working on options and looking for cross platform alternatives for a couple of months up to now, there are several promising alternatives, I hope to present these in a short time.

    OpenGL's time is over it seems, MS is working with vendors explicitly to limit their support, there remain major differences of opinon in it developer base and schisms seem to be forming in it goals.

    --
    Sig went tro...aahemmm.....fishing........
  12. Absolutely by epepke · · Score: 3, Insightful

    It's especially problematic for graphics standards. GKS, which was hideously based on ideas from pen plotters, still dominated much of the 1980's. Open GL has been pretty good, but it's stuck in some 1980's ideas. For example, the strict ordering of primitives makes sense in a world of bit blasters where double-buffering and Z-buffering are expensive, but it makes little sense on modern hardware and even worse makes it impossible to implement some of the better modern techniques (such as hierarchical global scanline algorithms). Some day, we're going to have systems that cost less than a million dollars that can do real-time ray-tracing, radiosity, and other solutions of the Rendering Equation.

  13. Extensions by Error27 · · Score: 4, Insightful

    The "Specification Overview" pdf from the 3dlabs white paper page is pretty interesting. It has a list of over 250 opengl extensions and what happens to them in opengl 2.

    Basically they all disapear.

    Some have already become part of the standard. Some are added to the standard in opengl 2. Some just disapear altogether.

    But the large majority of them are not needed anymore when you have programability, memory management and opengl objects etc.

    To me that means that opengl 2 is way more flexible. Flexible enough so that we won't need as many extensions in the future.

    And that's pretty cool.

    (BTW: Brian Paul is a member of the ARB. He wrote on the mesa list that he hasn't been following the opengl 2 process very closely but that he expected that they would probably want him to write a free implementation).

  14. Re:Problems with programability in the graphics bo by spitzak · · Score: 3, Informative
    I think you misunderstand shader languages.

    They are used extensively in film graphics. All other major renderers, not just RenderMan, have shader languages. Ie vMantra, Maya, LightWave, etc.

    Shaders do not "replace" texture maps. One of the most-used functions in a shader is to look up a given uv coordinate in a texture map and use the resulting color to control the shader. In fact most of the shaders we write involve manipulating texture maps, which were (as you said) painted by hand. We can do much more interesting things with textures other than just using them to color the surface!

    I agree about the pack/unpack mess. I think all useful image formats could be described by these items: number of bits per sample (limited to powers of 2), number of samples per pixel, delta between each pixel (so they can be further apart than the number of samples or you can trivially mirror it with negative numbers), delta between each line (allows a "window" to be cut out of a larger image, allows flipping upside-down, and allows 90 degree rotations by adjusting both deltas). There is no need to describe what the samples are, that can be determined from the count and what function you are calling, we can insist on RGBA order for normal images.

  15. 3DLabs are in a different market. by himi · · Score: 3, Informative

    They don't sell gaming boards, they well professional boards - they're competing with NVidia's Quadro cards, not with the GeForce cards.

    3DLabs are actually (I believe) the best selling make of professional graphics cards - they're not a wannabe by any stretch of the imagination.

    himi

    --

    My very own DeCSS mirror.