TIGSource Forums

Developer => Technical => Topic started by: Netsu on January 12, 2011, 01:55:50 PM



Title: 3D graphics engine, which one to chose?
Post by: Netsu on January 12, 2011, 01:55:50 PM
I want to build a game engine/framework, with networking, sound, physics and graphics. For 2D graphics I just used openGL through SDL, but for 3D I'd like to have something more high level.

I hear a lot about Ogre3D, so I'm currently looking into it, but maybe you recommend something else?
I want to be able to easily implement dynamic lighting, shadows, maybe bump-mapping. And of course loading common 3d-model filetypes.

I have absolutely no experience in 3D graphics but know a bit of openGL.


Title: Re: 3D graphics engine, which one to chose?
Post by: Aquin on January 12, 2011, 02:01:04 PM
If you really want to do it yourself, I'd recommend SFML and OpenGL.  However, making a 3D engine from scratch is... a daunting task.  You could always give Unity a try, it's pretty decent and uses C#/Javascript to do it's thang.

Personally, I'm recently smitten by UDK and I don't see myself going back to anything else in the near future.

If you want to build a 3D engine, but using C++ frameworks, I've heard good things about Box2D, though I don't have much experience with it.


Title: Re: 3D graphics engine, which one to chose?
Post by: Netsu on January 12, 2011, 02:16:34 PM
Ok, I guess I should've been more specific.

I want a 3D RENDERING engine, that I could incorporate into my game engine/framework.
I don't want to write it from scratch, I've done it for 2D rendering by using SDL (and previously GLFW) but for 3D rendering I'd like a ready to use engine.

I'm writing in C++ and am developing for both Windows and Linux, compiling with gcc and mingw.
So Unity is not an option.

I'm looking into UDK now, does it support Linux?
[edit] Apparently it doesn't. And the licensing also scares me off a little.


Title: Re: 3D graphics engine, which one to chose?
Post by: Richard Kain on January 12, 2011, 02:32:16 PM
I would say that Ogre3D is probably your best bet. It is open-source and feature-rich. It shouldn't be difficult for you to implement all of the rendering features you described.

The model format is a bit more of an issue. Ogre3D doesn't focus on supporting a lot of different model formats. However, it does provide exporters for most major 3D modeling packages. And it also features the tools necessary to compile created models into a binary format. (which makes them load faster and take up less file space) The Ogre3D - specific model format also has plenty of features, such as combining key-framed and skeletal animation. I've created and exported meshes for Ogre3D before using Blender and didn't have any problems getting them to work in-engine.


Title: Re: 3D graphics engine, which one to chose?
Post by: Netsu on January 13, 2011, 05:54:58 AM
I've read a tutorial about how to setup and run Ogre3D inside SDL. I'm sold. My current engine is written in SDL for openGL context, input, timer and fonts. I also intended to use SDL for networking and sound. This way I can keep my current engine and just run Ogre3D inside to handle openGL rendering. Awesome :)