Jump to content
  • Advertisement
Sign in to follow this  
Plasmarobo

Which API to learn first?

This topic is 4469 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

Okay, What should I learn first (basically which is better)? Open GL or DirectX? I know some very basic Direct X and I was wondering which has more power, easier to work with, etc. Eventually I want to know both. But lets say I want to write a good game within the year. Which is going to give me a better endproduct?

Share this post


Link to post
Share on other sites
Advertisement
why not both?
you can make a game in both APIs bit by bit if you really want to learn DX and OGL. other than that flip a coin and go with the decision. it seems they both are on equal footing*.

*granted that by the gathered opinions of the more professional programmers here.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
DirectX without question.

Share this post


Link to post
Share on other sites
They drive the same underlying hardware. The one that will allow you to write a better game is the one you are most familiar and comfortable with. Since you already know some of DX, you may as well use that.

Neither API is, from a technical standpoint of what you can and cannot do with it, generically better than the other. You can write a pretty game in both, or you can write an ugly game in both. That part is up to you, not the API.

EDIT: My comparison is specifically between OpenGL and Direct3D here, not OpenGL and the entirety of DirectX. DirectX includes components for audio and input processing, et cetera, that OpenGL doesn't offer; you'd have to use other external libraries for that if you elect to use OpenGL for your rendering.

Share this post


Link to post
Share on other sites
So basically they are completely the same? I mean, Direct X is annoying to start up, and I want to create a "Library" or whatever that simplifies it, but I don't have the skill.... Should I just plunge into the heavy code, or will "simpling" it be a better course of action?

Share this post


Link to post
Share on other sites
This is about the most flamebait question you can ask on a game development forum, but here's a simple answer; if you're comfortable with C, go with OpenGL. If you're comfortable with C++, go with Direct X. If you want your app to be cross platform, go with Open GL. If you only are concerned with Windows, go with DirectX.

Both APIs are very powerful, both are reasonably easy to use if you have the basic mathematics down, and both can generate equally good end products (a lot of professional game companies will build their engines in such a way that the underlying API doesn't matter, and can be selected by the user). It's a preference and target audience call.

Share this post


Link to post
Share on other sites
Quote:
Original post by Plasmarobo
Should I just plunge into the heavy code, or will "simpling" it be a better course of action?


Software reuse is always good, so I would suggest you simplify it by writing helper classes. You can write an "App" class that initializes stuff, and use it in every project without having to create a window in every single program you write.

I have also found that this is a good way to learn graphics techniques. For example, when you learn texturing, you can add a Texture class to your library.

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.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!