• Advertisement
Sign in to follow this  

Opengl, DirectX, or an engine?

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

Hopefully this is the right place to post this... I have been programming in C++ for a while now and I would like to move on to using graphics, sound, input, and all of those useful game programming things. I was wondering which i should choose to learn and use... DirectX, Opengl, or a pre-made engine like ogre (for graphics and then something different for sound and input) or irrlitch or a different engine. I know that some are easier than others but I want to learn how to use the one that is the most effective and will make the best programs. Any ideas? Thanks.

Share this post


Link to post
Share on other sites
Advertisement
If your goal is to make a game, use an engine and make it easier on yourself. If you just wanna learn the ins and outs of 3D graphics, then check out OpenGL/DX, or better yet, SDL, which has libraries for input, sound, networking, and you can use OpenGL for 3D graphics.

Share this post


Link to post
Share on other sites
Myself, I chose the DIY way and looking back, I surely wouldn't do that again.

3D graphics programming is so huge field that it's just not possible to do it well and still be capable of programming other parts of the game. If you want to be a 3D programmer, dive right into D3D or OpenGL, but better get yourself someone else to do rest of the programming. Otherwise just download some engine. There are pretty good ones out there, for example I switched to Ogre+CEGUI some time ago and I am most impressed.

Moreover, using an engine doesn't just save you lots of time, it also provides you with stability. The good engines are tested well and are widely HW-compatible, which is something not easily achievable by an independent developer.

Share this post


Link to post
Share on other sites
The happy days of all in one game programmers are over
A game engine is nowadays a very complex software
You must choose, either you design a game engine or you design a game

Share this post


Link to post
Share on other sites
Quote:
Original post by AlbertoT
The happy days of all in one game programmers are over
A game engine is nowadays a very complex software
You must choose, either you design a game engine or you design a game


emphasize

As for what engine to choose both Irrlicht and Ogre are good. Ogre seems to have a slight edge in features while Irrlicht seems a bit cleaner. Some might also mention Ogre is a rendering engine only.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by programmerml
Hopefully this is the right place to post this...
I have been programming in C++ for a while now and I would like to move on to using graphics, sound, input, and all of those useful game programming things. I was wondering which i should choose to learn and use... DirectX, Opengl, or a pre-made engine like ogre (for graphics and then something different for sound and input) or irrlitch or a different engine. I know that some are easier than others but I want to learn how to use the one that is the most effective and will make the best programs. Any ideas? Thanks.


'Most' effective and will make the 'best' programs are completely subjective. You've suggested a couple, and they're all certainly capable of being used in game development. All of them have strengths, all of them have weaknesses. It really depends on what you are looking to do.

Also, understand that OpenGL is only a graphics API; it won't help you with sound, input, or anything else (although, there are several ways to integrate those things into an engine with OpenGL). SDL and OpenAL are both good options for combining with OpenGL. I found OpenGL easier to learn than Direct3D (the graphics part of DirectX), but that's just me.

Personally, I think that if you are truly looking to learn game development, you should learn one, or both, of the two main graphics APIs: Direct3D and OpenGL. Knowing more or less what's going on under the hood of an engine will help you a great deal in the use of an engine. Plus, dedicating yourself to one particular engine kind of locks you into using it. While not entirely interchangeable, the core concepts of Direct3D and OpenGL are virtually identical, and switching between the two is relatively easy.

Once you have a good understanding of graphics and other aspects of game development, then look into which engine you want to use. If you don't know much about game development, how will you make an educated decision about which engine to use? Even when you use an engine, making a game is a lot of work. An engine isn't a magic wand that makes games for you, and if you don't know what you're doing, you're in for some serious frustration.

Share this post


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

  • Advertisement