DirectX vs. Open GL - Graphic & Displays
  Tom's Guide Forums » Graphic & Displays » Graphics Cards » DirectX vs. Open GL
 




Word :   Username :  
 
Bottom
Author
 Thread : DirectX vs. Open GL
 
More Information

Open GL. can be used (and is used) on:

MS Windows
PS 3
PS 2
PSP
Linux
Apple OS X
Wii


DirectX is used on:

MS Windows
Xbox
Xbox360

(the 3 microsoft products)



When game developers are making games for the consoles and PCs, why are they not just using Open GL? Surely it requires less adaption from console to PC. :??:


(Oh, and they could tell MS to get stuffed and allow Open GL on the xbox)


With game development becoming ever more costly... surely it makes sense.

Related Product

Register or log in to remove.

More Information

Well, it's like the reason why some programmers use Visual Basic instead of C in making programs for Windows. It's a bit easier. At least at first glance..... :bounce:

More Information

Uhm. Not that easy, though.
OpenGL was first slated at workstation graphics, not game graphics. Therefore it has some "weirdness"es that makes it harder to use OpenGL in general than DirectX.
One more drawback of OpenGL is, it isn't hardware agnostic. The vendors add their own extensions to the OpenGL stack and this causes confusion, when you need to support all OpenGL hardware for a given game with all features cranked up.

More Information

duzcizgi wrote :

Uhm. Not that easy, though.
Therefore it has some "weirdness"es that makes it harder to use OpenGL in general than DirectX.




But they already use it for the console game, so why not use it for the PC version?

More Information

If you have a screwdriver at hand, you don't use a hammer to put those screws on the wall. ;)

More Information

Much more effort were put into directx than opengl over the years, resulting in directx being far ahead technologically. It would be impossible to render the higher end PC games like Crysis with the same visual results using opengl, as it is now.


---------------
Q6600@3.6ghz, GA-EX38-DS4 motherboard, 8gb 800mhz ddr2 4-3-3-12, 8800GTS(g92)@780mhz, 1TB + 1.5TB hdds, 850watt psu
cjl
Rocket Scientist
More Information

Not true. Look at Nvidia's Human Head demo. That is done with OpenGL.

More Information

duzcizgi wrote :

If you have a screwdriver at hand, you don't use a hammer to put those screws on the wall. ;)




If you have a screw in the wall, you don't take it out and put a nail in instead do you?




They have the OpenGL coding done - why not use it?

More Information

Amiga500 wrote :

If you have a screw in the wall, you don't take it out and put a nail in instead do you?

  


They have the OpenGL coding done - why not use it?


Compared to directx, opengl's implementation is more difficult, thus resulting in drivers that generally perform less well. They choose to make it easier for themselves to develop the API, but end up offloading the work to develpers of applications that use Opengl.

 

It limits the way in which developers can allocate resources, thus decrease performance in real world applications.

 

PCs are more complex, requiring more flexibility to attend to various configurations of different machines.


---------------
Q6600@3.6ghz, GA-EX38-DS4 motherboard, 8gb 800mhz ddr2 4-3-3-12, 8800GTS(g92)@780mhz, 1TB + 1.5TB hdds, 850watt psu
More Information

@Amiga500

Well as I told before, OpenGL *is* designed for workstations by Silicon Graphics. It's not designed for games. It *was* used for games *before* DirectX was published.
DirectX is designed games in mind. OpenGL is designed graphics workstations in mind. If you have millions of polygon meshes, that you need to preview before production rendering, use OpenGL. If you need to get consistently 30+ fps from a game, with low polygon count, use DirectX.
Is it clear?
You can use a Ferrari as a cab, but is it logical?

More Information


Amiga 500,

Just one little thing. "(Oh, and they could tell MS to get stuffed and allow Open GL on the xbox)"
Is it just me or would it be a bit difficult for Microsoft to tell itself to go get stuffed and then let a rival API to code its hardware ?

I can see where you are coming from but as has been said its not that easy. Its like when you are putting something together furniture/kids bikes/cars etc. For some reason you get so far then the guide/manual says something like. "Using special tool x/y/z attach this part to that part. (sound familiar). No ? Oh well. Basically DX will let you use whichever tool is available or most suited to the task needed at the time. Open GL says use Alfa fog here and sharpen mode there, if your hardware doesnt support it you get stuffed for performance.
Thats my understanding of it anyway, I could be wrong. As always if I am please correct me.

Mactronix

More Information

@mactronix
You're correct, mactronix.
Besides, OpenGL is *NOT* hardware agnostic. It's functions are tied to the hardware. OpenGL functions for ATi doesn't work for nVidia.
Common functionality is the same for all, but shader functions are hardware dependent.

More Information

Just so I understand this...


ATI's cards in PCs do not support the same functionality as ATI's Xenos (R600) in the Xbox 360...

Or conversely Nvidia in PCs compared to the RSX (based on G70) in the PS3?




So basically, 2 of the key members of the PC gaming alliance are **** themselves over by not making it easier for developers to port from console to PC?

Way to go, way to go.

More Information

They are making what their customers wish: The console producers. If you were a console producer, would you like the latest super hot game available on the rival consoles and pcs etc? Or would you make it harder to port from one platform to other?
This is the reason there are game engines which do the abstraction of hardware and API from the game itself. :) It has nothing to do with ATi or nVidia. They both supply all the libraries required for their hardware. The problem is, whether the programmers use this or that library. (I prefer a make as little modifications as possible to cover as many hardware as possible approach)

More Information

duzcizgi wrote :

They are making what their customers wish: The console producers. If you were a console producer, would you like the latest super hot game available on the rival consoles and pcs etc? Or would you make it harder to port from one platform to other?




If it meant my platform missing out - I'd want them easy to port.


Besides:

Reduced cost for development = reduced game costs = more money for consumer to spend on games = more license revenues to console builder.

More Information