Basic Renderer

The cave

About

The Basic Renderer (bRenderer) is a cross-platform educational framework written in C++ and suited to teach basic knowledge in computer graphics. The framework abstracts the functionality of its underlying graphics API and libraries to an extent that still preserves the main concepts taught in a computer graphics course. Consequently, bRenderer can be used in student projects, as well as in exercises. It helps students to easily understand how a renderer is implemented without getting distracted by the particular implementation of the framework or platform-specific characteristics.

The renderer was developed at the VMML by Benjamin B├╝rgisser under the supervision of David Steiner.

Features

  • User inputs
  • Windows (and views on iOS) with OpenGL context
  • Object management
  • Adjustable global configurations
  • Queuing render calls
    • Sorting for efficiency
    • Transparency sorting
  • Bounding volumes and culling
  • OBJ loading (materials and models)
  • Sprites and text sprites
  • Fonts
  • Textures
  • Cube maps
  • Depth maps
  • Framebuffers
    • Drawing to textures
  • Shaders
    • Loading shaders from files
    • Generation of shaders according to user specifications or the material
  • Camera objects
  • Light objects
  • Matrix stacks

Platforms

  • Windows
  • Mac OS X
  • Linux
  • iOS

Example Student Project

Example Project

 

GitHub VMML Support
GitHub VMML Support