PDA

View Full Version : Looking for 3D graphics engine



Cruz
4th April 2012, 11:38
Hello!

This question may be a bit off topic, but I'm hoping that there are people with the right skills reading this forum who can give me advice.

I'm looking for some kind of a 3D graphics engine for the visualization of scientific physical simulation experiments. Unfortunately I don't even know what a 3D graphics engine precisely is. I'm currently using libQGLViewer, which is an awesome little tool that helps me calculate kinematics and provides a basic OpenGL setup, but I still have to write the OpenGL code myself. And since the requirements are accumulating, such as shadows, transparency and fast rendering, I would like to break free from having to study and implement all these concepts myself and use a more sophisticated graphics engine. I have seen things like Ogre 3D, Irrlicht, Horde 3D and OpenSG out there, but I'm not sure what they really offer and how to choose the right one for my needs. Can anyone please give me enlightening advice and point me to useful articles I can read about this topic?

Thanks
Cruz

Spitfire
6th April 2012, 12:13
I would start here (http://freegamedev.net/wiki/index.php/Free,_cross-platform,_real-time_3D_engines), then narow it down to license/language etc you're interested and research more on each engine's website.

Few years back I was using Ogre 3D ( for games not physical simulations ) and I found it not that hard to learn.

If you have some money to spend on the license then It may be worth looking at Unity 3D (http://unity3d.com/) or something similar.

d_stranz
7th April 2012, 16:56
You should also look into Kitware's Visualization Toolkit (http://www.vtk.org/VTK/project/about.html) (VTK). Written for the US Sandia National Laboratory, and although the Creative Commons (http://creativecommons.org/licenses/by-nd/3.0/) license does not permit derivatives of the work, it can be freely used in any type of project. It is complex and comprehensive enough that you probably wouldn't want to modify it anyway.

There are bindings and interfaces to Qt, Python, and a number of other languages. The learning curve is sort of steep, though. The API is at least as extensive as Qt in the number of objects and methods. Like Qt, it has a parent-child ownership hierarchy among objects, but unlike Qt, it uses a reference-counted "object factory" model to create and destroy instances.