Game Development Community

DirectX vs OpenGL

by Okashira · in General Discussion · 08/09/2006 (6:33 pm) · 16 replies

Ignoring OpenGL's cross platform capabillities and any anti-Microsoft bias, what would YOU say is better : DirectX or OpenGL and why?

Thanks,
Okashira

#1
08/09/2006 (6:34 pm)
OpenGL, I like the compatability and how extensible and customisable it is.
#2
08/09/2006 (6:50 pm)
D3D. It gets most of the latest tech first and has better support for third party tools like editors for creating shaders.

Also 3D apps like 3dsmax run better in D3D with full support for PS 3.0 in viewports for accurate WYSIWYG whilst GL only offers regular shaded viewports with vertex lighting, vertex shinyness and alpha.

GL is easier to learn, but I'm assuming that were talking about using something rather than creating with it.
#3
08/09/2006 (7:16 pm)
I'd say that it depends. I find GL to be much more difficult to use than directX. But GL seems to run faster (at least on old TNT2s, FX5200s, 6600s, 6600GTs, 7600GTs, and 7900GTXs). I also like GLSL more than HLSL.
#4
08/09/2006 (8:10 pm)
From what I have been told of Torques renderer
Quote:The Direct3D support consists of a very thin layer over OpenGL and WGL. In other words, there is no D3D in Torque, no matter what anyone tells you. It's an OpenGL engine only (and the way the code looks, there is no hope of ever abstracting OpenGL from the rendering code). This is not a bad thing, of course, but if you don't look closely you might make the mistake of thinking TGE has D3D support.
#5
08/09/2006 (8:51 pm)
... and then there's the TSE, which is still DirectX only (at this time).
#6
08/10/2006 (6:03 am)
I find that programming for OpenGL is much more intuitive then for Direct3D. This alone is a huge up for OpenGL. I also like how extensible it is.
#7
08/10/2006 (6:41 am)
OpenGL.

Sorry to disobey your instructions, cross platform.

Still eager to see what DX10 has to offer.
#8
08/10/2006 (9:48 am)
I think that they are going to have a hard time selling DirectX 10 as long as they continue to insist on it being Vista only. It will be interesting to see what happens in the near future, between that and the new management of OpenGL.
#9
08/10/2006 (12:30 pm)
It's interesting that some people see some aspects as pros, where some see those same aspects as cons.

The intuitive nature of OpenGL is one of the things that annoys me the most. In DirectX there is one way to render (well two, really, if you count Draw*PrimitiveUP) and it's the right way. You make a vertex buffer. You fill it with data, and you send it to the card. In OpenGL there are many ways, and most of them suck. Until recently, there was no vendor-independant way to create a vertex buffer. You had to use an NV extention or something.

Which brings me to extensibility...it is a good thing that GL has the extention functionality, because otherwise it would never get anywhere at all. OpenGL "2.0" is a joke. Keeping the same, function-based interface was a crime against graphics programming. There is no reasonable excuse for the length of time it took OpenGL to support features which have existed in DirectX since 8.1. Buffer support? That's finally in. Can I set a different render target yet?

I dislike, and this is personal preference, the way that state information is tracked in OpenGL. I do not think that sampler states should be tied to specific textures. Why does OpenGL assume that every time I want to use a given texture, I want the same states set?

I don't like the way that states are set either. Why does GL assume that if I want to change the source alpha blend, that I also want to change the destination alpha blend? In order to change the source alpha blend without changing the destination alpha blend, I need to query the dest blend, and then set the new source blend, and pass in the result of the dest blend query. That is stupid.

Simply put, I use OpenGL because it is the only option on Mac. I think it is a complete pile of crap. It was designed, many years ago, to operate on a server, and send information to a terminal, and I think that is where it should have stayed, and died along with that paradigm.
#10
08/10/2006 (12:49 pm)
I don't think OpenGL is as bad as you suggest Pat. Many games utilize OpenGL and perform beautifully, Doom 3 amongst others.

I'm sure OpenGL will be around for a long time, maybe you could just learn to get along ;)

I'm no expert on the matter but I know enough to say I disagree with "I think [OpenGL] is a complete pile of crap."
#11
08/10/2006 (12:53 pm)
Heh some good cons there Pat.

Direct3d however is an afterthought.
designed on the very base you are stating was a crappy design.

OpenGL is a performance minded application programming interface.
Direct3d has tried to mimic the api from the beginning. but all the layers have extracted alot of the performance.
the implementation of buffering is sloppy and slow. so your argument is not that heavy.
and if that is all you have for them..

there are many other features in OpenGL that are yet to be implemented in d3d.

granted the biggest difference is that DX has Oodles of cash behind it.
and OpenGL is done via a consortium of people. for free.
we cannot really complain about the development style.

you are lucky to be able to put pretty pictures on the mac at all :)

but the beginning of the topic has stripped my right to the most valuable point differences.
(cross platform && anti-ms)

indeed D3D will have more bang faster than GL period.
does not make me migrate as the work I do is all fixed function on low end hardware.

my Choice?
OpenGL

because its free. and should always be free.
and none of my operating systems support the next version of d3d.
like hell im buying some piece of junk cause its the only place to play a few games.
looks like I will be going without some games in the near future.

and Like Romero said:
if we were in opposite world, they would never build a multiplayer game without co-op.
#12
08/10/2006 (1:20 pm)
www.cprogramming.com/tutorial/openglvs.html

although I wouldnt consider it a totally unbiased source, the feature comparison seems objective indicating a clear winner.
#13
08/10/2006 (2:10 pm)
Wonder which versions they are comparing.
#14
08/10/2006 (2:22 pm)
It doesn't really matter. This is a religious discussion, so facts are mostly irrelevant.
#15
08/10/2006 (2:24 pm)
Quote:It doesn't really matter. This is a religious discussion, so facts are mostly irrelevant.
lol..
I dont know as if they are irrelevant but..
this is definately an opinion poll.
#16
08/10/2006 (10:44 pm)
Ok... I'll chime in...

D3D gets rewritten every year... which is good and bad.

OpenGL code written a few years ago will work with current OpenGL.

Without a doubt, I choose OpenGL for Mac, Linux, some consoles... if D3D was an open standard I would think different, but an abstracted renderer is the only real option... like a certain game engine I know of.

Can't wait for OpenGL TSE

:)
Sumner