Slashdot Mirror


3D Labs Proposes OpenGL 2.0 To Kick DirectX

furiousgreencloud writes "3Dlabs is trying to drive the graphics interface away from hardware specific extentions, as seen in DirectX. Instead, they are proposing an open (no NDA) dialog on OpenGL 2.0. The guidelines mention good-ol-fashioned platform independence (linux included) and emphasis on programmability, time control and memory managemenmt. They've got a PDF availible for consumption."

49 of 196 comments (clear)

  1. Nvidia makes games eventually. by minus23 · · Score: 3, Interesting

    Soon we'll have Nvidia making games tho I'm sure that will be created on a proprietary system even more stringent than where we are now. You don't think so? --- Example: ... "It's the hottest game of the year and they don't take ATI." (Sung to the toon of a Visa comercial. It's in Nvidias best intrest to make this happen. Tho maybe not in the markets best interest.

    1. Re:Nvidia makes games eventually. by bonzoesc · · Score: 4, Funny
      minus23 gathered up his thoughts and spouted this out:
      Soon we'll have Nvidia making games tho I'm sure that will be created on a proprietary system even more stringent than where we are now.
      Oh, the X-Box.
    2. Re:Nvidia makes games eventually. by Glock27 · · Score: 4, Insightful
      Soon we'll have Nvidia making games tho I'm sure that will be created on a proprietary system even more stringent than where we are now. You don't think so?

      No, I don't. The culture at NVIDIA comes mainly from an SGI background, so OpenGL is something of a religion there. Further, unlike some companies, NVIDIA seems to understand the positive feedback effect of open APIs (just not Open Source, yet).

      So, NVIDIA will have to be content with the current situation: "It runs at 30 FPS on the Radeon, but at 80 FPS on a Geforce 3!". ;-)

      --- Example: ... "It's the hottest game of the year and they don't take ATI." (Sung to the toon of a Visa comercial. It's in Nvidias best intrest to make this happen. Tho maybe not in the markets best interest.

      The current (OpenGL) situation is one where vendor-specific extensions are used to expose advanced functionality (shaders primarily). This means diffent paths through large portions of OpenGL based rendering engines. This is actually closer to 'NVIDIA specific' games, but NVIDIA knows that ISVs will just migrate to Direct3D where those features are properly abstracted. DirectX 8.0 has incorporated these features into the base API (and NVIDIA is just another player there, although it had a hand in defining the spec - just as it will with OpenGL 2.0).

      OpenGL faces losing many ISVs unless there are standard ways to access these features. THAT is the motivation behind OpenGL 2.0. If you want strong, cross-platform 3D capabilities, do whatever you can to support OpenGL. OpenGL 2.0 looks like a great evolutionary improvement, and should continue to spank Direct3D in most respects. It certainly will in the area of Linux support. ;-)

      If you're interested in OpenGL programming, there are many great resources on the web, including the The Official OpenGL Site and The OpenGL GameDev Mailing List.

      299,792,458 m/s...not just a good idea, its the law!

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
  2. Good idea... by talonyx · · Score: 4, Interesting

    ...but the current OpenGL standard is extensible enough for the time being. More important would be a complete OpenAPI setup with input, sound, network, and graphics options all combined and available on all platforms.

    Sure, including specific instructions for per-pixel operations etc. for all cards as opposed to stuff like GL_EXT_NVIDIA_WHATEVER would be great, but it's not likely that there will be many drivers for any older cards for this, and all the new cards have great GL drivers already...

    Basically, this is unneccessary.

    1. Re:Good idea... by Anonymous Coward · · Score: 2, Offtopic

      there already is an open sound library, apparently, its done by loki. http://www.openal.org/home/

    2. Re:Good idea... by donglekey · · Score: 5, Insightful

      This is completely untrue.

      A standard for pixel and vertex shaders that is not specific to any one card is a very big deal, and people are reconizing that it is the future. Many people are scared of games being released for only one card, and/or having to write a game for only one card. I don't think anyone wants that to happen. Standards mean more competition, more competition means higher quality and lower price at a faster rate. Defining a standard for procedural, hardware implemented functions will be key in advancing realtime 3D further. Image based textures are eventually going to be phased out for most purposes (as seen with trends relating to high-end 3D and the trickle down effect into realtime) and a standard makes it infinitly easier. There are many other applications, such as acceleration of non-realtime rendering, which is also a very big deal, and vastly accelerated and much more realistic previews in 3D applications. 3D Studio has already started to do this a little bit and it looks great.

    3. Re:Good idea... by dimator · · Score: 2, Interesting

      Well, from what I understand (and feel free to prove me wrong), whenever you target multiple platforms, you sacrifice the performance you'd get if you focused and optimized for one platform. Add that to the fact the only platform that people seem to buy games for is Windows, and you see why game developors gravitate towards DX.

      So, it might be too late for such an initiative already.

      --
      python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    4. Re:Good idea... by GiMP · · Score: 2, Interesting

      OpenAL is not dead, as it seems many believe.. but it is very stable :) There isn't much one can do to it now, other then bugfixes..

      SDL sound sucks, thats why OpenAL was written. all of Loki's sdl based games use OpenAL.

    5. Re:Good idea... by SurfsUp · · Score: 4, Insightful
      Well, from what I understand (and feel free to prove me wrong), whenever you target multiple platforms, you sacrifice the performance you'd get if you focused and optimized for one platform.

      Sure, that's why Linux runs so poorly on a dozen different platforms, right? :-P

      --
      Life's a bitch but somebody's gotta do it.
    6. Re:Good idea... by Paul+Komarek · · Score: 3, Insightful

      Once you have platform independence, you can run games on the latest, greatest hardware with less or even no rewriting. Don't think of the cards supported at one time slice, think of the hardware coming out in the next half year. Using history as an example, wouldn't it have been nice to be able to run all those old (Voodoo days) Glide-based games on your NVidia TNT(2)(ULTRA) or GeForce[23][MX|ULTRA|GTS] or ATI Radeon?

      So you might lose 5% performance by targeting multiple platforms now, but you gain 200% performance when new hardware comes out.

      At one time, 3DFX was threatening or suing people that wrote Glide-like wrappers around DirectX. These wrappers allowed NVidia cards to run Glide-based games. That was when NVidia was starting to threaten 3DFX's revenues, but 3DFX was still the leader in the 3D gaming market.

      NVidia has already badmouthed the Kyro, telling computer salespeople that selling the Kyro is begging for irate customers -- what with all the incompatibilities that it might have, and the fact that it is an "unproven" platform. Through extensions to DirectX, it will be easier for NVidia to generate deliberate "incompatibilities", and NVidia has the money to push game makers into utilizing the features, and the marketing force to change the market into believing these features are important.

      That scenario plays out much differently if we reduce or disallow vendor extensions. I think it is worth the 5% performance penalty. As usual, peace and harmony are in our interests, but not in the interest of any business that wants to control the market.

      (all percentages above are made-up; any similarity to real percentages is strictly coincidental, not to mention lucky)

      -Paul Komarek

    7. Re:Good idea... by Graymalkin · · Score: 2

      Portability's woes lie in the quality of the OpenGL implimentations as well as drivers for the specific device. Quake doesn't really ask alot of any relatively modern system, I used to play it with good framerates on an old Pentium 100 NEC. Performance differences between different OSes and OpenGl implimentations are hard to measure because the margins are so close on any modern system. It's good you mention the actual WORTH of porting code to different systems. Was Quake ported to a dozen and a half OSes when it was first released? No it brought in its megabucks and gained and lost popularity before you saw a highly portable version of it.

      --
      I'm a loner Dottie, a Rebel.
    8. Re:Good idea... by jtdubs · · Score: 2

      Compared to solaris?

      Justin dubs

    9. Re:Good idea... by be-fan · · Score: 2

      Are you kidding? GLUT is so lame compared to DirectInput. And you know why? IT WASN'T DESIGNED AS A PRODUCTION API!

      --
      A deep unwavering belief is a sure sign you're missing something...
    10. Re:Good idea... by Dwonis · · Score: 2

      Linux does will because many other systems are crap, not because Linux is inherently great.

    11. Re:Good idea... by donglekey · · Score: 2

      Definitly some intersting ideas, but video games are dynamic of course, so when you say scene graphs what exactly are you referring to. Everything has to be relative to something else, but nothing is really set in stone. I think that this isn't really the focus for good reason right now, complex animation and movement will be the frontier after achieving a good amount of realism that we seem to be on the verge of with the Gamcube and XBox. Games are starting to look very good, and have distinguished styles. Making the animation as complex will come later, and it will be fucking incredible.

  3. Mirrored by ekrout · · Score: 5, Informative

    This 2.25MB pdf will surely be inaccessible in a few minutes. I've mirrored it at http://ekrout.resnet.bucknell.edu/mirrored.pdf.

    --

    If you celebrate Xmas, befriend me (538
  4. Lacking by SilentChris · · Score: 2, Redundant
    "The guidelines mention good-ol-fashioned platform independence (linux included) and emphasis on programmability, time control and memory managemenmt."

    Minus DirectSound, DirectInput, and all the other things which make DirectX a "good thing (tm)" for Windows (simple interoperability with hardware using standardized API's, simple driver writeups). For the time being I'll pass.

    Besides, I can always teach my upcoming XBox to dual-boot. :) Best of both game-playing worlds.

    1. Re:Lacking by SurfsUp · · Score: 3, Interesting
      Minus DirectSound, DirectInput, and all the other things which make DirectX a "good thing (tm)" for Windows (simple interoperability with hardware using standardized API's, simple driver writeups). For the time being I'll pass.

      I suppose it's not your fault that some clueless moderator thought your post was insightful but I'm embarrassed for him ;-)

      OpenGL is the (free, open, clean and crossplatform) counterpart to Direct3D, not DirectX.

      --
      Life's a bitch but somebody's gotta do it.
    2. Re:Lacking by Osram · · Score: 2, Informative

      Have you seen PLIB ?
      This not only includes a portable (Linux, BSD etc, Windows, MacOS etc) scene graph on top of OpenGL and sound and input, but also the other stuff you need for games development like networking and graphical user interface.

    3. Re:Lacking by SilentChris · · Score: 3, Informative
      Ahem.

      "3D Labs Proposes OpenGL 2.0 To Kick DirectX"

      DirectX includes all of the extensions shown above. OpenGL just does graphics. The author of the post, and the person who posted the story, clearly wanted to make a comparison between OpenGL and ALL of DirectX, which as as mentioned before, is ludicrous because of all the stuff OpenGL is lacking.

      Get your facts straight.

  5. This IS necessary by rips · · Score: 5, Informative
    There seem to be a lot of posts stating that the current OpenGL implementation is good enough but I question whether or not these people are developing software with the latest graphics features.

    Vendor specific extensions are making cross-vendor OpenGL development difficult. It is necessary to implement several different codepaths in order to achieve various effects on different hardware (bump mapping, cubic environment mapping, etc.) because each vendor wants to do it their own way to expose all of the new capabilities of their hardware. The SGI multitexture extension is probabily the only real exception to this since it seems to be supported by the bulk of cards on the market.

    I don't know of any current AAA, A or B grade game that doesn't support at least one proprietary OpenGL extension.

    DirectX8 exposes the hardware in an 'almost' abstract manner but again vendor specific features have started to creep into the mix (the different shader version support is something that comes to mind), meaning that developers still have to develop multiple versions of the same effect for different hardware.

    This is definately a great move! I hope they succeed!

    1. Re:This IS necessary by Anonymous Coward · · Score: 2, Interesting

      So in OpenGL, you have vendor specific extensions.

      In DirectX, you have vendor specific releases of the whole API!

      DirectX 8 = DirectGeforce
      DirectX 8.1 = DirectRadeon

      It'd be a lot more honest and less confusing if they just used the names of the cards rather than numbers...

    2. Re:This IS necessary by Jurjen+Katsman · · Score: 5, Insightful

      While it might be true that DX8.0 added a lot of features that only worked on the Geforce3 back then, the new Radeon 8500 supports all those features just fine as well.

      DX8.1 adds new features only available on the Radeon 8500, but a new NVidia card will be able to run all that just fine as well.

      The plan is for this to continue in this fashion, so the next NVidia card will probably support PS1.4 again (the R8500) stuff, and so forth.

      This is a very different situation from OpenGL where the way to do pixelshaders is completely different on ATI or NVidia hardware, and anything you do for an NVidia card will never work on an ATI card, and not the other way around either. As far as I know the same applies to vertexshaders, and ATI still doesn't have their own version of NV_VertexArrayRange. (And they certainly need it).

      On OpenGL2.0, it seems like an interesting plan at first (I'm always open for API innovation), but atleast for gaming it doesn't seem to be a very interesting API, and not very forward thinking either. For example keeping the framebuffer blend out of the programmable pipe goes directly against what game programmers have been asking for.

      In addition it seems the API would have a lot of problems running on current hardware (not to mention how long it would take for drivers to even get close to stability). OpenGL2.0 would expose model for vertex and pixelshader programming that would be completely unsupported by current hardware. This means you will have a lot of rules to follow to achieve hardware acceleration on specific hardware. When using more features you'd drop back to mostly unacceptably slow software emulation. This would either be hidden (and you could only find out by browsing PDFs hidden somewhere on some IHV site), or it would have to be exposed through some sort of caps system. (Exactly what the OpenGL crowd so seems to dislike.)

      Anyway, I don't see this working yet, not for the games market, maybe for others. Best of luck to them anyway.

    3. Re:This IS necessary by Namarrgon · · Score: 5, Interesting
      Indeed. This is one of the things they talk about in the recent OpenGL ARB meeting notes.

      nVidia's extensions alone total more than 500 pages, compared to 230 pages for the entire OpenGL 1.3 spec. ATI has their own comprehensive list of extensions, as does SGI and many others. Since there's little natural overlap, each vendor implements similar features in a different way (e.g vertex shaders), and you have to code for each vendor's set of extensions separately. The OpenGL ARB can "ratify" extensions to promote standardization, but you still have to cope with them not being present at all.

      This is exactly the problem developers have with DirectX - MS regularly revs the entire API to try and support features from every vendor, so there's an ever-increasing number of ways the underlying hardware differences are exposed, and the number of hardware caps that have to be checked before doing anything is growing rapidly. There are 4 different versions of pixel shaders that a vendor can support in DX 8.1, and the only reason it's not more of a mess is that there's only two chips which support any of them so far (and one of those isn't even available yet).

      Regular simplification & unification of all these diverging directions is required. Vendors should of course be able to add innovative extensions, but a core of Really Useful standard features must be maintained & extended, so that hardware vendors have a baseline to target, developers can rely on the features being present, and the lowest common denominator gets steadily pushed higher for everyone.

      --
      Why would anyone engrave "Elbereth"?
    4. Re:This IS necessary by Midnight+Thunder · · Score: 2

      Maybe what is needed is for the extensions to be open, at least in the way of their API. That way as a new feature is added by on company it becomes an extension registered with some body and then work would be performed by the community to ensure that is available for implementation by any other of the card manufacturers. I can imagine that this would lead to a case where we would be talking OGL + extension collection 1, etc. At least this way the time for implementation should be reduced.

      --
      Jumpstart the tartan drive.
  6. In support by mesmin · · Score: 2, Interesting

    Not only is this a worthy cause (eliminating the depenence hardware specific extensions), but I fully support a graphics solution that doesn't have the final say on everything rest with MircoSoft.

  7. You mean SDL? by Starship+Trooper · · Score: 5, Informative

    This has probably already been said, but the SDL library is probably our best bet. It has been in development for the past two years or so, and has progressed immensely into a stable and feature-rich development platform. It is a complete cross-platform solution for high-performance game graphics, sound, and input on an insane amount of platforms, including the requisite Windows, Mac (both Classic and OS X) and *nix. Ports are also available or in the works for QNX, BeOS, Amiga, and a number of other OSes, I'm sure. I have used it for some of my projects, and I must say it is far superior to any other API I have ever tried, including DirectX (which it encapsulates nicely :-). Sam Latinga, the founder and main coordinator of SDL, is not only a great programmer and API engineer, but a nice guy as well.

    --
    Loneliness is a power that we possess to give or take away forever
  8. Misc first impressions by Anonymous Coward · · Score: 5, Informative

    Loops

    I'd recommend against general for and while loop constructs in the shading languages. These are difficult to statically analyze the behavior of. For instance, you could stall your pipeline with an infinite loop but no compiler can detect infinite loops. Also, loops are rarely used except for Perlin noise where you iterate down to a particular frequency.

    Loops of a particular form can still be analyzed, and would be useful. Something like this:


    for (int i = 0; i &lt N; i++) { body }


    If i is 'const' within the body, then this will iterate at most N times, giving you a bound on the compute time needed. Note that if N is an arbitrarily large number, it may still be difficult to analyse. Here's another form that is more generally boundable:

    for (int i = 0; i &lt N && i &lt 20; i++) { body }

    This will run at most twenty times, giving an easily computable upper bound on the total run time for the loop. Of course, 20 was just pulled out of a hat, and should probably be a constant specific to the compiler or hardware available.

    Memory Management Issues

    Pinning is dangerous, your program could be really broken on a graphics card with smaller memory than you intended. At the end of the standardization process it will probably become a mere 'hint' anyway.

    An alternative might be to treat the memory management as a generational garbage collector, with user hints on what generation things should fall into. Rather than specify a particular management scheme, the programmer could hint at how dynamic the object would likely to be, say for instance ranking them from 0-7, with 0 being transient and 7 being pinned. Alternatively the systems themselves could become more intelligent, tossing everything into the transient area, and migrating them upstream automatically when the transient area starts to fill up.

    Another useful operation would be to hint flushing everything below a certain level. So for instance you could give Everquest character models a level 5, the terrain a level 4, mobs a level 3, and various effects and candy at lower levels. Then on zone you would just specify a flush of levels 4 and under to clear that memory, while leaving the character models intact.

    For added flexibility to this model, multiple different memory pools could be managed in this fashion. It remains to be tested whether that would be worthwhile or not.

    Well, that's all I could think of off the top of my head. Good luck on OpenGL 2.0!

    Michael

  9. OpenGL ARB Meeting notes by Namarrgon · · Score: 3, Informative
    Available here.

    There's a lot of discussion on how/when/why they want to move forward to OpenGL 2.0. Gives some interesting insights into how these things are done.

    Also, there's some talk about nVidia's new position on opening up their vertex shading IP, GL_vertex_program_NV vs. ATI's GL_EXT_vertex_shader, and which approach would be better for OpenGL 2.0 (low-level vs. high-level).

    --
    Why would anyone engrave "Elbereth"?
  10. Re:but we already have directx by Jurjen+Katsman · · Score: 3, Insightful

    Jeez. Major trolling.

    Or do you actually believe everything you just said?

    The Structure of Array link is actually fairly interesting, but if you think about it it has no meaning to this argument. OpenGL has allows allowed you to specify seperate streams, but X/Y/Z are still bound together. That's not SOA, and not what Intel likes. When you get down to it the whole SOA thing was basically just Intel making up excuses and workarounds for poor CPU design.

    In fact most modern hardware (Radeon, Geforce) will prefer it if you pack all your vertex components together, as DirectX has always worked. This all to make more efficient use of memory bandwidth.

    Ofcouse that link to Paul Hsieh's site is ancient, and reflects a persons opinion of a battle that raged years ago, based on years old facts. Not all that interesting really.

  11. Good idea, too late. by Invisible+Agent · · Score: 2

    Great, they're closing the barn door after the livestock has left.


    Seriously, why now? This could have easily happened long ago, before Nvidia crushed the competition. I don't like the world where looking to open source (or even just open discussion) is the last resort of a dying technology.

    --

    Invisible Agent
    This post is a mirror; when a monkey stares in, no hacker gazes out.
    1. Re:Good idea, too late. by AndrewHowe · · Score: 2

      Kyro isn't a new player, it's a rebadged and turbocharged PowerVR.

  12. In similar news... by mattkime · · Score: 3, Funny

    In similar news...

    Linus Torvalds proposes to kick Bill Gates.

    It is uncertain as to whether the world's richest man will propose a retaliation kick. Such a proposal could be viewed as a sign of weakness. It should be noted that while Gates is phyiscally much smaller than Torvalds, microsoft operating systems have a much larger market share than linux.

    --
    Know what I like about atheists? I've yet to meet one that believes God is on their side.
  13. Re:OpenGL by spectral · · Score: 2, Informative

    Can you provide an example of how it's dying? It's evolving, that's what this whole article is about, one of the largest revisions/additions/etc. to the OpenGL specification since it was made (hence the major version # increase). If you're going solely by games, well, most develop for Windows. In Windows, drivers seem to be optimized for D3D. So games use D3D. Plus, they're using the rest of the DX suite for sound/input/etc. anyway, why not? These are the same people who don't care about portability.

    So basically, You're just a troll. And I've been trolled. Damnit :)

  14. better language bindings needed? by wrinkledshirt · · Score: 2, Insightful

    In my opinion, if you're comparing DirectX and OpenGL then you're really talking about group multimedia projects, and I really think that sticking it out in C isn't the way to go for that.

    I love C, but there are huge design benefits in going OO with C++. Eventually you'll get to the point where there'll be a large body of accepted base classes that should handle all the standard 3D objects you might need for a game, and then you won't have to (eg) search all over the internet to find obscure libraries in beta form just to get your program to load a model from a 3D cad program.

    --

    --------
    Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...

    1. Re:better language bindings needed? by Junks+Jerzey · · Score: 2

      I love C, but there are huge design benefits in going OO with C++.

      Then use C++ for your game code. There is no need to make OpenGL be object-oriented.

  15. Weird man, weird by Graymalkin · · Score: 2

    Game developers have to develop where the market is. Game developers aren't scratching their heads in a huddle making sure some vertex shader is going to work on a MIPS box as well as a Intel one. They also aren't wondering if they ought to code some API extensions used by a chip that is in a fraction of a percent of boxes. The ones clamouring for standards are the third tier and lower chip makers that have a fraction of the market penetration ATi and nVidia have. If you've got support for ATi, nVidia, and 3dfx you're set to go on just about everything. I'd bet the markets for the big three (now the big two) is fairly even considering the proliferation of ATi cards in OEM systems. Selling your game to a publisher doesn't necessarily entail providing support for every potential market, just the ones the publisher decides are important. A bulk of game developers and publishers won't bitch much about standards while they can hit an incredible percentage of the gaming market by focusing on one system. The developers and publishers look at it like this: what are the machines we're targeting being used for? If the answer doesn't involve the machine sitting idle with signifigant amounts of computing power (enough for the proposed game, aka most consumer Windows machines) the game probably won't be developed for the system. Macs enjoy a much wider market than linux systems and have vendor support for APIs and are still second tier for game developers because not enough of them are sitting on desks in the game purchasing consumer's home.

    --
    I'm a loner Dottie, a Rebel.
  16. Re:but we already have directx by nathanh · · Score: 2
    In fact most modern hardware (Radeon, Geforce) will prefer it if you pack all your vertex components together, as DirectX has always worked.

    Just like OpenGL's interleaved vertex arrays.

    Circa ... 1996?

  17. Re:One serious problem with this. by DrXym · · Score: 2
    DirectX is prolific because it works and provides easy access to advanced funky effects. If OpenGL 2.0 offered the same level functionality *and* was cross-platform, I seriously doubt anyone would bother with DirectX anymore.


    After all, why lock your game into one platform when another equally good API allows you to port to other platforms (including consoles) with relative ease? Certainly you'd have to port all the sound and controller stuff but that's chicken feed compared to porting a game engine.

  18. Re:How is this news exactly? by AndrewHowe · · Score: 2

    No, 3Dlabs != 3dfx.

    3Dlabs produced the Permedia cards, which were marketed at gamers, and continue to produce professional workstation OpenGL accelerators based on the Glint chip.

    3dfx made the Voodoo series of cards. They're the guys who promoted Glide, which was their proprietary API.

  19. Re:One serious problem with this. by Namarrgon · · Score: 2
    The number one reason DirectX is popular among developers is because every consumer vendor has a decent DirectX driver, and few have decent OpenGL drivers.

    DirectX was much simpler when it first came out, so was easier to implement. It had Microsoft's weight behind it, it was being steadily improved, and it supported 90%+ of the target market. So vendors implemented drivers for that as part of their normal Windows support.

    A few (luckily influential) die-hards (like Carmack) used & promoted OpenGL, which forced minimal support from vendors (remember 3dfx's mini-driver?), but few vendors bothered to go the whole way & write a full OpenGL ICD.

    Direct3D was the lazy way out, so that's what people got.

    --
    Why would anyone engrave "Elbereth"?
  20. Clarification on vertex shaders by UnknownSoldier · · Score: 3, Interesting
    > Game developers have to develop where the market is

    True, but us game developers also buggered up the market by NOT actively pushing OpenGL instead of D3D, and developing for D3D *when we HAD a choice*.

    There was even a petition to Microsoft to better support OpenGL for gaming, which Microsoft responded by ramming D3D down everyones throats.

    I'm just thankfull that Carmack didn't sell out - he's the primary reason OpenGL support for games is still around. The OpenGL-Game-Dev list traffic has unfortunately slowed down, but it's not dead (yet.)



    > Game developers aren't scratching their heads in a huddle
    > making sure some vertex shader is going to work on a MIPS box as well as a Intel one.

    You don't do any PS2 coding do you? ;-)

    When your game is simulatenously being ported to X-Box, and the PS2 you need to re-implement the vertex shader natively on each hardware. It would save a LOT of time if us developers could use just ONE vertex shader description language for BOTH platforms !



    > A bulk of game developers and publishers won't bitch much about standards
    > while they can hit an incredible percentage of the gaming market by focusing on one system.

    And loose 1/2 your sales?! That's the reason a standard exists - so we DON'T have to code specifically for one card !

    Game developers want to maximize their sales with the least amount of work.

    Rest of your comment is correct.
    ~~~

    WTF is "Your comment violated the postersubj compression filter. Comment aborted" and why isn't it in the FAQ ?

  21. DirectX does only three things by yerricde · · Score: 2

    The author of the post, and the person who posted the story, clearly wanted to make a comparison between OpenGL and ALL of DirectX, which as as mentioned before, is ludicrous because of all the stuff OpenGL is lacking.

    DirectX does only three things: graphics, sound, and input. OpenGL handles graphics, GLUT handles input, and OpenAL can do sound. Other multimedia programming libraries include Allegro, SDL, and ClanLib, all of which can coexist peacefully with OpenGL graphics.

    --
    Will I retire or break 10K?
    1. Re:DirectX does only three things by be-fan · · Score: 2

      DirectX does only three things: graphics, sound, and input.
      >>>>>
      That's like saying that all Linux does is run programs!

      OpenGL handles graphics
      >>>>>
      Well, but Direct3D is a tad ahead at the moment.

      GLUT handles input,
      >>>>>
      But if infinately weaker than DirectInput

      and OpenAL [openal.org] can do sound.
      >>>>>
      But does it do MIDI like DirectMusic?

      Then what about protocol-independant multiplayer (DirectPlay), and multimedia (DirectShow)?

      Other multimedia programming libraries include Allegro [sourceforge.net], SDL [libsdl.org], and ClanLib [clanlib.org], all of which can coexist peacefully with OpenGL graphics.
      >>>>>
      They can do the same with DirectX, but because of all of DirectX's features, you don't need extra libs.

      --
      A deep unwavering belief is a sure sign you're missing something...
  22. Who carez by Otis_INF · · Score: 2

    There is hardware. That hardware is owned by your targetgroup. That targetgroup will buy/use your application. What do you do? That's right! You use the API that will make the targetgroup able to run your application on the hardware they own. Does the targetgroup care which api, which dll's, which 3d object format etc you use? No. They probably don't even know what a 'vertex' is.

    So if you have to use OpenGL, use OpenGL. If you have to use D3D, use D3D. Being productive, THAT's the key here. Not the emotional connection with any API. Save the emotions for a hobbyproject.

    --
    Never underestimate the relief of true separation of Religion and State.
  23. Re:Same old arguments by Doomdark · · Score: 2

    Yeah, that's why IBM PC compatible clone market died in 80s; nobody wanted non-proprietary hardware platform. Same for the TCP/IP and WWW on 80s and 90s; neither had a chance against cool stuff like decnet, netware and various cool hypertext protocols that rule nowadays.

    --
    I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
  24. The OpenGL Architecture Review Board discussion by Animats · · Score: 2
    The "OpenGL 2.0" proposal was discussed at the last OpenGL Architecture Review Board meeting. There are mixed feelings about this proposal. The big question is whether to abstract or expose the hardware.

    Organizational support for OpenGL continues, but it's not like the days when SGI was really pushing it. The Farenheit debacle turned off many people. Apple is still OpenGL oriented, but support is weak. From the minutes of the last meeting: "The next meeting date is set for Tue-Wed, December 11-12, 2001. Apple is tentatively willing to host again, if needed - the food budget was a bit of a problem for them this time."

    What this proposal really calls for is a sort of "RenderMan Lite". The concept is very like RenderMan, with programmable shaders written in a C-like language.

    This is an instance of the "programmable peripheral" problem. There's always a temptation to put programmability in peripheral devices. The usual problems of embedded systems programming apply - a special toolset is needed for the target system, debugging support is usually weak, and synchronization between host and target is complicated. That's why programmable peripherals are rare. (For example, we don't usually see the ability to put the file system in the disk controller, or the TCP/IP stack in the Ethernet controller, although hardware has been built and sold for both of those functions.)

    What usually happens is that agreement emerges on what functionality a device should export, and device controllers implement that functionality, rather than exposing their innards.

  25. Re:Same old arguments by be-fan · · Score: 2

    Kinda like how Glide won? Or MeTaL? Or PowerSGL? Direct3D is not extendible (game developers stopped MS from making it extendible) and it owns the majority of the consumer 3D market. All the graphics cards makers are actively in support of it, while most offer less support for OpenGL. The fact that a standard interface like DirectX allows manufacturers to reach *everyone* with a 3D card, not just those with particular 3D cards outweighs any advantages of proprietory APIs. The game developers like it because it simplifies development for them. The hardware manufacturers like it because it broadens the use of 3D hardware. Consumers like it because they aren't stuck buying unsupported crap (generally...)

    --
    A deep unwavering belief is a sure sign you're missing something...
  26. Re:OpenXL vs. DirectX by be-fan · · Score: 2

    Which would be correct. Linux is a kernel; a kernel's job is to run programs.
    >>>>>
    But those words carry a far larger meaning than the sentence implies. DirectX does only do sound, graphics, and input, but those words understate its power.

    Just a tad, and DirectX Graphics's superiority is in areas that require hardware that most consumers (early adopters excluded) do not yet own. Even so, I hope Microsoft is enjoying its fleeting precious moments [gocollect.com] of superiority because they will end very soon.
    >>>>>>>>
    Why? The link you provide doesn't have anything to do with DirectX or OpenGL, so I surmise that you have no proof that OpenGL will suddenly stage a comeback. Even if OGL 2.0 gets rolling right now (it won't) it will quite awhile before the glacial-paced ARB will produce something useful.

    Or "GLUT is infinitely weaker than DirectInput." Could you elaborate?
    >>>>
    Read the GLUT API, then read the DirectInput API. Juding from the GLUT 3.7 API reference GLUT supports three button mice, keyboards, and spaceballs. DirectInput can be programmed to handle anything, from mice with dozens of buttons buttons to 6 axis force-feedback joysticks to full-body cybersex suits. Also, GLUT's callback-based mechanism doesn't exactly scream "performance" in a game setting.

    The sound quality of the General MIDI support on most consumer-grade sound cards sucks, and General MIDI has never been good for many genres of electronic music.
    >>>>>>>
    That's why DirectX doesn't use standard MIDI support anymore. On cards that have poor MIDI support, MS uses its (pretty good) software synth.

    Point me to a .mid file doing a good impression of a tb-303 to convince me otherwise. Why else did Unreal Tournament use S3M, XM, and IT tracked music instead of MIDI, and most newer games like q3a use streaming MP3 or ogg anyway?
    >>>>>
    The music requirements of Q3 or UT aren't exactly terribly stressing. MIDI is uniquely suited to all sorts of things, such as dynamic adaptation to the game environment, that are hard to do with pre-recorded music. With DirectMusic, you can program scores that follow a general patterns, but fluctuate depending on conditions or at random times. The power is there, it is only a matter of time (DirectMusic only became mature fairly recently) until some clever developer decides to use it.

    The sockets API is also protocol independent and can support any protocol for which your sockets implementation (such as BSDsock or Winsock2) has a backend.
    >>>>>
    True, but DirectPlay is a *much* more integrated solution. It does lobbies, transport, all sorts of things.

    Why can't you use the game engine (built on d3d+dsound or opengl+openal) to do cut scenes, as Metal Gear Solid and Zelda 64 do? Or do you have some other reason for wanting to play movies?
    >>>>>>>>
    DirectX isn't necessarily just for games. You can use DirectX to get hardware acceleration for DVD playing and other multimedia uses. Also, many games use video quite well. The Final Fantasy series, for example, uses full motion video to a great effect. Also, game engines still aren't up to the quality of good FMV yet.

    All three libraries have DirectX backends, but they also have backends for operating systems not controlled by Single Point of Failure Corp. [google.com]
    >>>>>
    Yes, but their functionality is a fairly limited subset of DirectX's features. Also, it is not fair to criticize DirectX just because MS sucks. DirectX is a quality technology, Microsoft or not.

    --
    A deep unwavering belief is a sure sign you're missing something...