Jump to content
  • Advertisement
Sign in to follow this  
caldiar

Choices, Choices, Choices.... Which to Choose?

This topic is 4815 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Well, yes this is another OpenGL or DirectX thread. BUT WAIT! Before you close this thread I really want an honest reply! Why work with DirectX? I mean, personally I find OpenGL to be much easier to learn/use and it lets me get to the game programming part itself rather than spending tons of time to get the same thing done in DirectX that I could get done in half the time in OpenGL. Sure, DirectX is used by a vast amount of game developers but why? Why do people go with the restrictions that DirectX has such as Windows based OS only? Why not OpenGL which is cross-platform? Since I know OpenGL fairly well should I just stick with it and learn it all the way through while abandoning DirectX or should I take more time out of working on the actual game to learn DirectX? Which would you choose and why? Thank you for not closing the browser :D ~Brandon~

Share this post


Link to post
Share on other sites
Advertisement
A number of reasons:

1) some people don't realise you can use OpenGL with DirectInput, DirectSound, etc
2) some people like the COM interface
3) Direct3D has a large utility library which is very helpful when learning
4) Microsoft is evil as has corrupted the minds of all developers
5) DirectX supports certain features on a lower-grade graphics card (specifically pixel shaders) - OpenGL's pixel shaders (or fragment programs) require a geforce5 or equivilant, while DX's pixel shaders can run on older hardware.
6) DirectX's HLSL is widely supported, whereas GLSL has only recently begun to come into effect
7) It is much easier to port PC games to the XBOX if you use directx. On the otherhand, as the PS3 is using OpenGL ES, we may see more PC/PS3 games using OpenGL.
8) I think that covers it.

Share this post


Link to post
Share on other sites
It's good that your question was asked with honesty and no malicious intent, however people 'calmly' discussing merits between OGL and D3D can easily turn into a flamewar irregardless of how placid the original poster is.

Be weary, is all I say!

(PS. It sounds like you've already made your decision which you prefer ;) )

Share this post


Link to post
Share on other sites
well thank you for the great reply! =)
PS3 is going OpenGL huh? Well I know what Im buying now XD
DirectX may have a vast library of useful references, articles, and such but I just find it so freakin' hard to use. Everything looks too much like each other when writing with it.
OpenGL seems.... better defined?

The ability for directx to have more features on low-grade graphics cards would be highly appealing for game developers as it would allow for more people to play (and buy) their game. Makes sense.

I think Im going to stick with OpenGL

Thanks again =)

[EDIT] hehe, yep Hope, Ive seen similar threads concerning other things like Mac or PC go up in the very flames of hell itself over a simple question. Those are fun to read if you have nothing else to do that day though lol =)
And yes, OpenGL is my preference at the moment. [/EDIT]

Share this post


Link to post
Share on other sites
#1 reason to use OpenGL is for cross platform dev - some of us don't use windows on our primary dev machine. Otherwise it doesn't really matter - if you design it right, your engine can use either for rendering. Wild Magic comes to mind as an engine that can use either OpenGL or DirectX.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Will F
#1 reason to use OpenGL is for cross platform dev


Yes, but to make it tick you need to stick it to something, like Nehe's Win32 basecode. So, depending on how you choose to set up OpenGL and what functionality you want to offer, cross-platform compatibility can really go out the window.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Yes, but to make it tick you need to stick it to something, like Nehe's Win32 basecode. So, depending on how you choose to set up OpenGL and what functionality you want to offer, cross-platform compatibility can really go out the window.


True, but if you use something like SDL with OpenGL, cross-platform compatibility becomes relatively easy.

Share this post


Link to post
Share on other sites
I'm a big fan of both, but I went with DirectX over OpenGL for my most recent project, for the following reasons.

I prefer DirectX's object oriented style to OpenGL's procedural approach.

The OpenGL extension mechanism is a pain.

The D3DX library is excellent, with built in support for loading many different texture formats.

Share this post


Link to post
Share on other sites
Quote:
Original post by Oxyacetylene
I prefer DirectX's object oriented style to OpenGL's procedural approach.


Really? I find that DX (or at least D3D) doesn't make much use of OOP in its API. When I'm coding something using D3D (a rare occurance) I find it feeling like a fairly procedural method despite its use of objects.

Quote:
Original post by Oxyacetylene
The OpenGL extension mechanism is a pain.


It can be, but I find it quite GLeeful. ;)

Quote:
Original post by Oxyacetylene
The D3DX library is excellent, with built in support for loading many different texture formats.


D3DX is a major timesaver, I admit that without counter-argument. :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!