Skip to content
/ ogre Public

high-performance rendering backend (C++, Python, C#, Java)

License

Notifications You must be signed in to change notification settings

OGRECave/ogre

Repository files navigation

GitHub release CI Build Downloads Join the chat at https://gitter.im/OGRECave/ogre Patreon

The High-Performance Rendering Backend

OGRE (Object-Oriented Graphics Rendering Engine) is a proven, modular C++ renderer for custom engine development. It empowers engine programmers and industrial simulation developers to build high-performance 3D applications in C++ and Python efficiently.

Start with a battle-tested, flexible rendering backend that scales from embedded robotics to high-end visualization tools. OGRE abstracts Vulkan, Direct3D, and OpenGL so you can focus on your engine's logic.

Get Started - Tutorials - Documentation - Community Support - What's New?

Instant Prototyping with Python

Experience rapid prototyping with our high-level Python bindings (HighPy). Get a PBR scene running in seconds:

# pip install ogre-python
import Ogre.HighPy as ohi

# Create a window
ohi.window_create("Ogre", window_size=(1280, 720))

# Load a mesh (glTF 2.0, OBJ, or Ogre Mesh)
ohi.mesh_show("Ogre", "DamagedHelmet.glb", position=(0, 0, -3))
ohi.point_light("Ogre", position=(0, 10, 0))
# Main Loop
while ohi.window_draw("Ogre") != 27: # Press ESC to exit
    pass

Features

OGRE provides the tools you need to build immersive experiences, from advanced lighting and shadow effects to complex character animations and rich particle systems.

Physically Based Shading Dynamic Shadows
Achieve stunning surfaces with PBR workflows Stencil and texture-based shadows for any environment
Character Animation Particle Effects
Hardware & software skeletal animation support Flexible particle systems for fire, smoke, sparks & more.
Advanced Compositor Pipeline Terrain Rendering
Streamline post-processing like bloom and HDR Multi-layered, textured landscapes with LOD
UI Toolkit Physics Engine Integration
Seamless integration with Dear ImGui for in-game UI Use Bullet Physics for rigid body dynamics
Realistic Surface Details Volumetric Rendering
Bump and offset mapping for enhanced textures With CSG and triplanar texturing

For a complete list of capabilities, see our features page.

Get started now

Ready to try OGRE? Get up and running in minutes.

For detailed instructions on compiling from source, see our Building OGRE guide.

Who is using it?

Trusted by commercial studios and open-source communities for games, simulators, and tools:

Industrial & Robotics

Open Source Games

Commercial Games

Join Our Community

We believe in the power of collaboration.

  • Engine Programming Q&A: Ask technical questions in our Forums or on Gitter.
  • Contribute: Check out good first issues to get started. We welcome everything from bug fixes to new features.
  • Support the project via Patreon to help fund continued development.

Licensing

OGRE is licensed under the MIT License. Please see the full license documentation for details.

Citing OGRE in Research

If you use OGRE in your academic work, please cite it:

  @misc{rojtberg2024ogre,
    author = "{Rojtberg, Pavel and Rogers, David and Streeting, Steve and others}",
    title = "OGRE scene-oriented, flexible 3D engine",
    year = "2001 -- 2024",
    howpublished = "\url{https://www.ogre3d.org/}",
  }