OGRE – Marvelous free and open-source 3D graphics rendering engine

This article along with all titles and tags are the original content of AppNee. All rights reserved. To repost or reproduce, you must add an explicit footnote along with the URL to this article!
Any manual or automated whole-website collecting/crawling behaviors are strictly prohibited.
Any resources shared on AppNee are limited to personal study and research only, any form of commercial behaviors are strictly prohibited. Otherwise, you may receive a variety of copyright complaints and have to deal with them by yourself.
Before using (especially downloading) any resources shared by AppNee, please first go to read our F.A.Q. page more or less. Otherwise, please bear all the consequences by yourself.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Ads Place

OGRE (short for Object-Oriented Graphics Rendering Engine) is a free, open-source, and cross-platform 3D graphics real-time rendering engine that is widely used in 3D simulation and game development fields, written in C++ in 2001. Because it is an open-source graphics engine, like Linux, it has been adapted and expanded by a variety of different groups and organizations, so that it can adapt to different application areas and has more powerful functions.

As a scene-oriented, flexible 3D engine, OGRE makes it easy and intuitive for developers to create games and demos using 3D hardware. OGRE’s class libraries abstract/hide all the details of the underlying system libraries (such as Direct3D and OpenGL), and provides an interface based on world objects and other intuitive classes instead. It aims to make it easier and more straightforward for developers to make applications using hardware-accelerated 3D graphics systems.

In fact, as early as 2001, OGRE has become one of the most popular open-source graphics rendering engines, and has been used in a number of product projects, including: games, simulators, educational software, interactive art, scientific visualization, and more. It can run with a variety of different 3D graphics adapters, and among many game development engines, it can better render the world of game. Therefore, the quality of games developed with OGRE is quite good, such as Torchlight II, Rigs of Rods, and Stunt Rally.

But there are a few things I want to remind game developers who want to try OGRE. First, OGRE is not a complete game engine (lacking support for sound, network, input, collision handling, etc.), it’s just a graphics engine instead. In other words, it needs to be combined with other development libraries in order to work like a real game engine. Second, OGRE is not that easy to use, so that it can be difficult to choose the right edition or even version (most of them are quite different) and configure a working environment. Also, you must already have a basic knowledge of the C++ programming language.

OGRE is not a game shell or scripting language like Game Factory, so that you need to know more about how to use it, and it is more powerful than those game shells or scripting languages. Plus, you need to know something about C++ programming, especially the object-oriented programming. As a result, OGRE is not suitable for beginners who are just learning to program. In other words, you can’t learn C++ programming by learning the OGRE engine.

The good news is that, just as powerful and efficient as C++, OGRE can be used to create all types of games (even MMORPG). Unlike other 3D game engines, OGRE is not geared towards a certain type of games, but can be used in everything from flight simulator to first-person shooter, 2.5D game, etc. All in all, if some game is going to use the 3D graphics technology, then OGRE is suitable for developing it.

// Key Features //

Productivity features
  • Simple, easy to use OO interface designed to minimise the effort required to render 3D scenes, and to be independent of 3D implementation i.e. Direct3D/OpenGL.
  • Extensible example framework makes getting your application running is quick and simple
  • Common requirements like render state management, spatial culling, dealing with transparency are done for you automatically saving you valuable time
  • Clean, uncluttered design and full documentation of all engine classes
  • Proven, stable engine used in several commercial products
Platform & 3D API support
  • Direct3D 9 & 11, OpenGL (incl. ES2, ES3 and OGL3+) and WebGL (Emscripten) support
  • Windows (all major versions & WinRT), Linux, Mac OSX, Android and iOS support
  • Builds on various compilers such as MSVC, GCC 4.8+ or Clang
Material / Shader support
  • Powerful material declaration language allows you to maintain material assets outside of your code
  • Supports vertex and fragment programs (shaders), both low-level programs written in assembler, and high-level programs written in Cg, HLSL, GLSL or SPIRV and provides automatic support for many commonly bound constant parameters like worldview matrices, light state information, object space eye position etc
  • Supports the complete range of fixed function operations such as multitexture and multipass blending, texture coordinate generation and modification, independent colour and alpha operations for non-programmable hardware or for lower cost materials
  • Multiple pass effects, with pass iteration if required for the closest ‘n’ lights
  • Support for multiple material techniques means you can design in alternative effects for a wide range of cards and OGRE automatically uses the best one supported
  • Material LOD support; your materials can reduce in cost as the objects using them get further away
  • Load textures from PNG, JPEG, TGA, BMP, PVRTC, KTX or DDS files, including unusual formats like 1D textures, volumetric textures, cubemaps and compressed textures
  • Textures can be provided and updated in realtime by plugins, for example a video feed
  • Easy to use projective texturing support
Meshes
  • Flexible mesh data formats accepted, separation of the concepts of vertex buffers, index buffers, vertex declarations and buffer mappings
  • Biquadric Bezier patches for curved surfaces
  • Progressive meshes (LOD), manual or automatically generated
  • Static geometry batcher
  • “OpenGL Immediate Style” Primitive Creation
Animation
  • Sophisticated skeletal animation support
    • blending of multiple animations with variable weights
    • variable/multiple bone weight skinning
    • software and hardware-accelerated skinning pipelines with intelligent buffer sharing
    • manual bone control
    • configurable interpolation modes, accuracy vs speed tradeoffs
  • Flexible shape animation support
    • Morph animation for legacy applications where you wish to perform simple linear blends between shape snapshots
    • Pose animation for modern shape animation, allowing you to blend many poses at variable weights along a timeline, for example expression / mouth shapes to perform facial animation
    • Both techniques can be implemented in hardware and software depending on hardware support
  • Animation of SceneNodes for camera paths and similar techniques, using spline interpolation where needed
  • Generic animation tracks can accept pluggable object adapters to enable you to animate any parameter of any object over time
Scene Features
  • Highly customisable, flexible scene management, not tied to any single scene type. Use predefined classes for scene organisation if they suit or plug in your own subclass to gain full control over the scene organisation
  • Several example plugins demonstrate various ways of handling the scene specific to a particular type of layout (e.g. BSP, Octree)
  • Hierarchical scene graph; nodes allow objects to be attached to each other and follow each others movements, articulated structures etc
  • Multiple shadow rendering techniques, both modulative and additive techniques, stencil and texture based, each highly configurable and taking full advantage of any hardware acceleration available.
  • Scene querying features
Special Effects
  • Compositor system, allowing for full-screen post-processing effects to be defined easily, via scripts if desired
  • Particle Systems, including easily extensible emitters, affectors and renderers (customisable through plugins). Systems can be defined in text scripts for easy tweaking. Automatic use of particle pooling for maximum performance
  • Support for skyboxes, skyplanes and skydomes, very easy to use
  • Billboarding for sprite graphics
  • Ribbon trails
  • Transparent objects automatically managed (rendering order & depth buffer settings all set up for you)
Misc features
  • Common resource infrastructure for memory management and loading from archives (ZIP, PK3)
  • Flexible plugin architecture allows engine to be extended without recompilation
  • ‘Controllers’ allow you to easily organise derived values between objects e.g. changing the colour of a ship based on shields left
  • XMLConverter to convert efficient runtime binary formats to/from XML for interchange or editing
  • Sample library + browser that showcases many features

// Games and Applications //

  • Zombie Driver
  • Torchlight
  • Torchlight II
  • RUNNING WITH RIFLES
  • Kenshi
  • Rigs of Rods
  • Roblox (until 2014)
  • Hob
  • Rebel Galaxy
  • Rebel Galaxy Outlaw

// Related Links //

// Download URLs //

License Version Download Size
Freeware Latest  (mir) n/a

(Homepage | GitHub)

If some download link is missing, and you do need it, just please send an email (along with post link and missing link) to remind us to reupload the missing file for you. And, give us some time to respond.
If there is a password for an archive, it should be "appnee.com".
Most of the reserved downloads (including the 32-bit version) can be requested to reupload via email.