Ogre3D or Panda3d

Hey, I was wondering what I should use for my project. I’ve been looking at panda3d and ogre3d (I am already experienced with c++), but please mention any other engines that come to mind.

I’m going to be building a simulator that will require a good deal of physics. I don’t mind programming some physics in myself, but doing a complete overhaul just to make things realistic would not be desirable. I would need moderate graphics and shader support (as in not crappy, but not performance sappy.) The other thing I would like is to import models from blender (or a similar program). Support on at least Windows, Mac and Linux is necessary. I REALLY need good performance above all. Could anyone give me some advice on where to go?

Personally, I think Panda3D is simpler but Ogre3D is more powerful. That’s just my opinion so far, and I’m not sure which is really more efficient.

To recap:

  1. Good platform for realistic physics
  2. Moderate graphics
  3. Easy resource importing
  4. Cross-platform support

Just tell me your opinion on where I should go.

Thanks in advance.

Hey, welcome to the forums! :slight_smile:

You have to keep in mind that Ogre3D is mostly a graphics engine, whereas Panda3D is a game engine, so Panda3D gives you a more complete package.
To comment on your specific points:

  1. We have good support for some very popular physics engines, such as PhysX and Bullet. Both are well-respected within the industry.
  2. The graphics you can get with Panda is only limited by your artist’s capabilities and possibly your shader programming knowledge.
  3. You can load resources of a wide range of formats using a single function call, which can handle many things for you, including memory caching, disk caching, and asynchronous loading.
  4. Panda3D is written in a very portable way, and has support for Windows, Mac OS X, Linux, FreeBSD… it even runs on ARM devices with OpenGL ES, and experimental Android and iPhone ports are in the works.
  5. A majority of Panda3D is written in C++, and is written for performance. Panda supports a multi-threaded rendering pipeline, and provides many ways for you to speed up your application using multithreading. In the end, though, the performance is heavily dependent on the specific application, and you will yourself need to understand what makes your application slow. However, Panda3D provides performance tools that give you an in-depth analysis of all performance aspects of the application.

Though any answer you get on the Panda3D forums is going to be inherently biased toward Panda3D, of course.

Okay, thanks. :smiley:

That’s more or less what I expected. I think I’ll give Ogre3d a shot, then if I need something different I can come back here.

See you soon.