Rendering View Dependent Reflections

Moge - My Own Graphics Engine

Bachelor Thesis

2013


Technologies

  • C++
  • OpenGL
  • GLSL
  • assimp
  • blender
T he objective of my bachelor thesis at the Institute of Computer Graphics at the University of Koblenz was to overview the state-of-the-art in rendering reflections. Reflections may add realism to computer generated imagery ‒ they unveil the shininess of materials that would otherwise look flat and dull, for example brushed metals, wet surfaces as e.g. puddles or polished floors. They are important features that reveal material qualities such as roughness and reflectance and wetness.

Additionally reflections can get more complex, as they depend on the view of an observer: a wet surface like a street during rain for example will reflect lights depending on the distance of the viewer, resulting in more streaky reflection, which will look more stretched, if the viewer is locatedrnfarther away from the light source.

Different algorithms should be compared, implemented and evaluated. The final thesis covered three major techniques, that are common methods in most current game and graphics engines:

  • Screen space reflections (SSR)
  • Parallax-corrected cube maps (PCCM)
  • Billboard reflections (BBR)

    As a foundation a modern OpenGL graphics engine has been built from scratch featuring:

  • Deferred shading render pipeline
  • Asset-, model- and texture loading
  • Camera control
  • Physically based lightning
  • Different shading models (Phong, Cook-Torrance)


    github
    bachelor thesis