Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenGL or Direct3D for a new Windows game project? Or something else?

I'm starting a hobby game project on Windows that will make heavy use of 3D graphics effects. It will most likely be written in C++.

Should I use OpenGL or Direct3D for my graphics backend? Why?

Or should I use a ready-made graphics engine such as OGRE 3D? Which one?

Some "how to get started" links would be useful. (On either technology, or both.)

Edit - Yes I really meant Direct3D, not DirectX, thanks to graham.reeds for clarification

Edit - Mihai Lazar pointed out that I could also use a graphics engine such OGRE 3D. Edited the question to reflect this alternative.

like image 725
Antti Kissaniemi Avatar asked Sep 02 '08 09:09

Antti Kissaniemi


3 Answers

Start with OpenGL because there are good textbooks and other online references on it. Once you get the hang of writing 3D game, you would be able to make the judgment for yourself.

Finishing a game, even if it's really stupid and simple just to get you going, is more important than picking the right library. With glut, you can get some 3D object to show up on your screen in a day. Start with NeHe's tutorials.

like image 68
Eugene Yokota Avatar answered Nov 15 '22 20:11

Eugene Yokota


If you're willing to consider C#, take a good look at XNA. For hobby projects, assuming what you want is to actually get a game up and running instead of tinkering with complex API code, I cannot recommend it highly enough. It is increasingly mature, well-documented, and, compared to D3D/OpenGL, very quick and easy to use. As a bonus, with a $100/year Creators Club membership, you can even use it to develop games for the Xbox 360.

like image 43
lancekt Avatar answered Nov 15 '22 20:11

lancekt


You could also base your work on ogre they provide the abstraction themselves and they have really nice tools. Since this is a projects that's been around for over 6 years I think. The base library is not really for beginners since you need to know a bit about software design, but I found a lot of people that have written games using it.

It would be safer and quicker than learning the heavier stuff since it's already been abstracted. Plus after a couple of month you'll be talking 3D jargon anyways. There is also a book to get you started with Ogre, I think it's kinda old by now but a starting point anyways.

like image 31
Mihai Lazar Avatar answered Nov 15 '22 22:11

Mihai Lazar