作者:没了方向的路 | 来源:互联网 | 2023-08-23 08:59
C++http:gamedev.stackexchange.comquestions21easy-to-use-cross-platform-3d-engines-for-c-ga
C++
http://gamedev.stackexchange.com/questions/21/easy-to-use-cross-platform-3d-engines-for-c-game-development
My Opinion (only for open source 3D engines):
- Irrlicht:
- Light 3D engine
- Clean C++ without dependencies and no STL.
- Not very well documented but there are good tutorials.
- Very small so you can customize it easily.
- No OpenGL 3.X driver, Direct X 10.X or 11.X available in the official SDK.
- Very good for mobile development;
- Good community
- Few extensions available
- Ogre3D:
- Big 3D engine
- It uses modern C++ such as STL, exceptions and RTTI
- Good documentation (There are published books).
- Many renderers (OpenGL, DirectX and OpenGL ES...).
- Ogre3D have many extensions as CEGUI or Bullet integration, Tree nodes...
- But more difficult to extend Ogre3D if you want something specifics.
- Big community
- Many extensions
- Crystal space: An old design and difficult to use. After few days, I stopped using this engine.
- Horde3D
- Small engine
- Modern design
- Light community
- No extensions
- Blendelf
- Small engine with some dependencies
- Modern design with moderns effects as DOF or HDR ...
- OpenGL only
- Light community
- Bullet integration for physics
- You use lua to pilot this engine3D
TL;DR:
- For a desktop game (or future commercial game): Ogre3D
- For a first game: Irrlicht
- For mobile development: irrlicht (Ogre3D is too big)
- For sexy effects: Blendelf
Open Scene Graph is a pretty good, very well designed cross-platform 3D engine. Contrary to Ogre3D, for example, it does not provide "game engine" features, and concentrates on being a very nice abstraction on top of OpenGL.
- It is quite lightweight, and does not force a framework on you: you can use as little or as much of it as you want, and use it through SDL, SFML, wxWidgets, QT...
- It is a great learning experience: as you learn the library, you understand more and more about the underlying OpenGL and the way it has been designed
- Pretty much ready to use: it has loaders for mainstream 3D formats
- Shaders friendly
Have a look at the extensive list of samples.
Easy to use cross-platform 3D engines