Ryan GattisGraphics & Systems Engineer
← Projects

Shader Viewer 4

OpenGL fragment shader viewer with a physics-based camera and hot reload.

  • C++
  • OpenGL
  • GLSL
  • SDL2
  • GLEW
  • GLM
  • Dear ImGui
Kaleidoscopic IFS fractal raymarched in Shader Viewer 4, with the ImGui camera overlay open
Kaleidoscopic IFS fractal raymarched in Shader Viewer 4, with the ImGui camera overlay open

An interactive GLSL fragment shader viewer, written entirely by hand, and the direct predecessor to the Vulkan port — where the same problem was solved again with the implementation AI-generated.

Any fragment shader renders onto a full-screen quad at interactive frame rates, with hot reload from disk so iteration doesn’t require a restart. Orbit and free-look camera modes are active simultaneously, with velocity and friction giving movement a physical feel and speed scaling with zoom level so the controls stay proportional at any scale.

Shader compile and link errors are logged and fall back to a blank screen rather than taking the application down — a small decision that makes the tool usable while actively writing broken shaders, which is most of the time.

A Dear ImGui overlay exposes camera position, rotation, pivot distance, and the full view matrix. High-DPI rendering is on by default.