When comparing Horde3D vs OGRE, the Slant community recommends OGRE for most people. In the question“What are the best graphics rendering engines?” OGRE is ranked 1st while Horde3D is ranked 2nd. The most important reason people chose OGRE is:
OGRE provides several options for shadow implementation that can be combined and customized by the user. This gives the user greater freedom to find the best settings for the needs of their scene.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Well suited for large crowds of animated objects
Horde3D was originally designed specifically to render large crowds, a task that is generally very resource intensive. Horde3D is designed to keep hierarchies of nodes small and easy to traverse to reduce overhead. It also utilizes cached data more efficiently than other rendering engines in an effort to produce faster animations.
Pro Straightforward engine integration
The structure for storing the data of the graphics objects allows the user to add additional data specific to the application using Horde3D. Using this functionality, the user can easily integrate Horde3D with a game or physics engine, for example.
Pro Can be used with many different programming languages
Because Horde3D utilizes a C-style interface, it can be ported for use in most programming languages.
Pro Cross platform support
Horde3D uses OpenGL as its rendering API, and can therefore be used on any platform that supports OpenGL.
Pro Native support for multiple implementations of shadows
OGRE provides several options for shadow implementation that can be combined and customized by the user. This gives the user greater freedom to find the best settings for the needs of their scene.
Pro Changes can be implemented without recompiling
OGRE uses scripts for many of its features, which are loaded while in use. This allows the user to modify the scripts for immediate effect without the need to recompile.
Pro OGRE is extremely flexible and designed to be extended.
OGRE’s base design allows it to be extended, usually through plugins. Further, OGRE's conceptual design does not assume it will be used for one particular application over any other. This allows it to be a blank slate for users to adapt to whatever applications they need. This gives the user the ability to adapt OGRE to solve almost any problem.
Pro Code can be platform/API agnostic
Interfaces in OGRE are independent of platform and API, so the code used does not need to be dependent upon them either. The user can utilize higher-level classes and allow the engine to determine the most appropriate implementation.
Pro No licensing
OGRE is open source, so it is free to use and does not require licensing.
Pro Cross platform support
Supports Windows, Mac OS, Linux, Android, iOS, Javascript, and WinRT.
Pro Thorough documentation
OGRE has official support through the OGRE manual and full API documentation. There is additional community support through the wiki and active forums.
Cons
Con Not usable by all hardware
Horde3D requires a graphics card compatible with OpenGL 2.0, and might not work on older hardware.
Con Difficult to add custom functionality
In order to add custom graphics functionality, the user needs to modify the source code directly. This is due to the high level of abstraction used in the programming interface. To circumvent this, Horde3D does include a method for customization through extensions.
Con Because OGRE has no inherent focus, every use case involves a lot of overhead work
OGRE is designed to be an extremely flexible graphics rendering engine, which means that there is no one test case where it excels. If the user wants to make a relatively standard first-person shooter game, a more thorough game engine with integrated physics simulation and a graphics rendering engine designed for that type of movement, such as Unity. If the user wants to have many animated characters visible at the same time, for example in a simulation or massively-multiplayer game, a rendering engine like Horde3D would be a more efficient option.
Con Does not work with all compilers
In an effort to prevent name clashes, OGRE utilizes the C++ functionality of namespaces, which is not supported by all compilers.
Con Not ideal for web or console platforms
While there is some community support for web deployment, there is no official support for web or console ports.
Con Only works in C++ natively
OGRE only natively works with the C++ programming language. The use of other languages requires community made extensions.
Con Requires advanced programming knowledge
OGRE is a C++ library that requires programming knowledge to use. Furthermore, OGRE is fairly advanced and is not recommended for users new to programming or object-oriented programming.