Skip to content
A demonstration of a graphics library abstraction layer that you might see in a typical rendering engine for games and simulations.
C++ CMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CMake
examples
externals
include/render_device
source
.gitignore
.gitmodules
CMakeLists.txt
LICENSE
README.md

README.md

RenderDevice

A demonstration of a graphics library abstraction layer that you might see in a typical rendering engine for games and simulations.

See http://amesgames.net/2017/06/27/c-rendering-engine-i-abstracting-the-render-device/.

Dependencies

  • C++11 Compiler
  • CMake 3.2 or greater

Features

  • OpenGL 4.1 RenderDevice

    • Vertex Buffers
    • Index Buffers
    • Vertex Shaders
    • Fragment Shaders
    • 2D RGB Textures
    • Shader Uniform Variables
    • Raster States
    • Depth/Stencil States
  • Platform Abstraction

    • Single window for the render viewport
    • Trackball interface for inspecting an object of interest
  • Samples

    • Triangle: renders a static, solid-colored triangle in normalized device coordinates
    • Cube: renders a textured cube and supports the ability to rotate the cube with the left mouse button and zoom in and out with the mouse scroll wheel

Roadmap

  • OpenGL 4.1 RenderDevice

    • Various Pixel Formats for Textures
    • Blend States
    • Uniform Buffers
    • Shader Image Load/Store
    • Offscreen and Multiple Render Targets
    • Geometry Shaders
    • Tessellation Shaders
    • Compute Shaders
  • Platform Abstraction

    • Multiple Window Support
    • Platform implementation for a Windows DirectX RenderDevice
You can’t perform that action at this time.