cpu_voxel_raycaster icon indicating copy to clipboard operation
cpu_voxel_raycaster copied to clipboard

Very barebones CPU Voxel Raycaster

cpu_voxel_raycaster

Very barebones CPU Voxel Raycaster

This is the basic raycaster I used to generate visualizations for my Out-Of-Core Sparse Voxel Octree Builder (ooc_svo_builder repo) publication. It is designed to work with the .octree file format that is a result of that pipeline.

The code was never published as part of the publication. People have been mailing me over the years for a tool to visualize the output of ooc_svo_builder, so here it is. Note that this code is +5 yrs old and has been unmaintained since, so it will require some work to get started, but can help you if you want to research the topic further.

vizualization_example

Building & Requirements

I'm trying to get the project in a workable state state again. Here are some build notes for other adventurers:

  • Converted to VS2019 solution
  • Requires trimesh2: My ready-made fork can be found here)
  • Requires GLFW: Only very basic window creation / keyboard functionality / OpenGL context setup is used, so it should be fine to use any recent version of GLFW.
  • Requires glew: Again, only using this to grab OpenGL extensions. Any recent version should do.

Controls

Behold my horrible control scheme

  • Numpad 4-6: Camera left right, 8-5 up down, 7-9 forwards backwards
  • i : save screenshot in PPM format
  • p : toggle between renderers (Included are: Diffuse, Depthmap, Intersection Test counts, Normal Map, Octree levels)