Baked reflections using ray tracing in a voxel grid (30 fps on Android - Adreno 540 GPU)

Description

  • Better way of baking reflections.
  • More accurate than reflection probes which bake reflections from only one point of view.
  • Running at 30 fps on Adreno 540 – GPU on android.
  • Dynamic objects can recieve reflections from the static objects but the dynamic objects will not cast reflections on other dynamic objects.
  • First, the voxel grid is baked using compute shader and then, voxel info – color and occupied flag is stored as a text file.
  • During scene start, notepad file is read into an array and passed to the GPU as a compute buffer for the ray tracing step.
  • Ray tracing at 1/4th resolution through a 128x128x128 voxel grid.
  • Reduced space usage by packing the color and occupied flag in a 32 bit int.
  • Can use lesser step size, more ray trace iterations and an increased voxel resolution on PC for better quality reflections.

Video : https://drive.google.com/open?id=1xbPs3ApZ6VoS-Iss7SHZDqCmSkJfFeLj

Date

May, 2018