Slashdot Mirror


OpenGL 2.0: Chasing DirectX

MJ writes "Is OpenGL 2.0 All That? Hopefully you will be able to answer that yourself after reading this article from XtremePcCentral. They have cool looking leap frog graphics with lots of arrows and a quote from John Carmack, what else could you ask for? Robert Richmond does a great job of delving into this subject. Carmack says, 'The implementation went very smoothly, but I did run into the limits of their current prototype compiler before the full feature set could be implemented. I like it a lot. I am really looking forward to doing research work with this programming model after the compiler matures a bit. While the shading languages are the most critical aspects, and can be broken out as extensions to current OpenGL, there are a lot of other subtle-but-important things that are addressed in the full OpenGL 2.0 proposal.'"

278 comments

  1. OpenGL 2.0 by MisterFancypants · · Score: 4, Funny
    That's better than 1.2! But worse than DirectX 9.0!

    You can tell by the numbers!!

    1. Re:OpenGL 2.0 by user32.ExitWindowsEx · · Score: 1, Funny

      Weird. DirectX is the only Microsoft product that I know of that has made it to version 9.0 and not been renamed something like DirectX 2002 or DirectX.NET...

      --
      "Evil will always triumph because good is dumb." -- Dark Helmet
    2. Re:OpenGL 2.0 by Anonvmous+Coward · · Score: 1, Redundant

      "Weird. DirectX is the only Microsoft product that I know of that has made it to version 9.0 and not been renamed something like DirectX 2002 or DirectX.NET..."

      I heard that they were going to start using Roman Numerals when DX 10 comes out. They'll call it DirectX X. Although, in light of the lowercase letter fad started by Apple, it'll probably be dIrect X x.

    3. Re:OpenGL 2.0 by runderwo · · Score: 1, Interesting

      OpenGL and DirectX are not comparable. Perhaps you mean Direct3D. Comparing SDL or Allegro to DirectX would be more appropriate.

    4. Re:OpenGL 2.0 by fault0 · · Score: 2

      it's only funny once.

    5. Re:OpenGL 2.0 by Thomas+A.+Anderson · · Score: 3, Funny

      You dork - he was kidding.

      You need to compile a humor mod...

      --
      Personally its not God I dislike, its his fan club I cant stand (bash.org)
    6. Re:OpenGL 2.0 by the+way,+what're+you · · Score: 5, Funny
      I heard that they were going to start using Roman Numerals when DX 10 comes out. They'll call it DirectX X.

      By version 20, it should be good enough to simulate virtual 3D porn environments - thus justifying the name DirectXXX.

      --
      example.org - powered by Linux!
    7. Re:OpenGL 2.0 by runderwo · · Score: 0, Offtopic

      Sorry. My humor thread has been deadlocked all day today. :)

    8. Re:OpenGL 2.0 by Anonymous Coward · · Score: 0

      It depends. 2000 pro, for example, is a better desktop OS than RH 6.2, Sol 2.9 & WFW 3.11, all put together.

    9. Re:OpenGL 2.0 by OneEyedApe · · Score: 1

      Originally, DirectX had two parts: DirectDraw (2D) and Direct3D. With the release of 8.0, Microsoft dropped DirectDraw, so now DirectX is focused on 3D application entirely.

      --
      Life sucks, but death doesn't put out at all....
      --Thomas J. Kopp
    10. Re:OpenGL 2.0 by N1KO · · Score: 1

      There's also DirectSound (I'm fairly certain winamp isn't a 3d application and it uses that)

    11. Re:OpenGL 2.0 by Anonymous Coward · · Score: 0

      Don't forget DirectInput (you know, joysticks etc).

    12. Re:OpenGL 2.0 by OneEyedApe · · Score: 1

      I understand that DirectX may include libraries for other purposes, such as sound, but OpenGL has one purpose, and I was considering the portions of DirectX that are similiar to that of OpenGL, namely that of creating 2D and 3D graphics.

      --
      Life sucks, but death doesn't put out at all....
      --Thomas J. Kopp
    13. Re:OpenGL 2.0 by WickedChicken · · Score: 1

      They'd need to get to version *30* to obtain that designation!

      --
      "It's even worse if you're locked into a proprietary operating system." -http://www.wehavethewayout.com/scale.asp?rew=0
    14. Re:OpenGL 2.0 by Zaphos · · Score: 1

      Mein gohtt .. DirectX 8 has many components, among which are:

      Direct3d
      DirectSound
      DirectPlay
      DirectShow
      D irectInput ...etc

      However anyone comparing directx and opengl is pretty clearly, so long as the reader has ANY SEMBLANCE OF A MIND that the comparison is referring to Direct3d.

      Furthermore, DirectX 9 will reintroduce the 2d component, but integrate it with the 3d (I've only used 8 but I believe 7 didn't like people to use the 2d component and the 3d one at the same time.

      Obviously this will not clear up any confusion whatsoever. Thak you for your time.

    15. Re:OpenGL 2.0 by Datafage · · Score: 1

      DirectX XX...

      --

      Nicotine free Amish .sig.

    16. Re:OpenGL 2.0 by WickedChicken · · Score: 1

      yeah, I noticed thatafter I posted. oh well.

      --
      "It's even worse if you're locked into a proprietary operating system." -http://www.wehavethewayout.com/scale.asp?rew=0
  2. Goobers by Anonymous Coward · · Score: 2, Interesting

    MJ writes "Is OpenGL 2.0 All That? Hopefully you will be able to answer that yourself after reading this article from XtremePcCentral. They have cool looking leap frog graphics with lots of arrows and a quote from John Carmack, what else could you ask for?

    Does anybody else get the impression that "MJ" works for "XtremePcCentral"? I'm seeing a lot of this astroturfing on Slashdot lately, and it's lame. If you want to drive traffic to your site, buy an ad.

    1. Re:Goobers by Mark+Garrett · · Score: 5, Informative
      Does anybody else get the impression that "MJ" works for "XtremePcCentral"?

      Nah, I just got the impression that MJ just cut'n'pasted directly from HardOCP. Word for word. I kid ye not.

    2. Re:Goobers by Anonymous Coward · · Score: 0

      Well, it seems he got more traffic than he expected. :-)

    3. Re:Goobers by Anonvmous+Coward · · Score: 2

      "Does anybody else get the impression that "MJ" works for "XtremePcCentral"? I'm seeing a lot of this astroturfing on Slashdot lately, and it's lame. If you want to drive traffic to your site, buy an ad."

      If the article is interesting to the /. Community, then who cares if it has a plug or not? Frankly, I thik it's lame getting modded as interesting when there are more importnt things about that article to discuss. Granted, I appreciate a breadth of perspectives, but whine whine whine.

    4. Re:Goobers by DeadPrez · · Score: 2

      Does anybody get the impression the parent is exactly what an astroturfer wants you to believe?

    5. Re:Goobers by edrugtrader · · Score: 1

      wait... i thought /. only ripped off articles from The Register??!

      now i'll have to post every story from *2* different sites all day... blargh.

      --
      MARIJUANA, SHROOMS, X: ONLINE?! - E
    6. Re:Goobers by Anonymous Coward · · Score: 0

      Hmm...MJ works for XtremePcCentral? I'm a member over there and AFAIK he does not. MJ (if it is the same) is the database administrator for ResellerRatings.com and TechIMO.com. ;)

  3. They Did. by DAldredge · · Score: 1, Troll

    That is why this story is on the front page.

  4. OpenGL is vital for Linux by bsharitt · · Score: 5, Interesting

    The contiued success of OpenGL is vital for the survival of Linux on the desktop. Without it, making games for Linux is impractical. I don't think WineX can be counted on to keep up.

    1. Re:OpenGL is vital for Linux by Surye · · Score: 1

      As a linux desktop adovcate, I still hate WineX. It is difficult to get working, it depends on Wine libraries(I believe) and OpenGL is much more cross platform compatible. I have seen many companys begin to have linux support(including Valve with Neverwinter Nights ^.^)

    2. Re:OpenGL is vital for Linux by Eccles · · Score: 5, Informative

      The continued success of OpenGL is vital for the survival of Linux on the desktop.

      Remember that Apple and the Mac OS rely on OpenGL for graphics. That combined with continued interest in OpenGL on the PC side for CAD and the like -- not mention Carmack and Co. -- should keep OpenGL around as a viable alternative.

      --
      Ooh, a sarcasm detector. Oh, that's a real useful invention.
    3. Re:OpenGL is vital for Linux by PhoenixFlare · · Score: 1

      "(including Valve with Neverwinter Nights ^.^)"

      That would be Bioware....Neverwinter Nights is worlds different than CS.

    4. Re:OpenGL is vital for Linux by Surye · · Score: 1

      ....oops, hell, you get the point

    5. Re:OpenGL is vital for Linux by Anonymous Coward · · Score: 0

      Wrong. OpenGL can do nothing but hurt Linux. Think about it. The success of OpenGL on Linux will make it popular with about 100 male slashdot-reading teenage nerds. The failure of OpenGL on Linux will make it popular with bossinesses, since the productivity of their Linux-using employees will go up when they can no longer waste time playing the latest 3D games at work.

    6. Re:OpenGL is vital for Linux by jsse · · Score: 2

      but the OpenGL on Mac OSX takes advantages of Apple's hardware. This is the level of support that OpenGL could support x86 hardware that matter.

      It's is an open secret that graphic chips makers hesitate to fully support OpenGL as that'd adversely affect the long term relationship with MS - you know how bad it'd sound.

      We couldn't blame MS for that, they are talking about business here. Game consoles play even dirtier games in this regard. :)

    7. Re:OpenGL is vital for Linux by Anonvmous+Coward · · Score: 3, Insightful

      "The contiued success of OpenGL is vital for the survival of Linux on the desktop. Without it, making games for Linux is impractical. I don't think WineX can be counted on to keep up."

      I think you make a good point. For the most part I agree with you, but I'd make one little change: Linux needs something like DirectX to succeed. Whether or not it is OpenGL is not crucial. The problem with OpenGL is it doesn't keep up with the features of new cards the way DirectX does.

      Linux needs a developer who's on top of the game like MS is. The smart thing to do would be to mimick DirectX as much as possible, make it easier for a PC game developer using DirectX to port their game over to Linux. Let's be frank: With as few gamers running Linux as there are today, ports of existing games is all they're gonna get. Might as well work to make that transition easier.

    8. Re:OpenGL is vital for Linux by jason_watkins · · Score: 5, Insightful

      Come again? I think you misunderstand the details of the situation. The IHV's do not live at MS's pleasure. For example, nvidia's cg is an assult on MS, trying to leverage away their control of the API. Each IHV wants to be able to control the API, so that they can codevelop it with their hardware, producing complimentry strenghts. The relationship is already openly adversarial, and they only co-operate in situations of mutual self benifit.

      Your sentance above is unclear, but I understand you're saying that Apple's OpenGL has better hardware support than x86? You do realize that Apple's video chips come from the same IHV's?

    9. Re:OpenGL is vital for Linux by vlad_petric · · Score: 5, Informative
      I don't think WineX can be counted on to keep up.

      FYI - WineX uses OpenGL to emulate DirectX! OpenGL is indeed critical.

      The Raven

      --

      The Raven

    10. Re:OpenGL is vital for Linux by axxackall · · Score: 2
      but the OpenGL on Mac OSX takes advantages of Apple's hardware.

      It doesn't matter on which hardware platfomr Linux will have success. Mac/PPC? Even better!

      The question is: can Linux/PPC take an advantage of Apple's hardware?

      --

      Less is more !
    11. Re:OpenGL is vital for Linux by nihilogos · · Score: 5, Insightful

      Linux needs something like DirectX to succeed. Whether or not it is OpenGL is not crucial. The problem with OpenGL is it doesn't keep up with the features of new cards the way DirectX does.

      Not many games keep up with the features of new cards, so OpenGL doesn't have to be bleeding edge to run them. The reason there aren't that many games for linux isn't that OpenGL is dated.

      Besides, most good games offer both OpenGL and Direct3D renderers. The rendering is only a small part of a 3D game and it is not that difficult to provide alternative renderers.
      And frankly, who cares if "Sunny Garcias Pro Surfing" runs on linux or not.

      The smart thing to do would be to mimick DirectX as much as possible, make it easier for a PC game developer using DirectX to port their game over to Linux.

      Dear god please no. The goal of OpenGL should be to provide an excellent api for realtime 3d programming, not to mimic Direct3d. If any Direct3d programmer understands 3d concepts well enough, porting to OpenGL should present no difficulty whatsoever. And vice versa.

      --
      :wq
    12. Re:OpenGL is vital for Linux by Anonymous Coward · · Score: 0

      Not only that, but as many other people probably have said, DirectX only works on Microsoft operating systems. Almost all other operating systems use OpenGL, and it's very crucial to many companies, that microsoft does not fit the bill for, but still require high-end graphic programming capabilities. I think the problem with Microsoft and the whole concept of directx, was they thoguht in their arrogance that they could create something that everyone would WANT to use, something for everybody. Well, I don't see that coming, since there are still some people who don't like over-bloated pieces of ****, so OpenGL is definately important, and necessary. Also, since OpenGL is platform independant, unlike DirectX, it's existence doesn't rest on a single company (i.e. directx -> microsoft). 10 years from now..what will things be like? Will microsoft still be the dominant operating system? Maybe. It's hard to imagine the industry without the giant. but what would happen if it wasn't the dominant operating system? Although, this is also a chicken-and-egg problem, because opengl if it is developed nicely to keep neck-in-neck with directx, it may bring people over to other os (mac, linux, unix, etc.)

    13. Re:OpenGL is vital for Linux by 13Echo · · Score: 5, Insightful

      You are comparing OpenGL to DirectX, which is a no-no. Perhaps you meant to compare it to Direct3D, a component of DirectX. OpenGL is crucial to the development of 3D on all platforms except for Windows. It provides a standard, platform independant 3D API for people to develop software. What else is there that is so widespread? What do you propose?

      Linux already has its own DirectX-like wrapper system. It is called SDL and it is multi-platform, unlike DirectX. It allows you have "low level access to a video framebuffer, audio output, mouse, keyboard, and joysticks across a wide variety of operating systems." (from the libSDL page). With that, it supports plugins and addons, and a full rewrite is going into SDL 2.0 to make it much more robust and flexible. It is a proven and powerful method of producing games on Linux, and is nowadays seen in most commercial apps.

      Honestly.. I hate to say it, but you seem to be doing nothing more than talking in circles. I honestly wonder how some of you people on Slashdot make these things up. While I agree that there aren't nearly as many gamers that use Linux, there is still a userbase- and a growing one. As for your suggestion of mimicing DirectX- that's already been attempted. It's called WINEX. It's a layer between a layer between a device. Work is being done on attempting to create an Open DirectX-like library and API, but don't count on it working out. It only provides a wrapper for existing OpenGL devices right now. There is a reason that Microsoft changes DirectX every year. It isn't just about adding new features. Backwards compatibility is shady at best.

    14. Re:OpenGL is vital for Linux by Anonvmous+Coward · · Score: 2

      I stand corrected, but I didn't think this bit was necessary:

      "Honestly.. I hate to say it, but you seem to be doing nothing more than talking in circles."

      I don't follow how I was 'talking in circles'. You obviously got my point, you even error corrected my post. (I appreciate that btw)

      As for Linux's 'large user base', it's nowhere near what Windows' user base is, and that market is pretty well dilluted. Few PC Game companies are making more than a modest living. It's nowhere near as lucrative as the console market. Adding Linux to the mix is not going to do anything but make a game company's job a lot harder. If memory serves, one of the most prominent comapnies porting games to Linux sold games in the low tens of thousands. I'm not kidding.

      Right now, Linux is not a gaming alternative. WineX is probably a far more interesting alternative than OpenGL if the game market is what Linux is after.

    15. Re:OpenGL is vital for Linux by jgp · · Score: 1

      Umm .. [nervous laugh] ... No it's not. Why says such silly, silly things?!

      /jgp nervously looks around for Microsoft marketroids

      Err .. nothing to see here. OpenGL is just a toy! All the way with DirectX!! Hang on ... What's THAT OVER THERE!!!

      /jgp runs away with his copy of "OpenGL Programming Guide: Second Edition"

    16. Re:OpenGL is vital for Linux by Toraz+Chryx · · Score: 2

      "The question is: can Linux/PPC take an advantage of Apple's hardware"

      Surely the question should be "can Linux/PPC take advantage of Apple hardware AS WELL AS Apples own OS does" ?

    17. Re:OpenGL is vital for Linux by Machuidel · · Score: 1

      Game companies are only making it harder for themselves. Combine LibSDL, OpenGL and OpenAL and you have a full cross-platform game development environment. And in my opinion it's even easier to develop with as you can focus on real standards.

      --
      Mike Machuidel
    18. Re:OpenGL is vital for Linux by peterpi · · Score: 1

      nvidia's cg is an assult on MS, trying to leverage away their control of the API. I would have thought the idea was that nVidia and co could then license (read "$$$$") the technology to MS to integrate into DirectX?

    19. Re:OpenGL is vital for Linux by Anonymous Coward · · Score: 0

      >to Linux. Let's be frank: With as few gamers running Linux as there
      >are today, ports of existing games is all they're gonna get. Might as
      >well work to make that transition easier.
      >
      >
      Let's be even more frank. The vast majority of the Linux and BSD community really doesn't want you PC Gamers around. That's why you'll never see much effort applied to "cloning" crap like Direct X. Both Linux and BSD is doing just fine without you gamers.

    20. Re:OpenGL is vital for Linux by TrancePhreak · · Score: 0

      Real standars often mean a real pain. Those standards are not as cut in stone as many believe. Just look at Carmack's old plan's about having trouble with ATI implimenting functions that actually do as they are documented and you start to get the picture. Direct3D has become a lot easier to manage not only because you don't have to have different code paths for different video cards, but because it has things that you can default to in case someone impliments something horribly wrong. Combine that with the incredible ease of DirectInput and DirectSound, and you have a package that is quite possibly the easiest way to develop a game. SDL is alright for hobby-type development, but it still has a long way to go before it reaches the quality of the whole DirectX package. Add on top of that better documentation and as a developer you start to wonder why people choose otherwise. Portability is second to functionality. If you want a game to come to your platform, you best have an easy way of getting it there.

      --

      -]Phreak Out[-
    21. Re:OpenGL is vital for Linux by 13Echo · · Score: 2

      My apologies. I just see lots of posts from people that berate the OS and its users. Many of them spout off things that they don't understand about it and its programs. It's kinda like the guys that insist that OpenGL performance is better on Windows "just because it is the gaming platform". That isn't the case at all.

      I don't really think that Linux has a "large user base". If anything, it has a growing user base. I still feel that there are more Linux boxes out there on desktops than there are Mac boxes. But then again, OS X doesn't seem to have a lot in the way of gaming either.

      DirectX may be a quick and easy way to program the input and output layers for a game, but there are other "multi-platform" alternatives. For instance, had Epic actually written Unreal Tournament 2003 around OpenGL to begin with, there might be much better performance on alternative operating systems. I shudder to see how it runs on OS X. They are going to need to do some serious tweaking of the game's OpenGL engine, instead of using that half-assed wrapper that they wrote in 3 days. The performance is HORRIBLE, and it isn't the fault of OpenGL.

    22. Re:OpenGL is vital for Linux by Mr.+Quick · · Score: 2

      i think what he meant is that apple, with os x, is using opengl directly in quartz, via quartz extreme (QE). so the fact that it is now so deeply used in apple's windowing layer should insure it's longevity.

      that being said, i don't know how easily opengl could be replaced in QE, but i do know that apple is heavily invested in opengl, as they have written their own shader builder and an ultra useful opengl profiling tool (thanks!), plus they have their own opengl extenstions.

      so i think the original poster was remarking on apple's commitment being enough to keep OGL around.

    23. Re:OpenGL is vital for Linux by jorleif · · Score: 2, Interesting

      Not many games keep up with the features of new cards, so OpenGL doesn't have to be bleeding edge to run them.

      You should take into account that it takes a significant amount of time to develop a game.
      One of the reasons games lag behind the cards is that people rarely like to code purely to the specs of some hypothetical next-generation card, and therefore wait until a card is released. Now if the 3D API is developed with a similar philosophy it will lag behind as well, and this will be a big deal to developers:
      Should I develop using the

      1.OpenGL drivers which support current generation chips, which will be low-range or obsolete cards at the time of the game release

      2.DirectX which supports current bleeding edge chips, which will be mid-range cards when the game is released

    24. Re:OpenGL is vital for Linux by Hard_Code · · Score: 3, Insightful

      "The goal of OpenGL should be to provide an excellent api for realtime 3d programming, not to mimic Direct3d. If any Direct3d programmer understands 3d concepts well enough, porting to OpenGL should present no difficulty whatsoever. And vice versa."

      From what I understand the non-"immediate" mode of Direct3D is much higher level than what OpenGL provides in its current form. This IS important because not all game developers have the time or brains to hand craft an entire engine technology for each game like Carmack does. They have to rely on a prebuilt and high level library that makes their job easier (and rightly so). So OpenGL has to step up to the plate and also provide some high level functionality. This also has the upside of becoming hardware independent and more easily customizing the backend to the hardware (these shading languages, etc.).

      Any way that was the perception I got last time I looked at Direct3D...which was a LONG time ago :)

      --

      It's 10 PM. Do you know if you're un-American?
    25. Re:OpenGL is vital for Linux by Anonymous Coward · · Score: 0

      I guess Linux/PPC would have more chances if Apple would wider share information about their hardware.

    26. Re:OpenGL is vital for Linux by Yokaze · · Score: 2

      > The problem with OpenGL is it doesn't keep up with the features of new cards the way DirectX does.

      You know that there are extensions to OpenGL? That OpenGL is so old is merely a sign of its extensability.
      The problem is the most current are vendor extensions, and as the part vendor indicates, it is very specific to a vendor.

      Concerning this problem, DirectX is a little bit better, but not purely devoid. DirectX 8.0 is very NVidia-specific. DirectX 8.1 is developed with ATI in mind. (Or was it the other way around).

      OpenGL 2.0 will hopefully overcome the current deficiencies.

      Have a view at an earlier post on Slashdot on that matter.

      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    27. Re:OpenGL is vital for Linux by jason_watkins · · Score: 1

      perhaps. I personally think it's more likely that nvidia sees the cg software as a complement to commoditize, and as a way to get a home turf advantage. nVidia's focus has been pretty narrow (ie, going vertical being a mistake, etc) so I doubt they'd want to get into the software business.

    28. Re:OpenGL is vital for Linux by Hard_Code · · Score: 2

      3. OpenGL 2 which provides a high level API implementations of components of which can be written seperately (potentially by the vendor) and plugged in at any time.

      --

      It's 10 PM. Do you know if you're un-American?
  5. All in the name by prisen · · Score: 5, Interesting

    OpenGL..I think that says it all. DirectX is a great platform, don't get me wrong. It does its job. But what happens when DirectX doesn't do what the programmer wants/needs it to do? Too bad, gotta wait for DirectX (current version + 1.0). What happens when you want to release your software for more than one platform? Out of luck here. I think there are quite clear advantages.

    1. Re:All in the name by CoolVibe · · Score: 2, Interesting
      John Carmack hates Direct3D with a passion. He once posted a comparison in his .plan file where he tried to compare the two by trying to build functionally the same.

      The thing is that JC thought that DirectX was severely over-complex to do anything worthwhile. In OpenGL he got the exact same thing done as DirectX, but with less code, and less stuff that got in the way. He summed it up nicely. DirectX is crap because it is too complex. OpenGL is quite simple and it'll help you get stuff done.

      Also, OpenGL is a real industry standard, as where DirectX isn't. OpenGL is cross-platform, as DirectX isn't.

    2. Re:All in the name by Anonymous Coward · · Score: 2, Informative

      That's past-tense. He hated Direct3D back when Direct3D blew goats (DirectX5? I can't remember) 5 years ago. MS listened to his complaints and vastly improved the API.

    3. Re:All in the name by tc · · Score: 5, Informative
      He posted that (now infamous) .plan file I think 5 years ago. At the time, Direct3D was indeed a steaming pile to work with. The most recent versions are vastly easier to use. John Carmack still likes to use OpenGL (and why wouldn't he, since he has every hardware vendor in the industry willing to fine tune their GL drivers to his whims), but he has I believe gone on record as saying that Direct3D has improved significantly, and that many of the criticisms in that old .plan file are no longer valid.

      The cross-platform one is interesting if you're in the games business, since of the commercially viable platforms (i.e. Windows PC and the consoles - even if both of the Mac owners buy your game you'll never recover your costs), OpenGL is supported on precisely one of them, whereas Direct3D is supported on two (PC and Xbox).

    4. Re:All in the name by CoolVibe · · Score: 5, Interesting
      I wouldn't put down the Mac as of yet, since they are picking up pace at the moment. Same goes for the free *nixes. If those platforms weren't ebcoming interesting, companies like Nvidea wouldn't have made accelerated drivers for FreeBSD and Linux.

      I realize that Direct3D has gotten better, but still, it's going to be a tough job for MS to totally finish off OpenGL. It's well rooted into spaces other than gaming, like CAD/CAM and VR research. And if MS tries to patent it away, that will never work, because of prior art.

      I think MS's stance toward OpenGL is neutral. I'd say that if somehow Direct3D would die off, MS would embrace (and probably extend) the OpenGL standard.

      What 3D library does, say the PS2 and the Nintendo console use? Their own in-house one? I'd guess OpenGL, because it's available on many platforms, and it's portable. And don't forget the wealth of documentation and example code that's out there for OpenGL. It'd save a lot of time training-wise. It's a wise choice if you do console development on a workstation and if you can just cross-compile so it'll work on the console. Other than the X-box (which is just a IA32 machine on funny hardware), DirectX is indeed only available on 2 platforms.

      I'm not a console-developer though, maybe someone who develops 3D-action games for consoles that are not X-boxes could comment?

    5. Re:All in the name by LordSah · · Score: 5, Insightful

      But what happens when DirectX doesn't do what the programmer wants/needs it to do?

      This won't happen too often. DirectX is crazy feature rich. In fact, overly so for some :)

      You need to realize the OpenGL isn't an open source project. You can't add more stuff to the API if you find that it's lacking. The reason is that you can't add your new functionality to the hardware, which is the whole point in using OpenGL in the first place. So, you still have to wait for the next version of OpenGL to come out, and graphics-cards manufacturers to build cards with it in mind.

      Whether coding in GL or DirectX, if the library doesn't do something you want, you have the exact same options: wait for the next version, or hand-code your functionality from fundamental functions.

      This is one spot were DirectX has a big advantage over OpenGL. DirectX is designed by only one party, rather than a big committee of different companies who want different features. As such, DirectX has a much faster development cycle, and gets improvements quite often. The last big improvement to OpenGL was released in 1998, version 1.2. Four years is a long time in the world of 3D graphics.

    6. Re:All in the name by tc · · Score: 3, Interesting
      Sure. I was obviously being flippant about the Mac, but the point remains that it's not really a commercially viable games platform right now. I was mainly wanted to repond to the dredging up of a 5 year old .plan file which is no longer an accurate representation of the state of things.

      AFAIK the PS2 and GC both have proprietary graphics libraries (and in the PS2 case, not much of a library at all).

      There's certainly a lot of sample GL code out there, but the bulk of it is on the basics, which is really pretty simple in either API. The complex stuff often revolves around vendor-specific extensions in GL, about which there is considerably less material widely available, certainly not significantly more than for Direct3D.

    7. Re:All in the name by LordSah · · Score: 2

      http://www.opengl.org lists 1.4 as the latest version. Guess I was wrong about that. I'll still stand by my original point though: the turn-around time from feature request to releasing a new API has been shorter with DirectX. OpenGL 1.0 was relesed in July of 1992. There have been four revisions since (1.1, .2, .3 and .4). DirectX has had twice the major releases in half the time.

    8. Re:All in the name by CoolVibe · · Score: 2
      I was mainly wanted to repond to the dredging up of a 5 year old .plan file which is no longer an accurate representation of the state of things.

      Of course. You are absolutely right. But I thought it deserved a mention.

      As for the availability of examples and advanced stuff out there, check out NeHe's website, which shows you what neat stuff is possible with just the "standard" OpenGL 1.2. Very clear examples, and very portable code. Easy to understand as well. If someone ever wants to get started with OpenGL, that is one place to start.

    9. Re:All in the name by .pentai. · · Score: 2

      Neither the PS2 nor the Gamecube use OpenGL...atleast not natively. There has been an implementation of OpenGL for PS2 I believe but I haven't gotten a chance to play with it really.

      Gamecube's API does have many similarities to OpenGL hwoever, much more than to say, DirectX. Really, this comes from the fact that ATI, who bought ArtX, who used to be part of SGI, used to use OpenGL I'd imagine...

    10. Re:All in the name by dmiller · · Score: 2

      This is one spot were DirectX has a big advantage over OpenGL. DirectX is designed by only one party, rather than a big committee of different companies who want different features. As such, DirectX has a much faster development cycle, and gets improvements quite often. The last big improvement to OpenGL was released in 1998, version 1.2. Four years is a long time in the world of 3D graphics.

      This is not true at all. OpenGL has a clear extension mechanism and the Architecture Review Board approves vendor extensions frequently in the period between spec revisions. In fact, a large component of the spec revisions is the inclusion of ARBextensions in the core spec.

    11. Re:All in the name by fuzza · · Score: 1

      At the time, Direct3D was indeed a steaming pile to work with. The most recent versions are vastly easier to use.

      That may be so, but he predicted that very fact in his .plan anyway:

      I'm sure D3D will suck less with each forthcoming version, but this is an opportunity to just bypass dragging the entire development community through the messy evolution of an ill-birthed API.
      and also:
      Some of these choices were made so that the API would be able to gracefully expand in the future, but who cares about having an API that can grow if you have forced it to be painful to use now and forever after?
      (as quoted from a copy of said .plan (at the bottom))

      --
      Can't find examples of evolution? No matter, neither could Dawkins
    12. Re:All in the name by jason_watkins · · Score: 2, Interesting

      Indeed, as an IHV, you can add whatever extension to the API you fancy, and software developers are given the option of using it. It is a little frustrating in that you, as a software developer, can't depend on the feature being there, but in practice it works well. For example, ATI and nVidia often update to transparently support eachothers extensions.

      Periodicly, the ARB goes through and blesses some extensions, making them official. They're still optional in terms of compliance to the standard, but the ARB blessing catalizes a commonly supported API for each feature.

      Eventually a new version of the spec is rolled, and usually the majority of changes were already seen as ARB extensions before.

      So, OpenGL has managed a steady evolution. Where it has been slower in reguards to directx is in iterations of revolution. In five years DX went from being bizarre to being very similar to OpenGL, changeing the fundamental philosophy of the API design in the process. Dictatorships allow rapid broad changes like this. OpenGL has not done that so well, which is what the OpenGL 2.0 initiative is a response to.

    13. Re:All in the name by Chris+Burke · · Score: 5, Interesting

      You can't add more stuff to the API if you find that it's lacking. The reason is that you can't add your new functionality to the hardware, which is the whole point in using OpenGL in the first place.

      Ah, but what if you can add new functionality to the hardware, because you are the manufacturer? With DirectX, nothing changes -- if the API doesn't support what you want, it won't until MS says so. With OpenGL, you can expose new hardware functionality through an extension. Programmers can use your hardware's new features immediately, unlike with DirectX.

      So, you still have to wait for the next version of OpenGL to come out, and graphics-cards manufacturers to build cards with it in mind.

      This is the exact opposite of what actually happens. In reality, manufacturers build cards with new features and expose them through extensions. Then, in the next revision, the new functionality may be folded into the standard API. The hardware leads the API, rather than trails, without sacrificing the ability to use the hardware immediately.

      This is one spot were DirectX has a big advantage over OpenGL. DirectX is designed by only one party, rather than a big committee of different companies who want different features. As such, DirectX has a much faster development cycle, and gets improvements quite often.

      OpenGL gets an improvement whenever a vendor has an idea for what new trick they'd like their hardware to pull. Yes, it takes them some time to agree on what the next official version of the API should look like, but that doesn't slow the development and acceptance of new features a bit. Vendors can innovate as much as they want, without waiting for a central body to approve and support their innovation -- that is a big advantage.

      As opposed to DirectX... I just can't see how being dependent on a single outside vendor to support your hardware's features is an advantage.

      Four years is a long time in the world of 3D graphics.

      Yes, and in those four years we've seen the development of hardware T&L, texture compression, pixel and vertex shaders... And OpenGL has not wanted for one of them.

      --

      The enemies of Democracy are
    14. Re:All in the name by (startx) · · Score: 4, Informative

      IIRC, nvidia originally ported their drivers to linux for the high end cards that graphic designers use since a lot of movie rendering and CAD things are moving to Linux, and that's a VERY lucrative market. And from what I've heard, the FreeBSD port was a whim of a few employees, and wasn't THAT much work since they allready had the linux port, they just needed to tweak the kernel hooks.

    15. Re:All in the name by LordSah · · Score: 5, Insightful

      I'll repose the original question:
      But what happens when DirectX doesn't do what the programmer wants/needs it to do?

      The programmer is screwed with either API. Sure the hardware company can extend either API to its heart's content, but that doesn't help a programmer who needs a feature right now.

      The development process isn't too different with DirectX--Nvidia had some whiz-band ideas so they talked to Microsoft. DX 8.0 was released. ATI had similar functionality for their hardware, but didn't agree with Nvidia. They went to MS and DX 8.1 was released. Microsoft talked to them both and is going to release 9, itegrating 8.0 and 8.1 features. The architechture review board for OpenGL does the same thing.

      Microsoft doesn't make all the decisions for the industry and cram it down the industry's throat. MS talks to all the relevant companies (hardware and software) as part of the feedback loop for DX. Microsoft/Nvidia's Cg language that was in the news a while back is an example of that. The advantage is that Microsoft has tightened the feedback loop so its turnaround time is less.

    16. Re:All in the name by fault0 · · Score: 2

      NeHe is nice and all, and indeed, where I point anyone who is new to OpenGL, but it doesn't cover any modern techniques specific to DirectX 7-9, OpenGL extentions, and vendor specific extentions.

    17. Re:All in the name by Anonymous Coward · · Score: 1, Insightful

      The programmer is screwed with either API. Sure the hardware company can extend either API to its heart's content, but that doesn't help a programmer who needs a feature right now.

      Yes it does. Assuming we agree that by "feature" we mean "something the hardware can do, which can be exposed by the API". Then as long as you have the driver with the extension, you can use it in your OpenGL code. Meaning with OpenGL, as soon as the feature is there, you can use it.

      The development process isn't too different with DirectX--Nvidia had some whiz-band ideas so they talked to Microsoft. DX 8.0 was released. ATI had similar functionality for their hardware, but didn't agree with Nvidia. They went to MS and DX 8.1 was released. Microsoft talked to them both and is going to release 9, itegrating 8.0 and 8.1 features. The architechture review board for OpenGL does the same thing.

      Yes, but the difference -- and maybe you didn't catch this -- is that before the ARB approves either one of NVidia's or ATI's changes, programmers out in the field can use those features through extensions.

      Microsoft doesn't make all the decisions for the industry and cram it down the industry's throat. MS talks to all the relevant companies (hardware and software) as part of the feedback loop for DX. Microsoft/Nvidia's Cg language that was in the news a while back is an example of that. The advantage is that Microsoft has tightened the feedback loop so its turnaround time is less.

      You didn't catch it. The point is that with the OpenGL extension mechanism, you don't need to wait for the feedback loop. The turnaround time for the ARB to approve a feature for inclusion in the spec may be X, and MS's inclusion of the feature in DirectX may be X/2, but the turnaround time for your being able to use the feature in OpenGL is zero.

      That's the advantage. An API that includes a standard mechanism for detecting and using unofficial extensions to the API is going to let you use new features faster than the fastest of official approval boards.

    18. Re:All in the name by Chris+Burke · · Score: 1

      I'm not sure why that got posted anonymously... I was logged in and didn't check the box... Oh well.

      --

      The enemies of Democracy are
    19. Re:All in the name by LordSah · · Score: 2

      My only problem with these extensions is that they're only available on that graphics board model. Until they are approved and standardized by the ARB, there isn't any garauntee that my code will run on a different machine.

      If I were writing a game, my options are go back to writing specialized code for various graphics boards (what we had before GL or DX became popular), or wait until a standard is published. DX tends to get new features into its standard quicker.

      My preference is to keep graphics-card dependant code out of my projects. That's why I'm using a standard API in the first place.

    20. Re:All in the name by nathanh · · Score: 2
      You need to realize the OpenGL isn't an open source project.

      OpenGL isn't, but Mesa is, and the APIs are similar enough to be indistinguishable.

      The last big improvement to OpenGL was released in 1998, version 1.2.

      The last big OpenGL extension was just this year... thanks nVidia.

      OpenGL was designed to be extensible. Contrast this with Direct3D where every new feature requires a completely new release. X11 was also designed to be extensible and as a result we have XRender, XRandR, XInput and XVideo, despite no major X11 release in ... is it 4 years now?

      OpenGL 2.0 requires changes which can't be achieved with an extension. It's exciting stuff and I'm looking forward to it. But it's incorrect for you to claim that OpenGL cannot adapt quickly. OpenGL can adapt very quickly. Any vendor can release an extension at any time and the community can use it immediately.

      This means every vendor is on a level playing field - all the vendors have the same power to submit extensions - which is in opposing contrast with Direct3D where only Microsoft is allowed to play. Sure, the extension might not become part of the "standard" for several years, but if you support Direct3D then you don't mind having vendor-dictated APIs, so you should have no complaints.

    21. Re:All in the name by Anonymous Coward · · Score: 0

      >the PS2 case, not much of a library at all).
      >
      >
      Funny, PS2 developers don't seem to have problems with it. Take a look at Devil May Cry, GT3, and other PS2 games. Maybe you're talking about about the one-trick idiots who churn the crap FPS shooters you PC gamers seem so fond of

    22. Re:All in the name by Anonymous Coward · · Score: 0

      I seem to remember, though that there was an effort to get SDL working for the Playstation. Makes sense, too, when you consider that there is a Linux for the PS2...

    23. Re:All in the name by TrancePhreak · · Score: 0

      OpenGL libraries are available for the PS2 and GameCube, and I've even heard rumor of the XBox. However, if you want to really take advantage of any of them it's all about direct hardware access. As for your mention of being cross platform, it is a proven formula for a game that does not utilize anything but the generic processing of any platform. If you want a game that really shines, find a game that was written well for only one platform and you might just be amaized at how well it looks/runs.

      --

      -]Phreak Out[-
    24. Re:All in the name by banana+fiend · · Score: 1

      Actually, Sony produced PS2gl, an open source port to the PS2. It's got some extensions in there to cope with the specialised hardware of the PS2.

      It may not be as fast as some implementations - but it's indicative of the porting efforts going on.

      --
      Johns: Well, how does it look now? Riddick: Looks clear.
    25. Re:All in the name by Chris+Burke · · Score: 2

      My only problem with these extensions is that they're only available on that graphics board model. Until they are approved and standardized by the ARB, there isn't any garauntee that my code will run on a different machine.

      Sure there is. You just make sure to detect whether or not that OpenGL implementation supports the extension, and only use it if it does.

      The reason why this isn't as bad as, say, using Glide instead of OGL is that the vast majority of your code is the standard OpenGL, and only the code to support a specific feature is vendor-specific. And any graphics engine coded for PCs is designed to allow graphical features to be turned on and off. This is just a feature that instead of being a user-selected option is gated by the existence of the exension. It's not that big a deal.

      Besides, you'd want to do the same thing anyway -- if your card doesn't have hardware support for shaders (for example), you probably don't want to be using shaders in your program. So the code would be gated anyway.

      --

      The enemies of Democracy are
    26. Re:All in the name by UnknownSoldier · · Score: 3, Informative

      > What 3D library does, say the PS2 and the Nintendo console use?

      PS2 - (sarcasm) What! PS2 uses a 3D library?! (sarcasm off)
      You write your *own*, or use a middleware solution: RenderWare, NetImmerse, etc. Sony only provides a bares bones library with basic functionality that sometimes the samples use.
      GameCube - I forget the name of the API. It is OpenGL like, but not the same. I'll post a follow up when I get into the office, since I'm not the Gamecube programmer at work.
      X-Box: A bastardized version of DirectX 8.0/8.1

      > Their own in-house one?
      Only if you got 6 to 12 months to write & optimize T&L code, Clipping, Stripping, Smart Batching, Advanced Filters, and a Mesh/Bone animation system!

      > I'd guess OpenGL, because it's available on many platforms, and it's portable.
      Guess again. I don't know of ANYONE shipping titles using OpenGL on the consoles.

      X-Box - Why would you waste time trying to get OpenGL to work, when DirectX 8+ allows for your PC (DX) engine to be ported over in *days*. You can use OpenGL for testing, but you have to go thru some hoops to get it to work (when I heard last year)

      GameCube - No need, since the existing API works just fine.

      PS2 - While there is PSGL (OpenGL clone), OpenGL will NEVER run at full speed on the PS2 - due to missing *hardware* functionality: i.e. no stencil buffer, limited (some say broken) blending modes, etc. You need to go straight-to-the-metal to get optimal performance out the machine.

      > It's a wise choice if you do console development on a workstation and if you can just cross-compile so it'll work on the console.
      Ha! If it only were that easy. Sorry, I don't mean to sound pesimestic but I've seen way too many "the bug only happens on the PS2, but not the GameCube, X-Box, or PC. Argh" this year.

      PS2 - The hardest parts are making efficient use of the 7 cpus, managing the 4 Megs of Video Memory (4-bit and 8-bit palletized textures help), managing a couple hundred megs of audio on disc thru the 2 Megs SPU (Audio Chip), smart streaming on the 2 Meg IOP, and keeping the VU's and GS well fed.
      GameCube - making good use of A-RAM on the GameCube, etc. Again, not the gamecube programmer.

      But yes, you're right. If you write your own middleware, the game code doesn't have change (much) for the various consoles.

      I really hope OpenGL 2.0 revitalizes OpenGL, because it's a real pleasure to use, but I don't see OpenGL support on consoles at least until PS3, X-Box2. (Haven't heard anything on GameCube2)

      Cheers

    27. Re:All in the name by Tet · · Score: 2
      no major X11 release in ... is it 4 years now?

      Not quite... it's been 15 years since X moved from X10 to X11. That's a testament to the strength of the design -- that the protocol hasn't needed to change despite all the changes that have happened since 1987. It was designed to be extensible, so that now all the new goodies are available via extensions without breaking backwards compatibility. I only wish all software was as well designed as X.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
    28. Re:All in the name by mbbac · · Score: 1
      Sure. I was obviously being flippant about the Mac, but the point remains that it's not really a commercially viable games platform right now.
      I bought WarCraft 3 for my Mac. It's a dual-platform disc, but I rarely play it on my Windows box (even thought it has a much better graphics card) -- I just hate using those crufty boxes anymore.
      --

      mbbac

    29. Re:All in the name by nathanh · · Score: 2
      no major X11 release in ... is it 4 years now?

      Not quite... it's been 15 years since X moved from X10 to X11.

      I meant the last major release of X11 which was X11R6.4 (Release 6.4) in 1998. But in hindsight the changes from OpenGL 1.2 to OpenGL 2.0 will be as huge as the changes from X10 to X11, so what you said has a lot of merit.

      Either way, we both prefer extensibility to vendor tyranny. Extensibility lets the market decide the success or failure of new extensions. Vendor tyranny is a "we know what's best for you" approach. Unfortunately the tyrant quite often does not know best.

    30. Re:All in the name by Anonymous Coward · · Score: 0

      Let's not forget that MS bought out a lot of the patents for OpenGL technology from SGI a year or two ago.

  6. When are people going to understand... by Anonymous Coward · · Score: 5, Informative

    OpenGL is similar to a PORTION of DirectX (Direct3d)...

    OpenGL does not provide any other of DirectX's functionality...

    1. Re:When are people going to understand... by prisen · · Score: 2, Insightful

      Understandable, but when was the last time Joe home-user could download Direct3D by itself?

    2. Re:When are people going to understand... by Aexia · · Score: 3, Insightful

      Understandable, but when was the last time Joe home-user could download Direct3D by itself?

      When was the last time Joe Home-User *needed* to download DirectX?

      These days, when Joe wants to play a computer game, it'll install DirectX for him if he doesn't have the required version.

    3. Re:When are people going to understand... by D+iz+a+n+k+Meister · · Score: 1

      OpenGL does not provide any other of DirectX's functionality...

      like sound.

      --

      He painted a unicorn in outer space. I'm askin' ya, what's it breathin'?
    4. Re:When are people going to understand... by Trogre · · Score: 5, Informative

      That's what we have SDL for.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    5. Re:When are people going to understand... by Anonymous Coward · · Score: 0

      SDL is a front end

    6. Re:When are people going to understand... by fault0 · · Score: 2

      Indeed, this is a very good point.

      Even John Carmack, who has been critical of parts of DirectX in the past (e.g, Direct3d), uses other parts of DirectX in his projects. For example, in the windows versions of Quake3 (and Quake3-derived games), DirectInput is used. A OpenGL/DirectInput combo is actually quite common.

    7. Re:When are people going to understand... by Some+Dumbass... · · Score: 4, Informative

      OpenGL does not provide any other of DirectX's functionality...

      Sure, but that why there's OpenAL, not to mention OpenNL (now called HawkNL) and its extensions, and OpenIL (now called DevIL). Wasn't there an open input layer too? They've gotten hard to find now that so many of them changed their names (due to pressure from SGI? See the OpenIL site!)

      Anyway, there's also SDL, and for that matter OpenML. Both are far more functional than OpenGL alone.

      In summary, if you want a cross-platform DirectX alternative, there are options. You just have to know about them or search them out.

    8. Re:When are people going to understand... by Anonymous Coward · · Score: 0

      It's a wrapper/layer. So is DirectX.

    9. Re:When are people going to understand... by Anonymous Coward · · Score: 0

      [SDL] is a wrapper/layer. So is DirectX.

      Not to mention that as a cross-platform API, it almost has to be a "wrapper". It has to do the right thing on both big-endian and little-endian systems, for example. That's pretty much guaranteed to require an abstraction layer, yes?

    10. Re:When are people going to understand... by irc.goatse.cx+troll · · Score: 2

      DirectInput dosnt provide this AFAIK, but do any of these allow you to transfer keymaps between games?
      That would be a verry time saving function, imagine if the lib just saved that you want 'w' as forward, then the game does a lookup and makes the local binds for you.
      Currently I just copy a input config from a game based on the same engine (most games will run with a quake2 or 3 config, even my quakeworld conf with some mods will run like a charm on rtcw)

      --
      Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
    11. Re:When are people going to understand... by SubtleNuance · · Score: 1

      These days, when Joe wants to play a computer game, it'll install DirectX for him if he doesn't have the required version

      Upgrading DirectX has caused so many problems for me that I almost cringe to do it sometimes. Nothing can destroy a Windows PC like a random un-repairable DX3D upgrade... almost always leads to restaging the PC...

      which sucks

  7. GL/DX or C/C++? by alphapartic1e · · Score: 3, Interesting

    I'm a CS student with very limited experience with both OpenGL/DirectX, but does the fact that OpenGL's association with C and DirectX's with C++ affect some developers' support for that library?

    1. Re:GL/DX or C/C++? by Osty · · Score: 4, Informative

      (full quote, for the parent is at Score: 0)

      I'm a CS student with very limited experience with both OpenGL/DirectX, but does the fact that OpenGL's association with C and DirectX's with C++ affect some developers' support for that library?

      It shouldn't make any difference. Since C++ is a superset of C, you can use OpenGL just fine with it (and if you can't find one of the 092384092389 C++ wrappers for OpenGL out there, you can always wrap it up yourself). At the same time, COM has always been available to C code as well as C++ code, so you can use DX in C as well (it's just very ugly). In either case, I don't think the native language of the library should make a difference -- COM is supported by many languages (some requiring that the COM object support the IDispatch automation interface, but I believe DX already does that, and if it doesn't you can wrap that yourself or find bindings that somebody has already done), and thus DX is available (C, C++, VB, Delphi, Java, and all of the managed code langauges). OpenGL is written in C, which means it's easy for developers to write bindings for other languages (C++, perl, python, ruby, etc).


      The moral of the story is that any properly designed library will be available across languages, so don't let the library tie you into a language you don't know or like.

    2. Re:GL/DX or C/C++? by LordSah · · Score: 3, Informative

      You can use DirectX in C if you want. It's a little bulkier, but certainly manageable. This link describes the biggest change you'll have to deal with when going from C++ to C with DirectX. The example from that page goes like this:

      g_pDP->Initialize( NULL, DirectPlayMessageHandler, 0 );

      To make the same method call from C, use the following syntax. The conventional name for the vtable pointer is lpVtbl.

      g_pDP->lpVtbl->Initialize(g_pDP,NULL, DirectPlayMessageHandler, 0);

      As for your question: no, I doubt it. The C vs. C++ thing isn't really a problem since nearly all modern compilers support both. They'd choose OpenGL over DX (or vice versa) for different reasons. If you were to build a 3-D engine, you could expose a C or C++ API using either library under the hood.

    3. Re:GL/DX or C/C++? by IamTheRealMike · · Score: 2
      It shouldn't do. Both OpenGL and Direct3D are somewhat object oriented, the difference being that OpenGL uses a flat C style API with handles (though they aren't called that) to expose those objects whereas Direct3D uses COM.

      If you're going to experiment with them, stick with OpenGL. Direct3D is possibly at this point in time more powerful, but there is massively more code involved to do the same amount. We've been writing a MMORPG in Delphi (pythianproject.org) that uses OpenGL and writing a true object oriented wrapper around it was a cinch. We did explore Direct3D a few years ago, any maybe it has improve a lot since then (I don't know) but the OpenGL API is very well designed and easy to understand.

  8. Conection is Dragging by Surye · · Score: 4, Informative

    Here's the article so we can ease up on the server:

    Future Look: OpenGL 2.0 Preview by: Robert Richmond Preview Date: November 11, 2002

    OpenGL has been a primary component of three dimensional rendering technology since its inception in 1991. OpenGL is implemented in a wide variety of applications, ranging from professional design software to multimedia presentations to interactive games. Currently available as version 1.4, OpenGL has proven to adapt with the evolution of graphics hardware, though it's age is becoming starkly apparent as compared to Microsoft's latest DirectX D3D technology. In hopes of revitalizing the decade old standard, 3Dlabs recently offers a new approach outlining the features of a possible OpenGL 2.0 revision. The concept of a proposal as compared to a standard needs to be clearly defined for the purposes of this preview article. The OpenGL 2.0 topicalities presented here are based upon a discussion text and early developmental engineering from 3Dlabs. Many vendors usually submit discussion texts and/or proposals during the OpenGL ratification process, then an appointed governing committee will analyze the various aspects of the given information before reaching an agreement about the final published standard. Since the OpenGL 2.0 development process is still in finalization stages, the information presented within this text will likely undergo multiple changes before a final OpenGL 2.0 specification is adopted for widespread industry use.

    About 3Dlabs

    3Dlabs has been a long-time contributor to the OpenGL community by providing advanced 3D hardware solutions to the professional marketplace. 3Dlabs graphics accelerators are commonly utilized for computer-aided design, multimedia development, and special effects rendering. 3Dlabs technology can also be found in many non-PC devices like military aircraft and personal cell phones. 3Dlabs is a wide market corporation with operations currently in Alabama, California, Massachusetts, Texas, Washington, Germany, Japan, and the United Kingdom.

    OpenGL 1.x Limitations

    The bulk of graphics development was centered on 2D rendering until 1997. The only areas of computing utilizing 3D technologies before this time were generally in the extremely high-end professional markets, such as CAD or virtual reality. The mid-90's release of desktop-oriented 3D accelerators like 3dfx's Voodoo or Rendition's Verite ushered in the concept of affordable 3D graphics for most mainstream PC users. Nearly a half decade later, desktop 3D video cards now include options like cube mapping, hardware transform/lighting, and programmable vertex/pixel shading. The OpenGL interface has evolved along with these new rendering features, but today's OGL 1.x does have substantial room for improvement as the next generation of video chipsets could finally outpace the capabilities of this venerable standard.

    For example, the popular OpenGL 1.3 API suffers from several major limitations, especially in regards to extending the base programming interface to include additional rendering options. The base OGL 1.3 specification documentation is approximately 284 pages of programming conventions and theory, while nVidia's extension documentation needed to implement options like per-pixel shading is well over 500 pages in length. The concern over efficient programming is clearly apparent once one factors in proprietary extensions from other corporations like ATI, Matrox, STMicro, and the vast number of other companies currently offering OpenGL compliant drivers.

    The age of OpenGL 1.x is the primary contributor to these limitations, as hardware has evolved at such a rapid pace over the past few years. System that were once considered to offer high performance only a couple of years ago are now entry-level configurations at best. The rapid development of hardware plays a significant role, as many manufacturers are adding OpenGL extensions without any real inter-corporate centralization in order to release products by usually grossly misrepresented retail availability deadlines.

    Worst yet, it appears OpenGL is following nearly the same development paradigm as DirectX. DX7 was the last fixed-function D3D interface, with the current DX8 standard being devised around poorly coordinated implementations of programmable rendering options. DX8 offers v1.2 programmable options, while DX8.1 offers a slightly improved v1.4 programmable feature set. This development schedule can wreak havoc on developers and hardware engineers. For example, the GeForce-3 supports v1.2, but the Radeon 8500 supports v1.4. In can be expected that programmers will likely opt for the lowest common denominator when coding, thus it is suspect whether some of these staggered options will ever be included in software released in the near future. Only with the release of DirectX 9 does Microsoft plan to offer a hardware independent programmable interface.

    Some developers have proposed extensions to OpenGL 1.x to add programmable rendering options including various extensions which may not be compatible with hardware from another manufacturer. Efforts are also being established to institute a generalized extension set for programmable shading, though these are still largely hardware dependant, thus they will not work with all OpenGL implementations. The goal of 3Dlabs' OpenGL 2.0 initiative is to create an uniform standard with a hardware independent shading language that functions with nearly all OpenGL compliant graphics accelerators.

    OpenGL 2.0 Envisioned

    3Dlabs hopes to address several key issues with its OpenGL 2.0 approach. OpenGL needs to evolve into an easier to code interface format with optimizations for memory management and timing control for increased performance potential. Another issue to be addressed is how to deploy generalized programmable shading routines which are hardware independent. The overall predominate concern is maintaining complete backwards compatibility with OGL 1.x standards while retaining the functionality of the new standard's advanced rendering options.

    3Dlabs has received positive support from many facets of the graphics engineering community. Universities like Stanford are already hard at work on extended OpenGL rendering routines which support some of the v2.0 conventions. Most hardware manufacturers and software vendors are also expressing overwhelming support, as an improved OpenGL standard could lead to better graphics and performance with less development overheard and greater product turnaround times. Regardless of those involved, 3Dlabs is working towards a future OpenGL 2 interface without any imposed royalties or operating system limitations in hopes of establishing a wider market base.

    OpenGL 2.0 Explained

    The 3DLabs approach is to first extend software through utilization and public promotion of certain OpenGL 2 standards, then gradually move code towards a "pure" OpenGL 2.0 environment. However, unlike DirectX 8, all OpenGL rendering conventions should be available for those seeking a pure OGL implementation at release, instead of staggering the releases in various subset revisions. As stressed earlier, the ultimate final goal is to reach a streamlined programming interface which offers hardware independency.

    Each of the programmable processor pipelines (software and/or hardware) essentially eliminate and/or replace a significant portion of current OpenGL conventions. The programmable vertex processor replaces the current options for transform, lighting, normalization, texture coordinate generation, and fog rendering. The fragment processor replaces the current operations for smooth shading, texture access, texture application, alpha testing, and pixel transfers. The pack/unpack processor included capabilities for flexible pixel formatting during memory move operations to create a coherent and consistent stream of pixel data to the rendering pipeline. The clear benefits of these programmable options are increased performance and image quality by removing the dependence upon fixed functions of static T&L pipeline routines. The associated rendering conventions for each of these advanced routines are unified through a comprehensive C-based programming language with special detail added for vector and matrix processing operations.

    3Dlabs also implements a new data buffer mechanism to be utilized for enhancement of the programmable rendering interface. The buffer is used to enable multiple-pass fragment programs with full stream processing support. Usage examples include multiple outputs from a single fragment routine, intermediate result storage, multi-spectral imaging, and acceleration of back-end rendering by reducing the time needed for read-back of floating-point images by the host bus. Additionally, the buffer space is accessible through either spatial or FIFO memory operations.

    Today's OpenGL 1.x provides no real direct control over when or where objects are stored or deleted within the memory address range. OGL 1.x also provides no direct control over memory copies or address fragmentation. 3Dlabs plans to implement a new management routine to allow for improved timing control over memory operations. The OGL 2.0 proposal sets policies and priorities for all datasets with timing estimates provided for each task. Additionally, all pinned policy operations allow the application to control memory store/delete and packing operations.
    John Carmac's Opinion

    "Given the good first impression, I was willing to go ahead and write a new back end that would let the card do the entire Doom interaction rendering in a single pass. The most expedient sounding option was to just use the Nvidia extensions that they implement, NV_vertex_program and NV_register_combiners, with seven texture units instead of the four available on GF3/GF4. Instead, I decided to try using the prototype OpenGL 2.0 extensions they provide.

    The implementation went very smoothly, but I did run into the limits of their current prototype compiler before the full feature set could be implemented. I like it a lot. I am really looking forward to doing research work with this programming model after the compiler matures a bit. While the shading languages are the most critical aspects, and can be broken out as extensions to current OpenGL, there are a lot of other subtle-but-important things that are addressed in the full OpenGL 2.0 proposal.

    I am now committed to supporting an OpenGL 2.0 renderer for Doom through all the spec evolutions. If anything, I have been somewhat remiss in not pushing the issues as hard as I could with all the vendors. Now really is the critical time to start nailing things down, and the decisions may stay with us for ten years.

    A GL2 driver won't give any theoretical advantage over the current back ends optimized for cards with 7+ texture capability, but future research work will almost certainly be moving away from the lower level coding practices, and if some new vendor pops up (say, Rendition back from the dead) with a next-gen card, I would strongly urge them to implement GL2 instead of proprietary extensions."

    John Carmac Lead Programmer ID Software
    Final Thoughts
    OpenGL 2.0 is still in its development stages, though 3Dlabs does offer some insight into the new features needed for this aging standards to maintain acceptance within the graphics marketplace. As noted earlier, the concepts and ideas presented here are only preliminary at best. The information gathered for this article was obtained through various discussion overviews published by 3DLabs and associated companies. It appears 3DLabs and other developers are steadily moving forward with development of a new and exciting OpenGL standard that strives to offer the best compatibility with sustained performance across the widest variety of hardware configurations available.

    1. Re:Conection is Dragging by Surye · · Score: 1

      Some one modded me as redundant? ...um, I plead guilty? Isn't that the point?

  9. Yeah, but by Slashdotess · · Score: 1

    Whens the last time anyone wanted just Direct3D?

    1. Re:Yeah, but by AsparagusChallenge · · Score: 1

      When everything else works just right, thank you, and wants to upgrade only Direct3D.

  10. problem with opengl by SystematicPsycho · · Score: 4, Interesting

    The problem with opengl is that vendors decide to add there own extension to it, and too many vendors do such a thing. If opengl is going to outperform the rest cooperation between vendors and the opengl commitee needs to take place more often.

    --
    Analytic & algebraic topology of locally Euclidean meterization of infinitely differentiable Riemmanian manifold
    1. Re:problem with opengl by Anonymous Coward · · Score: 0
    2. Re:problem with opengl by Chris+Burke · · Score: 3, Offtopic

      They are cooperating. That's how OGL 2.0 came about. It's an open consortium of componies that decide what the standard should be. They may disagree, but overall it's cooperation.

      And the extensions let them expose feature of their hardware that the spec currently doesn't support. That's good for you (who get the features sooner) and good for the company (who can sell their cards based on those features sooner). And the best of those features get folded into the spec next revision. I'm not sure how you can call this a "problem".

      It's a lot better than ATI not being able to sell the nicest features of their card because the owner of the software they depend on hasn't put out a release that supports those features yet -- and of course you not being able to -use- those features.

      --

      The enemies of Democracy are
    3. Re:problem with opengl by be-fan · · Score: 2

      Actually, that's not how OpenGL 2.0 came out. OpenGL 2.0 came out because 3DLabs, who is very dependent on OpenGL, got fed up with the ARB and rolled their own spec. To tell the truth, I saw this coming years ago. But I honestly thought that the ARB was going to be the one to kick into high gear and get something done, done a member corporation. So in reality, the ARB hasn't proven it's not useless yet at all. We'll just have to see how quickly updates to OpenGL 2.0 come out, and if they can match pace with DirectX.

      --
      A deep unwavering belief is a sure sign you're missing something...
    4. Re:problem with opengl by SystematicPsycho · · Score: 1

      Woah.. I don't know why someone mod'd your post as offtopic.

      I will have to go and look at opengl 2.0. Ironically I have a graphics exam tommorow on graphics theory all the way up to NURBS.

      My friend works for a game company (auran) and was telling me the developers like direct x better as opengl is all over the place, but that was months ago. He also said that if you port a game to playstation it is not far off from being ported to linux.

      --
      Analytic & algebraic topology of locally Euclidean meterization of infinitely differentiable Riemmanian manifold
  11. Success by torre · · Score: 5, Informative

    With the long history of slow moving approavals for the OpenGL community, I hope that politics doesn't take over and bring the approval system back to a crawl after Version 2 is released.

    1. Re:Success by Anonymous Coward · · Score: 0

      You know, it would take something like this to get their blood flowing.

  12. vs. DirectX by wray · · Score: 5, Interesting

    MS will of course continue to press DirectX, but, the more Linux, and FreeBSD, and "alternative" platforms become used, and viable, (Thanks to NVIDIA for their drivers for FreeBSD AND Linux) the more appealing it is for developers to create cross-platform games. This is why it is essential for OpenGL to progress, and why I am so excited for version 2.0.

    BTW: what is the status on the MS patent issues? Anyone know?

    --
    Guess what? I got a fever! And the only prescription.. is more cowbell!
    1. Re:vs. DirectX by Anonymous Coward · · Score: 0
      WTF, does Redmond employ a platoon of shillbots to do nothing but spew agitprop and troll /. ?

    2. Re:vs. DirectX by Anonymous Coward · · Score: 0

      SDL... Goodnight.

  13. Carmac? by Anonymous Coward · · Score: 1, Funny

    And all this time he has been calling using the name Carmack ... the cat is out of the bag now

    1. Re:Carmac? by Anonymous Coward · · Score: 0

      No no no, it's Tarmac!!
      I think..

  14. Re:Too little too late? by CoolVibe · · Score: 3, Interesting
    DirectX is no industry standard. OpenGL is. Killing off OpenGL is VERY hard to do. Especially since OpenGL runs on more platforms than just win32 only. And since MS won't have DirectX on anything else other than IA32, it will NEVER be an industry standard. Period.

    So it'll disappear from the desktop, only to stay alive where it matters, on the workstations of people using serious applications, like CAD/CAM to name just an example. (And no, not all CAD/CAM happens on intel boxes, actually SGI has this market cornered, guess where OpenGL comes from?)

    Yeah yeah, I know the parent is a troll, but I decided to bite. *shrug*

  15. Re:Too little too late? by Ziviyr · · Score: 5, Funny

    Yeah, ever since DirectX was integrated into the Linux kernel OpenGL has been dead. ...Huh?

    --

    Someone set us up the bomb, so shine we are!
  16. Re:Too little too late? by Anonymous Coward · · Score: 0

    If you consider the goal of Open-GL is to become the preferred API for 3d games on Microsoft windows, then by any measure it has already failed.

    However the goals of Open-GL have always had a much broader scope. Unless someone can name a API that's more open, more standardised and available on more platforms, I can't see how Open-GL could fail.

  17. Like many will point out by bogie · · Score: 5, Insightful

    OpenGL is "good enough" and its Cross platform. End of Story. That alone makes it worth the extra effort.

    It's short sighted thinking that got us into the situation that were in now, where one nasty law-breaking company wields its power with an iron fist and wants to crush any potential innovators before they even have a chance to compete.

    Who knows what other grahpics programming languages have been or will be quashed because of Microsoft? The only reason OpenGL even survived is that it was mature to enough not to be blown away be those crappy early versions of DirectX.

    --
    If you wanna get rich, you know that payback is a bitch
    1. Re:Like many will point out by Anonymous Coward · · Score: 0

      Interesting? Come on moderators, this is pure flame-bait and nothing else. Do your job correctly.

    2. Re:Like many will point out by Anonymous Coward · · Score: 0

      I don't think it's flamebait. I think the poster makes a valid point.

    3. Re:Like many will point out by Anonymous Coward · · Score: 0

      No one really cares what you think. I think I make a valid point.

    4. Re:Like many will point out by Anonymous Coward · · Score: 0

      Quoth the poster:
      OpenGL is "good enough" and its Cross platform. End of Story. That alone makes it worth the extra effort.

      It's short sighted thinking that got us into the situation that were in now, where one nasty law-breaking company wields its power with an iron fist and wants to crush any potential innovators before they even have a chance to compete.

      Who knows what other grahpics programming languages have been or will be quashed because of Microsoft? The only reason OpenGL even survived is that it was mature to enough not to be blown away be those crappy early versions of DirectX.

      My response:
      Uh, huh. So the fact that Direct 3D (DirectX is a whole hell of a lot more) has more and better features faster than OpenGL is simply an accident. It doesn't have anything to do with the hard work of many individuals at Microsoft. You guys are way too hard on Microsoft. Yeah, sometimes Microsoft's code is shabby, but when they do something about it and all you guys do is whine, bitch, and moan.

      Get a grip on reality. Windows is where it is because it lets you do everything you want to do. It's in Microsoft's best interest to make a platform with better features than OpenGL. It's only in the interest of other OS developers to make a competing platform. Windows has 95+% of the desktop market because Microsoft is easy to program for, and people have a history of using Windows and don't want to change systems, not solely because of Microsoft's business practises.

      It was never PROVEN that Microsoft's business practises CAUSED Microsoft to become a monopoly, but it is CLEAR that those practices have been declared illegal, and are prevented from happening now. If you want to do something constructive, write software. You are *free to do so.

      *-beer or speech, I really don't care.

    5. Re:Like many will point out by Anonymous Coward · · Score: 0

      Insightful? This is nothing but the usual anti-Microsoft crap you usually hear.

      That said, OpenGL serves a good purpose on many platforms, and DirectX serves a similar platform on Windows. It would be nice if there was one unified graphics interface, but I can't see that happening anytime soon. It would also be nice to have people using the same operating system to save developers from all the usual cross-platform crap.

      Ultimately, it comes down to choice. Microsoft wants to have their DirectX graphics (Direct3D), and people are content to have it. Most other platforms use OpenGL and they also are content. Will OpenGL survive? Of course. I can't see Microsoft porting DirectX to Linux anytime soon and I don't know of any fully developed alternative. Will DirectX survive? Probably. Microsoft does seem to put a lot of work into it, and many games (etc.) require it.

      So, quit bitching about wanting homogeneous computing environments. Isn't the lack of options exactly what pisses so many of you off about MS (yes, I know you also don't like the OS, but dear god you bitch about the lack of choice enough).

      Cheers.

      ps. $50 says this gets moderated down.

  18. Re:Too little too late? by stdcallsign · · Score: 1

    OpenGL 2.0 while promising, is destined to fail.

    Woa, what do you by fail? If you mean fail to be:

    The only available Graphics library that works on 10+ platforms.
    Be the GL of choice for 99.9 percent of the scientific community.

    Well I got news for you pal, it already is. The 2.0 architecture will only increase its power. Will it become the most widely used API for games on the windows platforms? not right away, but if you'll notice, there are far more tutorials for OpenGL than there are for DirectX out there. The interest is there and the OGL dependent talent base is growing.

    Even then, who really cares if OGL doesn't dominate the windows market, what it does is create an incredibly powerful platform for game developers on linux. I could care less about DX's success or lack therof, I want good linux games.

    stdcallsign (aka LanRover)

  19. Re:Too little too late? by befletch · · Score: 1

    DirectX is no industry standard. OpenGL is. Killing off OpenGL is VERY hard to do.

    Unless you have some help from the patent office. What are the odds Microsoft has a pile of DirectX 9 software patent applications slowly wandering their way through the USPTO?

    --
    If you say, "now I'll be modded down because of X", I'll happily oblige.
  20. Re:Too little too late? by CoolVibe · · Score: 2

    Can you say: Prior Art?

  21. illustration of shaders? by CoughDropAddict · · Score: 2

    Could someone please explain how shaders enhance a scene, and how to know if you're seeing one? I've done a fair amount of graphics coding (2d, 3d, splines, nurbs, etc) but I don't understand what shaders offer or how they really work.

    Images that can illustrate this would be especially nice.

    1. Re:illustration of shaders? by woodhouse · · Score: 1

      Well, there are pixel shaders and there are vertex shaders. Pixel shaders are small programs which allow you to specify per-pixel operations applied to surfaces, such as how to combine the textures, and how to calculate lighting equations. This gives a lot more flexibility than standard OGL calls allow, and you do do some very complex things, like shadows, bump mapping, per-pixel lighting and environment mapping. As for vertex shaders, I'm no expert because I've never used them, but I understand they're a similar sort of deal except dealing with sets of vertices. All of this is a good thing if you want more flexibility in your graphics algorithms, and don't want to be constrained by the API. Until recently, these programs have been written in a low level language similar to ASM, and were only accessable to OpenGL through hardware specific extensions. The main reason OpenGL 2 is so great is that it makes all this hardware independent, and it uses a high level language (similar to C). There's plenty of info on nVIDIA and ATi's sites about this stuff, including pretty pictures.

    2. Re:illustration of shaders? by AdamTheBastard · · Score: 1

      Try Nvidia's site. Goto the demos page and look at the pcitures there. If you have one of the cards that are spoorted by the demos download them and see for yourself.
      Shaders are used to make textures look more realistic, models look more 3d and the sceene overall more true to life. Untill Carmack gets bored and starts coding a realtime photon mapper (got Beowulf clusters?) special effects like this are going to enhance 3d engines.
      About knowing when you are seeing a shader, thats pretty hard to explain although if you don't have an Nvidea Ti card of some sort its pretty safe to say you arn't seeing them. I'm pretty sure neverwinter used a pixal and vertex shader to enhance the water but that may have been morrowind.
      What do shaders offer? I havn't done a huge amount of research but I know that shaders are quite usefull when it comes to things like adding bumps and shines you normaly wouldn't see. Fur and cloth are another pair of shaders that arn't in as much use at the moment but are on the rise.

    3. Re:illustration of shaders? by be-fan · · Score: 5, Informative

      Shader's are just the logical next step in the progression of the 3D pipeline from fully fixed function to totally programmable. In a fixed function pipeline, you've got specific steps that the data goes through. Ie:

      - App send OpenGL vertex data.
      - Vertex data gets rotated, translated, and scaled according to the modelview matrix.
      - The scene is project onto the screen using projection matrix.
      - Triangles are constructed from projected vertex data.
      - Triangles are broken down into scanlines, and color values are stored in the framebuffer based on a specific combination of material color, lighting, and texture information.

      The OpenGL 2.0 programmable pipeline is different. In addition to the features of the fixed function pipeline you have additional steps.

      - Verticies, instead of going through a fixed set of transformations, instead go through a shader program. The shader program manipulates the position of the vertex much more flexibly than a fixed transformation. For example, a vertex program could make the verticies of a flag move to simulate the waving of the flag in the wind. It can also do similar things for water or cloth.

      - Pixels, instead of being colored according to a fixed formula involving material, lighting, and textured, are also run through a mini program. The pixel shader (also called fragment shader) is presented with a set of inputs (texture data, lighting information, material color) but has the freedom to access other data as well as do its own computations. This allows advanced effects like more realistic lighting, bump-mapping, basically anything you can program.

      - Instead of having fixed conversions between different data formats, you have what are called pack/unpack processors. You can run mini programs on the pack unpack processors to flexibly translate between data formats without losing the benifet of hardware acceleration.

      All of thse features allow far more advanced effects than what is possible with a fixed pipeline. For a look at exactly what effects are possible:

      http://firingsquad.gamers.com/hardware/r300/page 4. asp
      NVIDIA has a pixel shader design program you can check out.
      Doom III uses pixel shaders for dynamic shadows, among other things.
      A game called AquaNox uses pixel shaders extensively for water effects.
      Unreal Tournament 2003 uses pixel shader as well.

      --
      A deep unwavering belief is a sure sign you're missing something...
    4. Re:illustration of shaders? by CoughDropAddict · · Score: 2

      Thanks, that was an excellent explanation.

      I assume pixel shaders came first? "Vertex shaders" sounds like kind of a misnomer, since they affect geometry and not shading.

    5. Re:illustration of shaders? by be-fan · · Score: 2

      Err, vertex shaders come first. The verticies are moved around by the shaders, then they're projected, 2D triangles are generated, and the pixel shaders run on the pixels covering the generated triangles. But yeah, vertex shader is a misnomer.

      --
      A deep unwavering belief is a sure sign you're missing something...
    6. Re:illustration of shaders? by CoughDropAddict · · Score: 2

      Err, vertex shaders come first. The verticies are moved around by the shaders, then they're projected, 2D triangles are generated, and the pixel shaders run on the pixels covering the generated triangles.

      I meant historically, not in the rendering pipeline. :-)

  22. Re:Too little too late? by nsample · · Score: 2


    (And no, not all CAD/CAM happens on intel boxes, actually SGI has this market cornered, guess where OpenGL comes from?)

    Actually, current SGI boxes have Intel(tm) inside. For better or worse, it's been that way for a LONG time now.

  23. Plagiarism! by Anonymous Coward · · Score: 1, Interesting

    I got the impression that MJ just cut'n'pasted directly from HardOCP. Word for word. I kid ye not.

  24. Re:Too little too late? by Anonymous Coward · · Score: 0



    SGI dropped Intel after the PIII

    SGI finally saw the light. They returned to the MIPS architecture after failing to compete successfully on cost with their Intel "solutions."

  25. Easy on, M$ groupie... by curious.corn · · Score: 0, Flamebait

    your vision is crystal clear, if it hasn't been strangled yet il will, if it already has there's no chance it can pick up. Man, I hope you haven't painted your house windows in stupid RGBY colors! Oh, go to your fav store and let M$ screw you, after all it's your wallet that's getting raped... wait, it's fools like you that got BeOS killed (never mind the last mismanagments, it's like those last contractions when a living being passes away) or that keep M$ fat living off those viral vectors like OutOfLuck or Office... next thing, we'll lose control on multimedia formats thanks to those million fools using MediaPlayer. Heh, guess that DE-COMMODITIZING strategy moved up the stack-layer... in Italy we say: "La madre dei fessi è sempre incinta" Good night (ahhh, once in a life it's fun to drop a flamebait)

    --
    Mi domando chi à il mandante di tutte le cazzate che faccio - Altan
  26. Cross-posting by or_smth · · Score: 1

    Not only was this article a total letdown, a mysteriously (*wink wink*) similiar thing was posted somewhere else. Take a look at [H]ardNews 3rd Edition for tuesday on [H]ardOCP. I guess it's a little too much to expect from editors to look around the internet, but never the less, it seems stupid to totally rip something from another site directly, especially when the article sucks =).

  27. Until... by Anonymous Coward · · Score: 0

    But what comes after 9?

    DirectX X

  28. Slashdot moderation question by Anonymous Coward · · Score: 0

    before you mod this down...
    I have an Excellent rating and have for a while yet I never had an opportunity to moderate. Question: Is moderation selection a rare event? How often does it occur? Do you have to sign up for it?

    1. Re:Slashdot moderation question by Anonymous Coward · · Score: 0

      Nobody is really sure how moderation works, except for people who work on the slashcode. Mod points seem to go to people more often with good karma, I get mod points all the time, and that's all I know.

    2. Re:Slashdot moderation question by Luke-Jr · · Score: 1

      Well, I'm not sure how common it's supposed to be, but since I qualified, I've been a mod about once a month. Note I have no sense of time, however, and it could possibly be once every 3 months or once every 2 weeks.

      --
      Luke-Jr
    3. Re:Slashdot moderation question by Anonymous Coward · · Score: 0

      Well, my karma has been over 45 (most of the time at 50, which is the cap) for the last year or so and I've never had mod points (except when slashdot moved, but those didn't count). I have a strange feeling they only give mod points to people whose IP identifies them as being in the USA (I know some people who get mod points, and they're all in the USA). Could this be a factor?

    4. Re:Slashdot moderation question by bakes · · Score: 2

      Check in your user preferences, homepage tab, and make sure that the 'Willing to Moderate' check box is checked.

      --
      Ho! Haha! Guard! Turn! Parry! Dodge! Spin! Ha! Thrust!
    5. Re:Slashdot moderation question by Smid · · Score: 1

      I tend to get them once a week... But why that is, is probably because I hardly ever have time to use them. If its a thread I'm interested in, I would post to it, not moderate it.

  29. DirectX by be-fan · · Score: 5, Interesting

    I'm vehemently anti-Microsoft, but for a long time, I've loved DirectX. Of course, the DirectX team has always been something of a rebel element within Microsoft, so I don't feel too bad :) Hungarian notation aside, it's a wonderful API to use. I didn't start using it until it was around 6.0, which explains why I didn't get put off by the stinky earlier versions. From what I've seen of OpenGL 2.0, it's a worthy competitor to Direct 3D. It's comparable in terms of features, and has a nice clean design that's much more straightforward than Direct3D, which is admitedly complex. However, OpenGL is a replacement for D3D only. OpenAL is probably comparable to DirectSound, but there is nothing comparable to DirectShow, DirectPlay, or DirectMusic on Linux. A breakdown:

    DirectShow - Gives you a unified media framework. Allows plugins to be written independent of program, and allows programs to use any installed plugins. The code for something like this exists (or soon will) in the Linux world, in the form of gstreamer, aRts, mplayer, and xine, but unfortunately, the latter are not one framework, but several. In particular, it infuriates me that there are codecs that mplayer has support for that xine doesn't, since Xine has KDE interface and mplayer doesn't.

    DirectPlay - A high level networking API. DirectPlay is independent of the underlying protocol, and encapsulates high level networking concepts like meeting places and session management.

    DirectMusic - This is something that Linux really doesn't have, to my knowledge. DirectMusic allows the composition of dynamic soundtracks using a powerful MIDI engine. I know MIDI sounds like a throwback to the past, but several modern console games have taken to using it to allow in game music to reflect in game events.

    --
    A deep unwavering belief is a sure sign you're missing something...
    1. Re:DirectX by Anonymous Coward · · Score: 0

      So MS is finally getting up to speed on copying the whole media architecture that Quicktime provides?

    2. Re:DirectX by Graff · · Score: 5, Interesting
      OpenGL is a replacement for D3D only. OpenAL is probably comparable to DirectSound, but there is nothing comparable to DirectShow, DirectPlay, or DirectMusic

      I'm not sure about some of those, but I do know that there is OpenPlay, an alternative networking API. Here's a quote from the site:
      What is OpenPlay? OpenPlay is a cross-platform network abstraction layer designed to simplify the task of creating programs which communicate across multiple computers.

      While originally designed for multiplayer games, it is useful for any developer who wants an easy, platform-independent way to send messages to programs running on other machines. It completely abstracts both OpenTransport and Winsock, and its plug-in architecture makes it easy for you to support new transport protocols.
    3. Re:DirectX by AndersM · · Score: 1
      DirectMusic - This is something that Linux really doesn't have, to my knowledge. DirectMusic allows the composition of dynamic soundtracks using a powerful MIDI engine. I know MIDI sounds like a throwback to the past, but several modern console games have taken to using it to allow in game music to reflect in game events.

      Yeah, and pretty much all modern computer games have ditched MIDI in favour of higher-quality, lifelike, real music, in MP3 or other formats. The music for Hitman 2, for instance, was performed by 110 musicians from the Budapest Symphony and choir, and it'll also be published on it's own soundtrack CD. If you find a sound set for a windows software synth that plays better that 110 human musicians, mail me. I want it. =)

      Also, often you can crossfade between different themes suitable for different situations, and achieve pretty much the same effect.

      MIDI is for music pros with a bunch of synths and samplers working together and for space-constrained consoles. And the consoles shouldn't remain that limited for very long.

      IMHO, DirectMusic is not that useful...

      --
      My opinions may have changed, but not the fact that I am right! =)
    4. Re:DirectX by be-fan · · Score: 2

      You'd be surprised how good MIDI can sound these days. And in the middle of the game, background music that adapts to the situation (like in the movies!) is far more noticable than slightly lower audio reproduction. And consolses haven't been space constrained since 1995 (and all of them have dedicated audio processors and audio memory these days) yet several games still use a dynamic MIDI soundtrack because it fits the game better than a static one. You might not notice it playing something like Quake, but for something like Legend of Zelda (where the story is important, like in an RPG, but the character has a lot of freedom of movement, like in an action game) dynamic music helps the feel of the game tremendously. It's like in-game cutscenes vs full-motion video. FMV has better video quality, but in-game cutscenes fit much better and are favored for that reason.

      --
      A deep unwavering belief is a sure sign you're missing something...
    5. Re:DirectX by Anonymous Coward · · Score: 0

      Mmmm ... DirectX came as a bit of a surprise to MS and whilst initially disparaged within the company, its two creators developed something that probably sold more copies of MS Windows than Office or any other product.

      It's various modules provide a fairly complete gaming environment and API.

      That said, I often run into the situation where an Open GL version of the same game is much more preferable to the DirectDraw(3D) variant. Somehow the graphics seem smoother, the textures seem better, and the level of detail seems better in OpenGL. Aside from that OpenGL doesn't seem to have as much CPU loading as DirectDraw ... and seems to be stabler in most of the games that implement the two standards.

      This will probably change with DirectX 9 ... but with OpenGL 2 on the cards I don't know whether I'd want to punt one way or another at the moment.

      Regards,

    6. Re:DirectX by user32.ExitWindowsEx · · Score: 1

      Modern games can do dynamic music with CD-quality audio. X-Wing Alliance has had dynamically-changing music (clips of Star Wars, of course) and it came out a long time ago....probably 4 years ago.

      --
      "Evil will always triumph because good is dumb." -- Dark Helmet
    7. Re:DirectX by be-fan · · Score: 2

      There is a difference between music clips that change and music that is generated according to the theme of a level. Seperate music clips are nowhere near as fluid, and don't evoke the same level of subtle enhancement that dynamic music does.

      --
      A deep unwavering belief is a sure sign you're missing something...
    8. Re:DirectX by ewhac · · Score: 2

      DirectPlay - A high level networking API. DirectPlay is independent of the underlying protocol, and encapsulates high level networking concepts like meeting places and session management.

      It also has never worked.

      Fire up Mechwarrior 4, which uses DirectPlay. Try to connect to an Internet server. Can't connect? You must be running an unsupported network configuration, such as being behind a firewall running NAT. Oh, sure, there's a technote on how to gouge holes in your NAT gateway to let Microsoft's broken protocol through, but why should you be bothered when Quake, Unreal Tournament, HalfLife, and nearly every other DirectPlay-less game Just Plain Work?

      DirectPlay typically causes enough grief for developers that nearly everyone ends up rolling their own network code (since the Berkeley socket API is so straightforward).

      Schwab

    9. Re:DirectX by sql*kitten · · Score: 2

      What is OpenPlay? OpenPlay is a cross-platform network abstraction layer designed to simplify the task of creating programs which communicate across multiple computers

      Umm, remember Game Sprockets? That was when Apple last tried to provide a framework for game developers. Like OpenDoc, any developers who adopted it were out of luck when Apple decided to abandon it. It'll be a while before Apple are trusted again.

    10. Re:DirectX by Anonymous Coward · · Score: 0


      However, OpenGL is a replacement for D3D only.

      OpenGL was started in 1991. D3D much later. My personal opinion is that our dear friends at Microsoft took the OpenGL API and changed the names of the functions and so-forth and called it D3D. And Bill probably payed them well for that also.

    11. Re:DirectX by Ford+Fulkerson · · Score: 2

      Like OpenDoc, any developers who adopted it were out of luck when Apple decided to abandon it. It'll be a while before Apple are trusted again.

      There's a huge differance here since Apple provides the full source for their implementation that runs on Mac, Windows and soon Linux. It doesn't matter if Apple decides to abandon it, it's still out there for every developer who needs it.

      --

      Somewhere in the heavens... they are waiting.
    12. Re:DirectX by Graff · · Score: 2
      remember Game Sprockets? That was when Apple last tried to provide a framework for game developers. Like OpenDoc, any developers who adopted it were out of luck when Apple decided to abandon it.
      Ahh, but now we begin to see the beauty of open source. Apple has released OpenPlay as open source. They have provided the full source code for OpenPlay and they encourage any and all to help develop it. So even if Apple goes south it will still be out there and people can continue to develop the API.
    13. Re:DirectX by be-fan · · Score: 2

      If you've ever used Direct3D, you'd realize that it's nothing like OpenGL. It's far less abstract and closer to the hardware than GL is. There are a lot of similarities, of course, because they both do the same thing using the same 3D graphics concepts (transform matrixes and whatnot) but they are very different overall. Besides, D3D blew chunks until around D3D 6.0, which didn't come out until many years later.

      --
      A deep unwavering belief is a sure sign you're missing something...
  30. Re:Too little too late? by CoolVibe · · Score: 2
    Yeah, but guess what's on them? Right, OpenGL.

    Did you know that they ditched NT as a recommended platform? Those SGI Visual workstation you talk about come with Linux preinstalled.

    And the SGI MIPS machines are still widely used. I used to work for a R&D company that did a lot of CAD/CAM. I had to administer those Octanes and Indigo's that were used as workstations for stuff like Alias Wavefront.

    I also doubt that people working on a SGI IRIX machine would give it up that easily :) In fact, that same company wanted to use NT for CAD/CAM. I heard the phrase "They'll get my machine when they pry it from my cold dead fingers" a lot.

  31. Easy on, M$ groupie... by Anonymous Coward · · Score: 0
  32. OpenGL for Lisp and Linux by Anonymous Coward · · Score: 1, Informative

    GCL-GL.tar.gz: OpenGL/Mesa and Xlib bindings for GCL (Gnu Common Lisp).
    http://groups.google.com/groups?q=gcl-gl&hl=en&lr= &ie=UTF-8&oe=UTF-8&selm=MANN.96Dec12144405%40orasi s.vis.toronto.edu&rnum=1
    http://www.cs.toronto.edu/pub/mann/Software/Lisp/

    Mesa is a "more free" version of SGI's OpenGL.

  33. I was expecting by jsse · · Score: 1

    he talks about the patent troubles in the development of OpenGL.

  34. theory vs reality by Anonymous Coward · · Score: 5, Insightful
    or should I say, Marketing vs Implementation?

    What I always thought that was cool about the idea of DirectX was where you could in theory make certain calls (API or direct) that would stay the same while the actual logic behind the action could be updated and upgraded. Of course this is really the promise behind COM, but was advertised as being the main thing to shout about for DirectX.

    However, in reality each release pretty much rewrites the entire system. And since you cannot mix versions then you are forced to either rewrite your entire calling routines or just suck it up and go with the older version (and be hammered by kiddie/poser reviewers).

    If OpenGL would apply the lessons from this and build a multilayered (or rather multilayer-abstracted) interface system so that components can be enhanced or changed without requiring a rewrite of code (or at least a major one). What is the point of API's during times in which capabilities change so much if they are outdated in 6 months? I guess what really confuses me are the trollish kiddies that will parrot things on the order of, "why do you need API's, shouldn't you do real programming and blah blah blah?" Well the typical and rightful response to this is "and I suppose that not only are you programming in binary, but more importantly you are not using a text display but are in fact using a dial or manual switch system..."

    Basically I see little difference between the number and variety of cards that are released on one day (lateral) as ones released over time (vertical). Yet what happens is that some new card enables a new rendering toy _OR_ some better method of implementing an existing method is released and we break the system. Don't get me wrong, a system like this is not easy to implement... at least not from scratch. However, based on the history and patterns (lessons learned if you will) from attempts up to this point, there should be a good place to start. There are definitely differences between changes like mono sound to multi-channel suround 3d sound with cherries on top, and that of different methods of shading for 3d rendering. After all, anyone who can fly an aircraft can fly any aircraft that follows the common interface, regardless of using prop or jet or whatever. Sure, there are differences in various controls but anyone who has flown very much knows the similarities are more than the differences in terms of operations. This even includes changes from dials to digital, etc.

    This makes it harder to build reusable libraries and engines. That equates to two things: higher prices for your games, longer times to release (and flakier games because of the non-learning aspect of marketers and publishers) and of course underutilization of available hardware and technology. Three reasons? NOBODY EXPECTS THE SPANISH INQUISITION!

    Maybe the day will come where there can be very generalized, abstracted toolsets/API's that are common to all major functionalities (sound, 3d graphics, 2d graphics, etc) that can be safely drilled-down as low as the programmer wants to go. Pipe dream at this point, but then again so were most of the things we use today at one time.

    1. Re:theory vs reality by ewhac · · Score: 5, Insightful

      Forgive me, but do you have the vaguest idea what you're talking about?

      What I always thought that was cool about the idea of DirectX was where you could in theory make certain calls (API or direct) that would stay the same while the actual logic behind the action could be updated and upgraded.

      This is the whole point of OpenGL. It also pre-dates DirectMess by ten years or so.

      Silicon Graphics, the creators of OpenGL, originally wrote APIs for their workstations that were more or less hardware-specific. Every time they came out with a new machine, a new version of the API would come out, and all the apps would have to be re-written. After the fifth time or so, SGI got enough flak from both internal and external developers that they decided to write an abstract API such that the client software wouldn't know or care about the underlying implementation. This gave SGI the freedom to take features previously implemented in software and drop them into hardware, and the application would work without recompiliation.

      The same principle applies to this day. Back when the first version of GLQuake was released, 3D-accelerated cards had one -- perhaps two -- texturing units. They also didn't have hardware transform and/or lighting. Now, graphics cards typically have four texture units, hardware transform and lighting, vertex shaders, full-scene anti-aliasing, etc. etc. etc. But that old copy of GLQuake id Software released five years ago still works. Heck, it even works better now. Which is the whole point.

      What you describe already exists. It's called OpenGL, and it works.

      Schwab

    2. Re:theory vs reality by TrancePhreak · · Score: 0

      Actually, to get hardware texturing and lighting in OpenGL, a complete rewrite is quite necessary.

      --

      -]Phreak Out[-
  35. Good to hear by wwelles · · Score: 1
    I can't wait for video cards to jump up over $750 USD :)

    But seriously now, I wonder if people 20 years down the road will come play games like Quake III with their highly advanced computers, much like people still play Pong and Space Invaders.

    Just my two cents.

    --
    --- WAL
    1. Re:Good to hear by SparkyMartin · · Score: 1

      Yes they will because when you turn 30 something happens that make you want to relive your youth. Or if you happen to be 50 you want to relive what it was like when you were 30.

    2. Re:Good to hear by Jason+O'Neil · · Score: 1

      I think it will be very similar to pong and tetris. They will probably have very nice looking versions, while retaining the gameplay. It will probably be free and distributed on all new computers. People will keep telling you to play the latest game, but you enjoy the *original* flavour of the gameplay. I can see this happenning with many games we have today.

  36. Games are good but... by ikekrull · · Score: 5, Interesting

    Where are the new 'Pro' features.

    To me, OpenGL lacks really good object-picking algorithms, has problems with coplanar geometry (lines on top of polygons, for example), and poor typography support.

    Personally, i would like to see OpenGL move towards being more suitable for general purpose displays, which would allow easier implementation of things like Apple's OpenGL accelerated windowing system.

    I know that programmable pixel shaders etc. are useful, but why does OpenGL not specify things like raytraced and radiosity lighting models, along with voxel primitives, and features for window and page oriented output of arbitary geometry (including support for true curves/surfaces etc.) ala Postscript

    Many of these things can be implemented at a low level by pixelshaders, but whats the point of a high-level API that simply exposes a lower-level API?

    Even though these things can't easily be accelerated by current consumer hardware, neither could gouraud-shaded polygons a few years back.

    OpenGL does not seem to be moving forward in defining new and easy ways to define computer imagery, and is chasing the tail of DirectX, seemingly to avoid losing relevance as a gaming platform.

    This, to me, is not the right approach - I don't want to see OpenGL discarded by games programmers, but I also want to see OpenGL become a more powerful API across-the-board that makes my life as graphics programmer easier, not harder.

    --
    I gots ta ding a ding dang my dang a long ling long
    1. Re:Games are good but... by Butterwaffle+Biff · · Score: 2, Informative
      Where are the new 'Pro' features.
      Image packing and unpacking are pro features. Think parallel image compositing. The problem with making additional "Pro" features part of the mandatory spec is that it pretty much guarantees game cards won't have a compliant OpenGL driver. And if you can't have a compliant driver, why have one at all? The beauty of OpenGL has always been its extendability. It's just been too long since all the extensions that pretty much everyone implements have been pushed back into the required part of the spec.
      I know that programmable pixel shaders etc. are useful, but why does OpenGL not specify things like raytraced and radiosity lighting models, along with voxel primitives, and features for window and page oriented output of arbitary geometry (including support for true curves/surfaces etc.) ala Postscript.
      So, from last to first: SGI actually had the beginnings of a PostScript output extension (called GLS) working and there was a note on their page that said something to the effect of "if people are interested, we could make it a formal GL extension." Apparently, no one was interested. It's kind of moot now anyway, since all the programmability features make a PostScript engine very difficult and near-useless for many applications.

      Voxel primitives are there: 3D textures.

      Radiosity and raytracing are difficult to put in hardware because they would require you to have a full description of the scene in memory. This flies agains a fundamental assumption of OpenGL that geometry may be streamed to the video card -- keep the state small. A scene description language that performs radiosity calculations should be a layer on top of OpenGL, not subsumed into it. OpenGL's design intent has always been "Provide a wafer-thin layer of sanity over the graphics hardware so that people can make things go really fast." It has never been "Make programming graphics easy." Making graphics programming easy is the job of other layers such as Crystal Space (games) or VTK (visualization).

    2. Re:Games are good but... by Anonymous Coward · · Score: 0

      Parent doesn't know what he's talking about. I'm a graphics expert and what he says is nonsense.

      For instance (and I'm not going to do a point-by-point rebuttal), this paper describes the method for drawing curved surfaces on NV30, and it was developped in OpenGL first. NVidia has appropriate extensions to access these capabilities. So the comment about "arbitrary geometry ala (sic) postscript" is completely off the mark.

      For what it's worth, I'm one of the NV30 developers.

    3. Re:Games are good but... by error0x100 · · Score: 1

      Parent doesn't know what he's talking about.

      I fully agree, he is talking rubbish. Yet it gets modded +5, because he throws around a few random technical-sounding words :/

  37. Re:John Carmack? by Anonymous Coward · · Score: 0

    i know i do.Re:John Carmack?

  38. Quick bitching about WineX please by vandan · · Score: 2

    As a WineX user, I must disagree.
    The rpm installed (--nodeps) on my Gentoo system without a hitch. Then you type 'winex /path/to/install.exe' and you're away.
    Warcraft III under WineX is quite impressive, as is Black And White - even though it has some 'issues' on my system.
    Of course native Linux games are preferable. But in the meantime, WineX Rocks!

  39. Are you drunk? by mfos.org · · Score: 3, Informative
    OpenGL is by far more standard on consoles than Direct3D.

    OpenGL on playstation2

    OpenGL on the Xbox

    This is a great quote from the article, turns out OpenGL is superior than Direct3D on the XBox.

    As always, we're a bit ahead of the DX cycle. Just as NV10 was beyond DX7, NV20 was beyond DX8 (there is still stuff in NV20 that is only exposed on XBOX and OpenGL).
    1. Re:Are you drunk? by Anonymous Coward · · Score: 0

      OpenGL on the PSX2 is, and always has been, a pipe dream. Several people have tried it, it just doesn't work. The website you listed hasn't done anything new since the first announcement.

    2. Re:Are you drunk? by tc · · Score: 3, Interesting
      You misread the quote, of course. He's saying that there is this feature that is exposed on both on the Xbox, and via OpenGL.

      As an Xbox games developer, I can assure you that there is no OpenGL support on Xbox. I can also assure you that I'm happily using the feature he talks about via Direct3D.

    3. Re:Are you drunk? by fault0 · · Score: 2

      Actually, after working with both of these consoles, I can tell you that OpenGL is most unusuable in both platforms.

    4. Re:Are you drunk? by Junks+Jerzey · · Score: 2

      OpenGL on playstation2

      It's a novelty and nothing more, like getting gcc to run on a Palm. There is not one single PS2 game that is written using OpenGL.

    5. Re:Are you drunk? by pixel_bc · · Score: 2, Interesting

      Being a PS2 programmer myself -- I defy you to find even more then a "B title" that actually shipped using an OpenGl layer on the PS2.

      It just doesn't map onto the architecture... and you pay the penalties.

    6. Re:Are you drunk? by mfos.org · · Score: 2

      Okay, because I can hear the moderators swarming in to Troll this one up, let me add a few things to my defense.

      A John Carmack interview here

      Excerpt:
      IGN Xbox: What do you think are the chances of Microsoft actually supporting OpenGL on the Xbox, and why?

      JC: Last I heard, Nvidia was going to be providing OpenGL for it.

      --

      Also, found this about the Gamecube, near as I can tell it supports OpenGL directly.

      http://www.elecplay.com/news.html?article=5917

    7. Re:Are you drunk? by AstralSeeker · · Score: 1

      Dataplus is a joke... there's not GL support on PS2. In fact Sony is not really giving you an API for 3D on PS2 you pretty much have to code your own drivers.

  40. Re:Too little too late? by Anonymous Coward · · Score: 0

    While it may not be an official standard like OpenGL has its ARB, it is basically a standard in the PC Gaming and now starting in the Concole Gaming industries with the XBox.

  41. Re:Too little too late? by Anonymous Coward · · Score: 0

    How gives a flying fuck about the scientific community. MS doesn't really appeal to the scientific community (as in large networks for modeling whatever). They appeal in the DirectX sense to the home market. By them supporting OpenGL instead of DX, would make them very little extra cash compared to what they have with DirectX.

    If they had always supported DirectX, *nix-ers would probably hate them more. More people might be leaving *nix and going to Windows since OpenGL is available there too.

  42. OpenPlay by Gastropod_ca · · Score: 1

    I've never used DirectX. You mention DirectPlay as if it didn't really have any good alternatives. OpenPlay is an alternative high level networking API. I think it is available for Windows, Mac, and Linux. You should be able to write games that has networking between them and OpenPlay will deal with the Big Endian/Little Endian stuff. It is open-source. I've used it on my www.idevgames.com game contest entry and I didn't find any problems.

    http://developer.apple.com/darwin/projects/openpla y/

  43. um... by Dave_bsr · · Score: 2

    # of revisions != rate of improvement.

    # of revisions != how good it really is now.

    Old DirectX was craptacular, we all agree. new directX is getting there. *shrug*.

    --


    Who is this Anonymous Coward character, how does he post so much, and why is he always such a whore?
  44. haha by Anonymous Coward · · Score: 1, Insightful

    That's what always happens to the elitist computing types.

    It's like the rabbit and the turtle fable or whatever...

    The PDP-11 people used to do it, and now the unix people do it too.

    Everyone was so busy laughing at direct X when it first was released they never bother to work on openGL. Until one day DirectX was actually more powerful than OpenGL and more widely used. Now the elitest types are trying to play catch up when they used to have a huge lead.

    The same thing happened with browsers. Everyone used to laugh at Internet Explorer 1. And with good reason. It sucked, badly. But then things heated up but people still thought they could just keep ridiculing the old IE and not noticing it improving. Then netscape basically stopped all development essentially no progress was made, much reinvention of the wheel (Mozilla) is not progress and now IE is the browser of choice. Sorry but actually shady business practices had less to do with the fact that IE 5.5 was actually good while netscape 4.762342344..... was stuck on 1996.

    Anyways don't get so cocky laughing at Microsoft that you don't stay vigilante or they will blow past you. Sorry but it is true.

    I know some hardened old unix guy will say "bah microsoft still sux0rz" well have you really used any of it lately or are you still making fun of windows 95?

    Hey the PDP-11 people did it too..."PCs are crap, no one will use those peices of shit for anything important" Haha, now it's just big racks and racks of PCs and no big "Professional" system in sight.

    The unix world had a long head start on windows on so many fronts but squandered laughing at microsoft and strutting about. Microsoft kept developing and fighting for market share while the unix world sat on it's laurels.

    Now to really sinch the negative moderation let me also mention this turn of events in computing. The BSD people do the same thing. Bashing Linux as a "toy" os just becuase BSD had been in development for several more years. Now which is the more featureful OS? Despite the empire has no clothes attitudes of the BSD population those OSes are playing catch up to Linux on several fronts and on close examination many of their claims to fame are really no so great when faced with an honest comparison of Linux.

    Oh well the moral of this story is the same as the Hare and the Tortoise or whatever it was called...

  45. Pretty pictures! by AskedRelic · · Score: 1

    "They have cool looking leap frog graphics with lots of arrows"

    We all know pretty graphics and arrows make a presentation good!

  46. No GL, no Doom 3. Simple. by yerricde · · Score: 1

    I can assure you that there is no OpenGL support on Xbox

    Halo is old, and Metroid Prime for GCN is coming out. Microsoft desperately needs a first-person shooter. If Microsoft wants Doom 3 for Xbox, Microsoft will make sure that Carmack has his OpenGL.

    --
    Will I retire or break 10K?
    1. Re:No GL, no Doom 3. Simple. by tc · · Score: 2
      Don't be so sure. What would be the point? If you built a GL wrapper for Xbox, you'd have to have so many Xbox specific extensions in order to get the performance where it needs to be, that for practical purposes he might as well have just written to the existing API. I don't think John Carmack is religious about this, I think it's just that GL suits his current needs very well and he doesn't see any value in switching. If the sane thing to do for an Xbox port was to use the existing API, I wouldn't be surprised if he did just that.

      Even if MS did provide some kind of GL-like wrapper for Xbox, just to appease John Carmack (which, honestly, I don't think is as big a deal as you're making out, given the different market in console games) they'd be unlikely to offer it to developers in general simply because they wouldn't want to chew up resources supporting the fucker.

  47. IP issues are a bit of a problem here by griffinp · · Score: 1

    The last time I heard of actual progress on the OpenGL 2.0 spec was around 4 months ago, with the release of a transcript from one of the ARB meetings. It contained mention of Microsoft requiring compensation for IP it owns that is contained in the OpenGL 2.0 spec. This is particularly icky since Microsoft owns many of "shader" patents that used to be held by SGI - the advantages of having billions in cash on hand, I suppose. I do not know if Microsoft requires payment from the card companies to release DirectX drivers - they certainly would use the same IP - but one can imagine that MS really doesn't have much reason to discourage DirectX development. And it does have a few reasons to discourage OpenGL...

  48. Consoles are still space constrained by yerricde · · Score: 1

    consoles haven't been space constrained since 1995

    Current Game Paks for the Game Boy Advance handheld game console are only 8 megabytes in size, the same size as the first N64 games.

    --
    Will I retire or break 10K?
    1. Re:Consoles are still space constrained by be-fan · · Score: 2

      The gameboy is a handheld, not a console! I'm talking about real consoles, like the PSX, PS2, XBox, Gamecube, Dreamcast, etc.

      --
      A deep unwavering belief is a sure sign you're missing something...
  49. they modded the post not the person by DrSkwid · · Score: 2

    well, in theory.

    As you rightly point out, redundant is appropriate so what's the problem?

    Moderation is, conceptually, to categorize the pages on behalf of the reader; not manipulate the ego of the poster.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  50. MS bloat by yerricde · · Score: 1

    I know some hardened old unix guy will say "bah microsoft still sux0rz" well have you really used any of it lately or are you still making fun of windows 95?

    No, I'm making fun of Windows XP, which can't be slimmed down much tighter than 128 MB of RAM, as opposed to GNU/Linux which is comfortable with well under 16 MB. Thus, Linux (especially uclinux) beats Windows on handheld and embedded devices.

    --
    Will I retire or break 10K?
    1. Re:MS bloat by Anonymous Coward · · Score: 0

      whatever dick boy. XP is not designed to run on embedded, XP Embedded is and can run in your shitty 16MB of memory. Of course, you cant really do anything on that, but your a idiot- why should you care?

  51. Why Direct3D Is more predominent by StreetMerc · · Score: 2, Interesting

    Direct3D is more popular for primarily one reason: It is more widly suppported by hardware manufactures. And the reason is because D3D drivers are easier to write and are supported by Microsoft. Direct 3D drivers are easier to write because there are fewer rendering options to support like in OpenGL (bezier curves/patches, pixel operations, display lists, ect..), Direct3D is hardware centric and forces programmers to write with maximum efficiency to the hardware. With the drawback of less convenience to the programmer. Managing RenderStates and DirectX resources are a pain, drawing geometry requires allocating vertex arrays, setting vertex formats and sending the entire matrix tranform to position it. OpenGL requires less code that makes more sense to do something simple with a lot more convenience. Trying searching the web for Direct3D demos and then do the same for OpenGL. Graphics programming Hobbiests don't care for Direct3D. Direct3D documentation is sparse, even Nvidia has more OpenGL samples than D3D ones in their graphics code samples. But making games takes money, and to maximize profit you bite the bullet and you program in direct3D to maximize your target audience and have a chance at possibly making a profit. Direct3D is not a better API than OpenGL, and there is not a single thing in direct3D that can't be done in OpenGL. It's just finding the hardware that supports it completely, and up until a few years ago only Nvidia had a descent implementation. ID software(quake3,Doom3!) and Bioware(Neverwinter Nights, MDK2) use it almost exclusivly. The issue of Direct3D being a better API than OpenGL was never an issue, it simply had a larger target audience and that is why it is so predominent. Hopefully with the emergence of only 2 key players in consumer grahics hardware the tides will shift.

  52. Here's what I hope they get right by Ironpoint · · Score: 2, Insightful


    1. Vertex/Index Buffers

    The only way to store geometry data on the video card is by using extensions. To make matters worse, you passs nvidia's extension a couple floating point numbers and it magically gives you a block of memory if it feels like it, or not. Then this is the only block you get. Its up to you to write a memory manager on top of it

    2. Documentation / Extension system

    First, there hasn't been any HTML or even plaintext specs of the newer APIS. The PDFs look like ASS because of the pdf fonts. Second the extensions are made so that they are incremental updates to the manual "insert these lines into section 4.3.10" This helps no one use the extension. Why can't they just be explained in full. Plus, the least important fields such as the "issues" should go towards the bottom of the spec.

    3. Arcane extensions with arcane (or no) docs

    i'm talking about stuff like the nvidia register combiners, fence, vertex array range. And a powerpoint outline doesn't do the job explaining these.

    1. Re:Here's what I hope they get right by Anonymous Coward · · Score: 0

      4. ???
      5. PROFIT!

  53. Hardware Independence by RAMMS+EIN · · Score: 2, Informative

    For me, the coolest feature of OpenGL 2.0 is hardware independence. This means that an OpenGL 2.0 driver will work with any OpenGL 2.0 card; no more need for drivers specific to one video card. Vendors will probably implement all kinds of extensions in their hardware that do need specific drivers, but the basic functionality would Just Work (WOW). This may not matter much for game || app developpers, but it matters for the end user, especially when this end user is using some alternative operating system. I know that myriads of cards that do accelerated 3D don't do so under Linux, simply because no driver has been written for them. This is going to change once cards support OpenGL 2.0, and I am looking forward to that, as none of the cards I have worked (with accelerated 3D) last time I checked, even though all of them support OpenGL. Yes, I know some are going to say that I should have bought different hardware, or written a driver myself. You are right. I am cheap. I am lazy. I want OpenGL 2.0, cause then it'll Just Work (WOW). Cheers!

    --
    Please correct me if I got my facts wrong.
  54. Pull a Netscape! by lowe0 · · Score: 1

    Hasn't that crap gone on in the browser war for years?

    "New Netscape 6.0!"

    "Wait a tic, where's 5.0?"

    "Uhhh... here's Netscape 7.0!"

    1. Re:Pull a Netscape! by unapersson · · Score: 1

      Well, if you really want it you can download Netscape 5 here or here. Warnings though, it's a non-gecko alpha prior to when the old layout engine was dumped.

  55. I hope OpenGL doesn't die! by krs-one · · Score: 4, Insightful
    If OpenGL dies, whatever shall I do with my site, http://openglforums.com?

    Joking aside, I hope, and know that OpenGL will never die. Several reasons:
    • Ease of use. With Direct3D, you have to set up all of that Win32 specific crap. Its a pain in the ass. You have to memorize all of those silly structure names and such (don't quiz me as I don't know any of them). With OpenGL, in VC++, you just have to include the right libraries (opengl32.lib, glu32.lib and glut32.lib) and your set to go. I'm pretty sure its similar on Linux.
    • Cross platform. Direct3D doesn't run on other platforms (yeah, there's probably a project or two on sourceforge to prove me otherwise), but in general, you don't have to install any fancy things to get OpenGL working on multiple computers. In fact, if you use the GLUT (although deprecated, it has its uses) library, then theorhetically, you should only have to recompile the application to have it run on a specific platform.
    • John Carmack. Face it, the mans incredible. He's literally changed the face of graphics, but I'm sure everyone already knew that ;).
    • The general API is nicer looking. To me, and I'm sure a lot of other people, code aesthetics is very important. OpenGL uses simple, yet intuitive function names. I want my object to be 100% red, and 50% blue, and 0% green, simple, I must use the glColor3f(1.0f, 0.5f, 0.0f); function (gl - the library, Color - main identifier, 3f - takes 3 floats as arguments). I'm not sure of the function in Direct3D, but I'm sure its not as nice looking.

    To summarize:
    I love OpenGL and everything about it. I know it will never die. Its an incredible API, and although its slow to update, I'm sure OpenGL2.0 will kick ass.

    -Vic
    1. Re:I hope OpenGL doesn't die! by djohnsto · · Score: 5, Insightful
      Ease of use. With Direct3D, you have to set up all of that Win32 specific crap. Its a pain in the ass. You have to memorize all of those silly structure names and such (don't quiz me as I don't know any of them). With OpenGL, in VC++, you just have to include the right libraries (opengl32.lib, glu32.lib and glut32.lib) and your set to go. I'm pretty sure its similar on Linux.

      Right... Either you've never used DX8/9, you've never used OpenGL without glut, or both. Both API's have their good points and bad points in ease-of-use. But as of today (and especially with DX9), I would give the nod to D3D here. There are too many things that are vendor specific in OpenGL that are required for fast operation. This turns into a big pain in the ass. Also, anyone who's written wrapper code to dynamically load DX or OpenGL libraries at run time knows that the C++ interface of DX is a godsend.

      Cross platform. Direct3D doesn't run on other platforms (yeah, there's probably a project or two on sourceforge to prove me otherwise), but in general, you don't have to install any fancy things to get OpenGL working on multiple computers. In fact, if you use the GLUT (although deprecated, it has its uses) library, then theorhetically, you should only have to recompile the application to have it run on a specific platform.

      Cross platform is right, easy to port, not-so-right. Even when using glut, extensions that exist on the PC's are usually different than apple's extionsions that do the same damn thing. Apple's policy towards OpenGL is similar to the way MS treats DX. The only time the API is updated is when Apple approves of new GL_APPLE extensions. There is no aglGetProcAddress, so vendors are not at liberty to add new extensions when they please. I'll admit that this could be viewed as a good thing, but it does make developing at the bleeding edge more than a little difficult.

      John Carmack. Face it, the mans incredible. He's literally changed the face of graphics, but I'm sure everyone already knew that ;).

      Unfortunately, only John Carmack can tell the IHV's what to do and what extensions to support in OpenGL. Yes, he's helped OpenGL, but what does Carmack have to do with you choosing to use OpenGL vs. DX?

      The general API is nicer looking. To me, and I'm sure a lot of other people, code aesthetics is very important. OpenGL uses simple, yet intuitive function names. I want my object to be 100% red, and 50% blue, and 0% green, simple, I must use the glColor3f(1.0f, 0.5f, 0.0f); function (gl - the library, Color - main identifier, 3f - takes 3 floats as arguments). I'm not sure of the function in Direct3D, but I'm sure its not as nice looking.

      Write back when you've tried using programmable shaders under OpenGL (especially fragment/pixel shaders). Personally (and I know I don't speak for everyone), I perfer the DX api to GL's. I also prefer DX's standard vertex lighting model to GL's (the spot light formulae (sp?) are different). The DX fixed function pixel pipeline is more flexible than GL's standard (GL_ARB_texture_env_combine) pixel pipeline.

      In my summary: OpenGL and DX are very equivalent in functionality. OpenGL tends to have MORE function calls into the library, but DX has more EXPENSIVE function calls into the library - so this is a wash. I do hope OpenGL 2.0 will kick ass, but I'm also hoping it's a step towards the day when DX and OpenGL have easily translatable shading languages and features for everything. It's not there yet.

      --
      Dan
  56. Carmack.. by Anonymous Coward · · Score: 0

    is the man.

    I want to bare his children!

  57. Disc consoles are access-time constrained by yerricde · · Score: 1

    The gameboy is a handheld, not a console!

    The dividing line between "consoles" and "handhelds" isn't as sharp as some would think. Did the Sega Genesis format cease to be a "console" format when the Nomad was released? Was the Game Boy still a "handheld" after peripherals such as Super Game Boy and TV de Advance were released? OK, I'll constrain my discussion to DVD consoles.

    PSX, PS2, XBox, Gamecube, Dreamcast, etc.

    Even on the disc-based consoles, if you stream in music while the game is playing, you won't be able to stream in sections of the map because the read head can only point at one part of the disc at once. That's why some games for GCN, PS2, and Xbox still use tracked music, because it makes the "loading" stall shorter. In addition, doing cut scenes with the game engine rather than with FMV gives the game even more time to stream in a large chunk of level data.

    --
    Will I retire or break 10K?
    1. Re:Disc consoles are access-time constrained by be-fan · · Score: 2

      Um, PC games, which load from the hard drive, use in game engine cut scenes as well. Modern consoles have enough memory to handle loading FMV video. Heck, the PS 1 platform was full of FMV games. However, gamers just prefer in game cutscenes because it preserved the realism and feel of the game. You're really arguing minutae here and missing the main point.

      --
      A deep unwavering belief is a sure sign you're missing something...
    2. Re:Disc consoles are access-time constrained by Per+Wigren · · Score: 2

      Did the Sega Genesis format cease to be a "console" format when the Nomad was released?

      More interestingly, Did ENIAC become a PDA when it was emulated in JavaScript on the Zaurus?

      --
      My other account has a 3-digit UID.
  58. OpenGL r0x0rs by vonsneerderhooten · · Score: 1

    All i can say about this is using my voodoo 3 2000 OC'ed to 233 and OpenGL, i was pullin 80-90 fps just standin idle in Diablo ][. I went out and got me a GF3 Ti200, thinkin it was gonna easily be over 100 fps. Wrong. First it forced me to use DX8. Was only givin me like 30 TOPS, and skippin frames like crazy whenever i moved. This was with the stock driver that came with the card, so i went and got the latest ones, thinkg that it would perform better. SYNTAX ERROR: Try using '-please' next time. My hunch is that either i need a new mobo w/ a faster AGP slot/CPU(1x/PII 450 at the moment) or somehow figure out how to make this game and card work together under OpenGL. I cant wait to try OpenGL 2.0. Just hope D2(and my card) is supported(or vice versa).

    -D

    -D

    1. Re:OpenGL r0x0rs by 13Echo · · Score: 2

      If memory serves me correctly, the game was written around Voodoo 3 cards and GLIDE. The rest of the 3D accelleration was kinda just a cheap add-in. Software 3D mode will suit nearly all other cards best in that game. I don't think that it is something that Blizzard has ever addressed.

    2. Re:OpenGL r0x0rs by SuiteSisterMary · · Score: 2

      Tribes had the same behaviour; it was designed for Voodoo cards, then had an OpenGL renderer built. Well, Voodoo cards kicked ass at memory transfer, or somesuch, which Tribes took advantage of. So the OpenGL port would stutter like a bitch on hardware that was over-all superior to the voodoo1.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  59. SDL by Phantasmo · · Score: 1

    AFAIK the PS2 and GC both have proprietary graphics libraries (and in the PS2 case, not much of a library at all).

    But what about SDL?

    --

    The US Army: promoting democracy through unquestioned obedience
  60. open source is indeed behind Windows by g4dget · · Score: 3, Insightful
    And that's good as far as I'm concerned--Microsoft is too quick force every idea they have down people's throats and to build huge monolithic systems around unproven ideas and codebases. That's the problem with large, centralized development efforts. Linux isn't entirely immune from it (the kernel, Gnome, and KDE are showing some of those problems), but it's still much better and much more decentralized.

    Let people worry a few more years about DirectX and OpenGL 2 features and see how things shake out; then, those things may be mature enough to be widely used and built on. Until then, a good OpenGL 1.x implementation is all I want.

  61. Microsoft OpenGL Licensing Issue? by DaPhoenix · · Score: 1

    What ever happened to those problems the OpenGL board was having with Microsoft and their patents on Pixel Shading? Have these issues been resolved in OpenGL 2.0?

    --
    -- -=innocent ramblings from the mind of an insomniatic programmer=-
  62. Re:Mom! by Anonymous Coward · · Score: 0

    Looks like you have found the elusive Mrs. Goatse.

  63. All Abstractions Leak by Lathi- · · Score: 1
    DirectPlay - A high level networking API. DirectPlay is independent of the underlying protocol, and encapsulates high level networking concepts like meeting places and session management.


    I don't know anything about DirectX or DirectPlay. Admittedly, I'm a server programmer; not a client programmer. However, it's interesting that this comment was made nearly the same day as Joel "MicroSerf" Spolsky bemoans that all non-trivial abstractions, to some degree, leak and it's dragging us down.
  64. Carmack's post by Tronster · · Score: 2, Informative

    Correct. John Carmack made a post on slashdot which nulled many of the statements he had about earlier versions of DirectX.

    The comment can be found here

  65. Re:Too little too late? by Anonymous Coward · · Score: 0

    No, there are some real patent issues. The original work wasn't done my microsoft of course, but rather SGI. MS bought some of SGI's patents not so long ago. These bought patents are the ones MS is using to cause trouble with OpenGL2.0.

  66. Where can I find OpenGL 1.3 and 1.4 test clients? by shinybeast · · Score: 2, Interesting

    I'm testing an X server and I need to get my hands on a wide range of OpenGL 1.3 and 1.4 test clients. From what I can tell, the OpenGL conformance tests (conform, covgl, primtest, etc...) haven't been updated since 1.2 and are only available to a select group of people.

    Can anybody point me to a stash of 1.3 and 1.4 clients? Thanks.

  67. Speaking of DirectX.... by wadetemp · · Score: 2

    Anyone know when DirectX 9 is due? About a month ago, I heard it was on target for November release, but now I see no sign of it. Any news?

    DirectX 9 will supposedly add direct interoperability with the .NET managed runtime (except for DirectShow and DirectMusic), which I am interested in experimenting with. My hope is that the interfaces will be "compatible" with the .NET environment best practices... no more 100 character constant names in all upper case and that kind of thing... and therefore hopefully easier to program and use for a DX beginner.

  68. Misconceptions about OpenGL by Anonymous Coward · · Score: 5, Informative

    I don't normally post to slashdot but having read some of the comments I just had to say something.

    First thing: there's is a common misconception that DirectX is "light years" ahead of OpenGL. That couldn't be more false. There are quite a few things that you can do in OpenGL that you wouldn't be able to in DirectX. Here's a good example: GeForce register combiners.
    On the other hand there is nothing DirectX (or more correctly Direct3D) can do that OpenGL can't. All of the functionality is present through extensions.

    Main problem with OpenGL is not functionality - it's the extensions. Different graphics cards support different extensions that provide the same functionality but to get your code to run on both cards correctly you have to support both extensions.
    The whole extensions mechanism is a mess really - it was a good idea while the number of extensions was small but these days there are way too many of them.

    Another misconception (and I just can't see where exactly is this coming from) is that DirectX is faster than OpenGL. On nVidia cards at least DirectX is most definitley not faster than OpenGL. Run any game that supports both APIs and OpenGL is almost always faster. This is not noticable on really powerful systems but on slower ones OpenGL runs slightly faster. For that matter just look at all the abstraction present in DirectX - abstraction does not come for free, there is a performance cost - it's small but it's there. OpenGL on the other hand is nice and clean.
    Not to mention that DirectX uses a lot more memory than OpenGL.

    I also noticed someone saying that DirectX drivers are easier to implement. That is most certainly not true. I find it puzzling that there are so many graphics cards with bad OpenGL drivers because OpenGL drivers are relatively simple compared to DirectX ones. I'm guessing the main reason is that DirectX is more popular and hence better supported.

    And to the guy who mentioned hardware independence, sorry to disappoint you but OpenGL 2 will not be any more or less hardware independent than OpenGL 1.x.
    OpenGL is a standard just like DirectX, not a driver. That means that graphics card companies will still have to write OpenGL 2 drivers - there won't be one driver for all OpenGL 2 cards. Before you post something incredibly stupid again use your brain for a minute and think about it.

    1. Re:Misconceptions about OpenGL by Anonymous Coward · · Score: 0

      It's a pity, though. It would be nice to have a defined hardware API (similar to the ATAPI or even better, the usb modules), so that no driver is needed.
      A driver could be written to add extensions or reconfigure the methods of operation for that particular card, but a base configuration would require no specific driver.
      I'd like to see the same happen for SCSI cards too. Stock kernel has a "generic" SCSI hardware, and all SCSI cards will accept the same signals until it's switched into "real" mode, where you get all the whiss-bang features (if they are appliccable).

      Wouldn't that be cool?

    2. Re:Misconceptions about OpenGL by Virtex · · Score: 2

      I don't normally post to slashdot

      Ah, come on, Anonymous Coward, I see posts from you all the time.

      Sorry, couldn't resist.

      --
      For every post, there is an equal and opposite re-post.
  69. Re: diablo has no openGL by Anonymous Coward · · Score: 0

    right, diablo 2 doesn't have a bit of opengl support in it at all. It was originally written for 3dfx's proprietary api GLIDE, which no longer exists because there are no more voodoo cards.

    Direct3D support was added later to appease the rest. Also because by the time Diablo 2 was done getting delayed every other quarter 3dfx was pretty much bankrupt and a 3rd rate player in the graphics industry.

    The first implementation in D2 didn't even work for most cards, and vastly superior Geforce2 cards performed abysmally.

    So the posters voodoo card really does suck, Diablo 2's code really does suck, and you're not going to find a way to run Diablo 2 in OpenGL. But you CAN use a GLIDE wrapper driver on your Geforce3. I dunno if that's worth it, though.

  70. Ok... by Anonymous Coward · · Score: 0

    "In summary, if you want a cross-platform DirectX alternative, there are options. You just have to know about them or search them out."

    Riiiiiiiiiiight. I think I'll just install Windows XP and say I did.

    I'm actually playing the video game I bought. What are you doing? Oh, still compiling some library and trying to get it to work... LOL.

  71. Lazy state updates! by Spiff28 · · Score: 3, Informative

    OpenGL is essentially a giant state machine. You issue a glTexture() command and now everything is drawn with that texture. Anything... from bound texture, to blending function, to rendering triangles vs. vertex arrays, is a state that can be changed. Whenever you render some fancy textured, lit, alpha-blended scene, with different materials (say, Quake 3), there are a LOT of potential state changes.

    State changes are SLOW, and so anyone hoping to render mildly complex scenes had better find a better alternative to resetting the state for every object in the scene. Well, there is... lazily update the states (only change the states that need changing, instead of manually setting every one). You could even go one step further and sort how you render your objects based upon state, so as to cause the least number of changes possible.

    Today, OpenGL drivers DO NOT KEEP TRACK OF THE STATE. They just merrily pass the state-changing function calls along. Thus, the programmer is forced to go through the tedium of creating some abstraction of OpenGL states, and tending to it themselves. This is frustrating boring work, there is no reason this shouldn't happen transparently!

    VTK is (or at least was, last I heard) guilty of not managing states lazily. A professor around here was working on a project to render from VTK to a large tiled display, which he did by more or less replacing the opengl driver with his own custom tile-display creation. It just happened to lazily update states. The end result was the uber-demo-model displaying smoothly on the tiled display, while chunking along at 10-15 FPS on the actual computer monitor!

    OpenGL implementations need to keep track of their rendering states, not just send the requests off to the card!

    - spiff

  72. Re:Too little too late? by AstralSeeker · · Score: 1

    Most people have dropped SGI or are in the process of dropping em (Pixar, ILM for example, altough converting those proprietary IRIX applications/script is taking some time), they don't own the high end graphic market anymore, it's overpriced and it's slow hardware compared to what you can get with Linux and PCs. Have done work on an Octane or even an O2? It' so pathetic compared to a machine now costing 1/10 of the price.

  73. Solid support for Linux would make a difference by forgoil · · Score: 3, Interesting

    For Windows OpenGL 2.0 will certainly have less impact by now. DirectX 9 is far from bad and will most certainly be used by a large number of developers. But the story for Linux surely is very different.

    I certainl will just dream about the next part, but here goes...

    I would like to see a standard OpenGL 2.0 implementation for Linux, with implementations for all new cards, that is not tied to X (whether or not it should be somehow connected to the kernel, well, is a decision for the implementors). I want it to be stable, fast, and state of the art.

    This would:

    1. Give me as a developer one API that I know will always be there, and I won't have to care about what card might be in the computer.
    2. Give game developers the same as in 1
    3. Make it feasable to port X to OpenGL 2.0 to improve the horrible performace
    4. Write a new windowing system based on OpenGL 2.0 and put KDE/QT on top of it to make the Linux desktop experience more up to par with MacOS X for example (i.e. not make a copy of MacOS X, but start using more of your hardware for a smoother ride). (If you prefer gnome, the same goes for it ;))

  74. Won't MS foobar this? by IamTheRealMike · · Score: 1

    I thought Microsoft had dropped support for OpenGL a long time ago. And also (correct me if I'm wrong) I thought that OpenGL had to be integrated with the operating system. When MS dropped support, they effectively froze progress for OpenGL on that platform. If the changes are as widespread as it seems, what's to stop Microsoft just not updating their graphics code to compensate?

    1. Re:Won't MS foobar this? by sql*kitten · · Score: 3, Informative

      And also (correct me if I'm wrong) I thought that OpenGL had to be integrated with the operating system. When MS dropped support, they effectively froze progress for OpenGL on that platform.

      You are wrong. OpenGL drivers are just that, hardware drivers. Updating OpenGL on Windows is simply a matter of replacing a DLL. Microsoft's support or lack thereof simply means that those DLLs will have to be written by 3d parties.

    2. Re:Won't MS foobar this? by Anonymous Coward · · Score: 0

      Not quite. While only 1.1 features can be accessed via the Microsoft DLL you can load everything from the newer versions by the extension mechanism, after all everything new in OpenGL since then has just been extensions that have been brought into the core API.

  75. Re:Mom! by Anonymous Coward · · Score: 0

    nope. guess again.

    HINT: it is your mom giving birth to your nigguh bruthus and sistuhs

  76. A few questions... by Anonymous Coward · · Score: 0

    Hungarian notation aside

    Why do you dislike Hungarian notation?

    It is my experience that there is nothing fundamentally wrong with using it, provided it is applied carefully. Admittedly the full Hungarian Microsoft recommendations can be somewhat stupid when it comes to more obscure data types (such as long pointers [since short pointers are obsolete in most 32-bit coding]; bytes vs bools [both possibly using a 'b' prefix..]), so I tend to use simplified mappings most of the time, eg:

    p = pointer (to any type, without the type that is being pointed do, eg: pData); i = 32-bit data (iValue), ch = 8-bit byte (chString); s = struct (sStruct); c = class (cObject).

    You get code that's like this:

    iStatus = cGizmo.Activate(iOperation, pData, &chShowText);

    Neat, huh? It's really easy to tell what sort of argument is being taken at a glance.

    1. Re:A few questions... by be-fan · · Score: 2

      I probably dislike it because I'm learned C++ first. Hungarian notation just isn't popular in C++ circles. That aside, it also probably has something to do with it's association to the phenomenally bad naming conventions of Windows code. You've got stuff like ALLCAPSSTRUCTURENAMESWITHOUTSPACES, member variable prefixes half a dozen characters long, random made up acronyms, ugh... Windows code is phenomenally difficult to read, and Hungarian notation doesn't make things any clearer.

      --
      A deep unwavering belief is a sure sign you're missing something...
  77. 3D textures are silly for volume rendering by Anonymous Coward · · Score: 0

    Slicing 3D textures is the most crappy inefficient way of rendering volumes ... it's used because it is the only thing you can efficiently accelerate on hardware, but you could do a lot better in hardware (you would need support in the API of course, that is what he is asking for).

    1. Re:3D textures are silly for volume rendering by Butterwaffle+Biff · · Score: 1

      3D textures and texture-dependent lookups are completely reasonable for rendering rectilinear grids. It's only silly if you have unstructured data. But people are doing that on the GPU now as well. There were 2 papers on it at the IEEE Visualization conference this year. Given that this is still an active research topic, perhaps a formal standardized API would be unwise at the moment.

  78. Remember the Voodoo2s by Anonymous Coward · · Score: 0

    I remember when the Quantum3d Obsidian2 X-24 was released at $700.00 US at my local electronics store. And later I remembered Creative Labs released the Banshee at about $300.00 US. Enter nVidia, and the Voodoo3 competed with the TNT2 at about $150.00 US each. The GeForce came out at $175.00 US and the Voodoo5 crawled out of 3Dfx's ass at $300.00 US. But back to the Voodoo2; the revolutionary graphics adaptor: first adaptor to offer anti-aliasing on the polygons. Hell, you can buy a standard 8mb voodoo2 for about $10...the Quantum3D Obsidian2 X-24 is still a pricey fixture at no less than $70.00 of which some stocks are still available in OEM! Go check http://pages.ebay.com/catindex/computers.html for voodoo2 and be amazed...XFree86 added some nice XFree86-4.2.x support for using the Glide3x driver on a Voodoo2 for a second simulated 2D XServer head; nice!

  79. DIRECTX IS MOST DONIMANT APE EYE by Anonymous Coward · · Score: 0

    I SED buy msft stock NOW. my Portholio is not diversfried. eat my corn more and manchode miniwheetmeel, for great justiss

  80. Maya and Lightwave etc by prockcore · · Score: 2

    As long as there are 3d modelers out there, there will be OpenGL.

    DirectX doesn't even support quads!

    DirectX's lack of quad support kills you when you're working with NURBS.

  81. NOT true. DIRECT X IS MOSTED PREDOMINANT by Anonymous Coward · · Score: 0

    DIRECTAL X IS BATTER THAN DIRECT 3D. DIRACTX HAS DIRECTDRAW and it has Direct3D and DirectPlaytoy and directshowandtell. Direct3d is not just enough good. why i say you not, you understand good. for great justiss, microsoft is bested edineer of APE EYE in mocket compooter grAphicks wold. so by msft stahk today and go somwar toomarow.

  82. you are his child of a whore...karma whore... by Anonymous Coward · · Score: 0

    i kid you not. you are his illegitimate child and he has no time for you so don't ask for college money because he spendid it all on his compooter games and he is a harry potter and star wars and lords of cox rings fan. you no not what you doing for great wold. i ake on head you why not get sirrup for I take yu to bathrom and rectal ape you in ass why yu doing not now get move assh0le. glad yu no and yu get smott and get own skul and job. yu not smot as tofu an i eat cabadge

  83. formulae = correct spelling by Anonymous Coward · · Score: 0

    for multiple types of mormulas (spelling incorrect deliberately).

    PS If you're going to compare DX9 to OGL, I think you should compare it with the OGL 2.0 standard proposed, else you should compare with DX7 or 8.

    Ta.

  84. One of the reasons OpenGL kind of stood still... by podperson · · Score: 3, Interesting

    Was that SGI went into a partnership with MS called Farenheit, which was to succeed OpenGL. (This was as good a move as SGI's attempts to sell NT boxes and its earlier bid to compete with high-end Macs.)

    Farenheit was going to be the "high-end" graphics API, while DirectX would serve for "low-end". Well, you can attribute it to malice aforethought or simply reading the times, but MS withdrew leaving Farenheit dead in the water. Meanwhile OpenGL had pretty much stayed still.

    Four years is a long time in 3D graphics. It's pretty sad that DirectX hasn't been able to open up MORE of a lead...

  85. Re:Too little too late? by TrancePhreak · · Score: 0

    There are more OpenGL tutorials because there is no definitive all in one answer to how to do things in OpenGL. With DirectX there is the massive help file that helps you do things you only dream of. With OpenGL there is Googling for hours finding source that actually works and then figuring out why it works.

    OpenGL is also just a rendering mechanism, more than likely when developing a game you are going to use some part of DirectX. Once you learn the setup routine for one part of DirectX, the rest become a walk in the park. If OpenGL could be that easy, and come with a great help package that included step by step tutorials, then it would be a lot better off.

    --

    -]Phreak Out[-
  86. Extensions' hell by execom · · Score: 1

    DX9 will released early december. You can already download the RC0 from Microsoft site at http://www.microsoft.com/downloads/release.asp?Rel easeID=45160 But when OpenGL 2.0 will be released ? Is beta version available ? Yesterday, i've seen a demo for Radeon 8500 using the new ARB_fragment_shader extension (See here http://humus2.campus.luth.se/%7ehumus/) But didn't work with the latest ATI driver ! In a word : you can't do pixel shader correctly on OpenGL. On day, you have to use NV_fragment_shader and ATI_fragment_shader which are differents, then you heard that there is now an ARB function. So you, developer, drop you NV/ATI code but in fact the extension is not available in all drivers. So you have to maintain the 3 versions of fragment shaders code. And the fragment pixel shader assembler code is not the same as DirectX, so you can't write an engine using one pixel shader assembler code and able to use OpenGL or DirectX. It's frustrating and people prefers to move to DirectX Graphics instead of OpenGL or to stay on OpenGL but doing Direct X 7 stuffs.

    --
    I need a Sino-Logic 16. Sogo-7 data-gloves, a GPL stealth module...
  87. An overlooked feature of GL2 by Temporal · · Score: 3, Interesting

    I do 3D coding in my spare time, and I can't wait for GL2, for all the same reasons everyone else, plus one: asynchronous operation.

    Working with a 3D graphics card is sort of like working with a second processor. Ideally, you would send the hardware a bunch of stuff to draw, and then you would do something else with the CPU (i.e. physics calculations) while you wait for the card to draw it. However, with GL 1.x, there isn't any really good way to do this (as far as I know). Once you queue up everything you want the card to draw for a particular frame of animation, you call your swap buffer function and your program just waits for everything to complete. The CPU just sits and does nothing. The only way to take advantage of the situation would be to use multiple threads, but then you run into thread synchronization issues, race conditions, and other crap you might not want to deal with.

    With GL2, you can actually have the graphics card signal you when it's done. This signalling is done through low-level OS events, which are OS-dependent (unfortunately), but this means that you can wait on non-graphics-related events at the same time (networking, input, etc.) and handle them all as they happen. No more polling! This is good! Also, instead of queuing up an entire frame at once and then waiting for that, you can queue up bits and pieces and say "tell me when this piece has been drawn".

    I guess this excites me more than most people because I am an extreme supporter of event-driven programming. Threads are inefficient and overrated, IMO; a program should never use more threads than its host has processors. Any operation which forces a thread to wait for something cannot be used in such programming models, which means I have a very hard time using GL 1.x effectively. 2.0 will fix that. :)

    1. Re:An overlooked feature of GL2 by Anonymous Coward · · Score: 0

      All drivers handle the async feature by themselves, time your swapbuffer you'll see it's really fast. The async callback is needed for highend software that deals with professional video output that need to be synced correctly.

    2. Re:An overlooked feature of GL2 by Temporal · · Score: 2

      If the program is running faster than the graphics card can draw, then it has to be held up somewhere, doesn't it? It happens when you call glFlush() or glFinish() (can't remember which one), which is called by the swap buffer function. If, however, your program is slower than the card, then, yeah, it's a non-issue.

  88. But what about non-gaming graphics????? by dpilot · · Score: 2

    This is a late post, but everything else I've seen is games-focused. But don't forget, games are not the beginning and end of graphics, no matter how dominant a subset they may be.

    There are things other than games that involve graphics, even 3D graphics.

    This is waaaaay more important then what games are developed, where. This amounts to the tail wagging the dog. We potentially have games making platform decisions for serious simulation, physics, and engineering CAD.

    --
    The living have better things to do than to continue hating the dead.
    1. Re:But what about non-gaming graphics????? by MikeBabcock · · Score: 2

      How often do the programmers who work on things like vehicle modeling and chemical mock-ups work with someone like 3dlabs to explain what they want support for instead of just relying on extensions since they probably always use exactly the same hardware (SGI)?

      --
      - Michael T. Babcock (Yes, I blog)
  89. hmm, glide wrapper and open gl? by Anonymous Coward · · Score: 0

    I am just working on what i was told when i was given a v3 once. I thought that the 3dfx cards didnt use opengl as such. Didnt they just have extensions to their GLIDE drivers that emulated opengl commands, allowing non GLIDE games to run on GLIDE cards (3dfx mini-gl driver???)

    I remember performance being sweet in halflife on my 300 with a v3 3000 AGP (45 fps with night vision on in opposing force :) )

    Its got to the point now that few new games support 3dfx cards. I know several people that had to rename certain game exes as quake3.exe and use a 3dfx wrapper called wicked-gl to make the games run (jedi knight II and moh allied assult methinks?)

    Seb

  90. I Beg To Differ by OneEyedApe · · Score: 1

    I've used Microsoft products beginning with DOS and now up to XP. I have more recently begun to use Linux (redhat & debian). I may not know too much about Linux yet, but it is far easier to fix something under linux than it is to fix it under XP. In an effort to cater to those less literate in computers, Microsoft has obscured and hidden configuration settings and critical files to the point where it is almost impossible for someone who knows what they are doing to get XP to operate in the fashion they expect. Furthermore, XP tends to keep multiple records of what you have done on the system, and what documents you have accessed, creating unnecessary files that fill up your system and can be difficult to track down and remove. The last decent Microsoft system was DOS, and that they bought (or stole).

    --
    Life sucks, but death doesn't put out at all....
    --Thomas J. Kopp
    1. Re:I Beg To Differ by Anonymous Coward · · Score: 0

      This is related to DirectX and OpenGL how?

    2. Re:I Beg To Differ by OneEyedApe · · Score: 1

      The comment to which I was responding was indicating that Microsoft products get better with time, often surpassing the alternatives. I was relating one notable instance that I was particularly familiar with that was not in agreement that idea. The point being that merely because Microsoft has been working on DirectX for a long time, and has released many revisions, does not mean that it has surpassed other significant alternatives, such as OpenGL.

      --
      Life sucks, but death doesn't put out at all....
      --Thomas J. Kopp
  91. 0 oh boy by bkruiser · · Score: 1

    could I please score a zzero on a post please

  92. Two approaches, one aim. by videodriverguy · · Score: 2, Informative

    Many years ago (now), I worked on D3D at Microsoft.
    The constrasting APIs are quite different in their approach, but both have the same aim - that is, to enable 3D rendering on hardware devices. A few comments...
    Extensibilty.
    The only reason why D3D is not extendable is a decision made within MS. The underlying DDI (Device Driver Interface) supports extensions (I should know, since I designed it originally), but MS decided a long time ago not to expose them to the user. From the OpenGL perspective, you have to watch for 'proprietary' extensions that are, for licensing reasons, unlikey to be generally supported.This leads to a lot of vendor specific code.
    Philosophy.
    OpenGL, except for extensions, is very hardware transparent. You don't have to worry about capabilities, at least as far as the basic code goes. The driver (or more commonly library) emulates those things it does not do natively - as a result, OpenGL is more portable to new hardware than D3D is - in theory, an OpenGL implementation could be entirely software driven, and you wouldn't know it.
    D3D, on the other hand, was designed originally to expose as much of the hardware as possible. In theory, this would allow software writers to only use those things that were really accelerated.
    But as hardware has become more complex, the OpenGL model (with it's assumption that everything is fast) becomes more compelling.
    User level code.
    OpenGL runs at user level, and that gives it a significant advantage over D3D, which is a mix of user and kernel. Due to the lack of context switches, OpenGL can almost always beat an equivalent D3D implementation, no matter what batching of primitives D3D tries to do. In thoery, there is no reason why D3D could not run in the same way, but in practice the powers that be at MS have decided otherwise. I happen to believe this is a loss for MS, but who am I to decide.
    Shaders.
    This is the area of most contention between D3D and OpenGL. The D3D model is based (almost certainly) on the nVidia model, whereas the current OpenGL model is purely based on extensions. We get into awkward territory here, since the ATI and nVidia extensions are markedly different. This is exposed most obviously in the D3D pixel shader versioning, where PS 1.4 is ATI ,and 1.3 and below are nVidia. Pixel shaders prior to 1.4 are awkward, t say the least.
    Support.
    Microsoft supports OpenGL beacaue it has to, not because it wants to. Back in the early days, there was a possibility that support would be dropped, but sensible (i.e. a few) people in MS knew that it was a requirement for those areas MS was most keen to be in - for example, Workstations.
    The Future.
    I have no doubt that both APIs will continue to be expanded, with D3D lagging slightly because of the afore mentioned differences. OpenGL 2.0 may resolve some of the conflicts, but given it's heritage (3Dlabs), it's possible that it may be further from the real major hardware (ATI and nVidia)than the extensions. As they say, it's impossible to please all the people all of the time.

  93. Playing vs Building by mstorer3772 · · Score: 1

    Nice strawman. Comparing playing a game to building one. Wow. Building is harder. Thanks for the update, I never would have figured that one out on my own.

    While Direct* almost certianly has more documentation/books/samples than any of the Open?L libraries mentioned above, the vast majority of them are open source. And just because you CAN build them yourself doesn't mean that you HAVE TO. You can get binaries at all the sites I checked.

    So you can go play your game. Great. A DEVELOPER has to get the library to work, regardless of which library it is. And there is always a learning curve to climb, no getting around it.

    So LOL right back at ya.

    Neener neener.

    --
    Fooz Meister
    1. Re:Playing vs Building by Some+Dumbass... · · Score: 2

      Nice strawman. Comparing playing a game to building one. Wow. Building is harder. Thanks for the update, I never would have figured that one out on my own.

      Not to mention, of course, that I have hundreds of games on my Linux box, so a direct playing-to-playing comparison doesn't work either...

  94. DirectShow -- QuickTime? by Anonymous Coward · · Score: 0

    I'm not familiar with DirectShow, but from what be-fan is saying it sounds like QuickTime is a comparable technology. QuickTime may even cover DirectMusic.

    Granted, QuickTime isn't open source. But it's been around for ages and supports plugins for extending media support. It has certainly been around for a lot longer than Windows' "innovative" media architecture.

    ---Joe

  95. Alternatives to DirectPlay by frankie · · Score: 2
    there is nothing comparable to DirectPlay

    In addition to OpenPlay as others have mentioned, don't forget about SDL_net, a networking component for the fabulously cross-platform LibSDL. I've often felt that Apple should contribute directly to SDL rather than work in parallel.

    1. Re:Alternatives to DirectPlay by Graff · · Score: 2
      I've often felt that Apple should contribute directly to SDL rather than work in parallel.

      Perhaps, but then again Apple has been working on OpenPlay for quite some time now. I'm fairly certain that they were working on it with Bungie and that it formed the basis for the networking used in the Myth games. Of course it wasn't open source back then.

      I'm not sure which open source effort is further along, works better, is more portable, etc. but it could go the other way too. That is to say that perhaps the SDL people should adopt and work on OpenPlay. It all depends on which one would best fit the games community at-large. That's the great thing about open source: choices.
  96. What? by error0x100 · · Score: 1

    To me, OpenGL lacks really good object-picking algorithms, has problems with coplanar geometry (lines on top of polygons, for example), and poor typography support

    What are you talking about? Lets go one by one:

    "Object picking": what are you referring to? If by "object-picking" you mean figuring out what object is (say) under the mouse cursor (in other words, a line intersection test with your 3D geometry), this is not exactly difficult, and if you are writing a 3D app should be less than 1% of your entire work, if you can't even do that, you're not going to get anywhere anyway. Direct3D doesn't have "object picking" either. Or are you talking about something else entirely?

    "coplanar geometry (lines on top of polygons)" - uhm, what problems does OpenGL have with this? There are none. Are you perhaps referring to "Z fighting" problems with polys and lines rendered to same Z? Once again, if you're doing this (and not disabling z test for your lines), you are doing something direly wrong. I hate to be the one to break it to you, but hardware like NVIDIA use the SAME internals to draw polys and lines, regardless of whether you are using GL or D3D. If you are seeing Z fighting in GL, you are going to see Z fighting in D3D too. I don't see how this is a "problem with OpenGL", this is a problem with your code.

    "Poor typography support" .. hello? D3D doesn't have "typography support" either. Unless you're trying to use GDI calls to draw text, which is not only a slow and stupid thing for a 3D programmer to do, it is (thankfully) not even possible anymore since DirectX8 - Microsoft thankfully removed the "GetDC" call from surfaces.

    why does OpenGL not specify things like raytraced and radiosity lighting models, along with voxel primitives

    Because these are not possible to do quickly on todays hardware in real-time, and if they did this, it would thus kill them. That would be dumb.

    features for window and page oriented output of arbitary geometry

    As far as I can tell, this statement is meaningless, you're spouting out your nose.

    Quit spreading FUD to poor /. readers who don't know better than to mod your post up because it sounds like you know what you're talking about clever. Feel free to call me on anything I've said, I've been working in 3D for many years now.

  97. Mac game development: A profitable proposition by GPS+Pilot · · Score: 1

    tc wrote,
    even if both of the Mac owners buy your game you'll never recover your costs

    Enough snide unsubstantiated remarks. If you'd done your homework, you'd find some facts like this quote from MacSoft's Peter Tamte:
    As many of you know, we were ecstatic about the success of Duke Nukem 3D for Macintosh. Duke was profitable for us on its first day of sales, and it caused many retailers to tell us how pleased they were by its performance. The initial success of Duke Nukem not only proved to the country's biggest retailers that the Mac games market is healthy, it also proved to them that there is a huge base of people just waiting to spend money in their stores for great new Mac products.

    Well, here's more good news. As outstanding as the sales of Duke were during its first two weeks of sales, retailers are reporting that Civilization II has sold 73% more units during its first two weeks of sales than Duke did. Wow!


    That's right: the cost of porting Duke Nukem 3D to the Mac was recovered in the first day's worth of sales. Other houses like iD and Blizzard continue to faithfully develop for Mac; not for their health, but because it's profitable.

    --
    That that is is that that that that is not is not.
  98. Re:EAT SHIT SCUM FUCKER! by vonsneerderhooten · · Score: 1


    thank you, you just convinced me to put my Voodoo back in, in favor of the GF3, solely for the performance gains i will get in diablo 2. you are right. FUCK PROGRESSION!!!!

    -D

    -D

  99. always use exactly the same hardware (SGI) by dpilot · · Score: 1

    Depends on whether you're talking established shop or new outfit.

    Depends on whether or not the established shop is financially strapped and trying to cut costs on new hardware.

    If I were in either category, versed in the business, I would at least consider whether commodity hardware/software was up to the job, yet. Many times that answer would be/has been "No," but consider the invasion of Linux into render farms over the past few years. At some point, for some number (probably a growing number) of applications the answer will be, "Yes," over the next few years.

    So examine three questions:
    1: Can the hardware do the science/engineering 3D graphics job?
    Increasingly, commodity hardware can.
    2: Can the software on the commodity hardware platform do the job?
    IMHO, same answer as above. It's very possible that Windows scores better than Linux on this one.
    3: Can we move our business to the commodity platform cheaply and with minimal disruption?
    IMHO, this is the key. It's also the strong point for Linux, since "legacy" is most likely SGI/OpenGL/Unix, as you say. It would be easier to move to Commodity/OpenGL/Linux than it would to Commodity/Direct3D/Windows, assuming capabilities are sufficient.

    That's the key, "assuming capabilities are sufficient."

    --
    The living have better things to do than to continue hating the dead.