3d Game Programming
What APIs / libraries used for developing 3D applications?
The 3D development is complex and requires the right tools to be successful.
If you want to make the 3D pure redevelop your own algorithms, to touch down and be close to the hardware, then it will direct you to a 3D API or DirectX or OpenGL (see OpenGL or DirectX? And Where to Find More specific to my API (DirectX, OpenGL, …)?. These APIs are quite difficult to grasp for a beginner, and support only the display. In addition, you will need to redevelop all the algorithms commonly used for manage or optimize rendering.
If instead your goal is to create 3D applications as quickly as possible, you concentrate on other aspects of your game, or simply if you prefer to use proven tools, efficient and you are chewing a lot of work, then there are Many engines and free open-source. There are two types of engines with the development 3D: the 3D engine (running the display of the 3D world), and the physics engine (manage the interactions between objects, collisions, …). Here are the most famous:
3D Engines
* In OGRE (Object-oriented Graphics Rendering Engine): multi-API, multi-platform, open-source, C + + engine is probably the best free 3D engines at present. It is used in many projects, and constantly evolving.
* In Irrlicht: multi-API, multi-platform, multi-language and also open-source, Irrlicht is also widely used and very easy to use.
For a more complete list of other 3D engines available, see Where can I find a list of existing 3D engines?.
Physics engine
* In ODE (Open Dynamic Engine) physics engine C / C + + open-source, to simulate collisions, vehicles, creatures, and more generally any type of object in a virtual environment. With the image of the OGRE 3D engine, ODE is certainly the best physics engine of free time.
Where can I find a list of existing 3D engines?
There are hundreds of 3D engines available on the net for all kinds of languages, with all sorts of features and any kind of license.
To find, one of the best sites is DevMaster - 3D engines database: it lists hundreds of engines, has a search function, can be searched by category, see the top 10, …
DirectX or OpenGL?
Despite all their dissimilarities, DirectX and OpenGL have areas of application that overlap sufficiently so that we can hesitate between the two in choosing a development platform.
In practice, when one program in Windows, the choices are often subjective, each platform has its advantages and disadvantages.
Some arguments are still to remember:
* OpenGL is multiplatform, DirectX does it only under Windows environment.
* It is against impossible to program in OpenGL XBoX. But the conversion of calls to OpenGL graphics Direct3D is probably the easiest part of the conversion of a PC game console.
* DirectX offers many multimedia library then is limited to the OpenGL graphics rendering.
* DirectX components offers via its COM object-oriented interface, while remaining pure OpenGL C.
* Historically and until recently the OpenGL support is left to the discretion of manufacturers of graphics cards, which causes a great disparity in the support of new features and overall stability of the platform OpenGL under Windows. Using OpenGL is rather to advise developers who can ensure that their users will have a decent OpenGL implementation on a machine.
for more related articles and info about 3d game programming go to our game making forum.
Grab crucial points of view in the topic of one way links - this is your own guide.

