Ranked in these QuestionsQuestion Ranking
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
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.