Skip to content

A showcase of OpenGL shaders in both 3D and 2D, with ray-marching and other techniques

Notifications You must be signed in to change notification settings

conanwu777/Museum_of_Shaders

Repository files navigation

Museum of Shaders

A showcase of OpenGL shaders in both 3D and 2D, with ray-marching and other techniques

museum film_mode

This project is done in collobration with my programming partner Liam Deheaudt, I am in charge of shader-making, lighting and coming up with mechenisms of the diaplay (done using a bill-board like structure when player is far from shaders and a full-screen transparent film when in the 'inside mode'.

The shaders are largely inspired by/based on many excellent works on shadertoy, expecially those of Íñigo Quílez, Dave Hoskins and LeWIZ.

Current collection

  • Mandelbox (the scale multiplyer changes over time)

  • Mandelblub

  • Sierpinski's tetrahedron

  • IFS based on Sierpinski symmetry

  • Semi-transparent Quaternion Julia set (4th dimension evolves over time)

  • Cloud with Volumetric ray-marching

  • Structure generated by Kleinian group in 3D torus

  • Galaxy (2D shader)

  • Kaleidoscope (2D shader with octagon symmetry)

Outside Inside

Mandelblub

Sierpinski

IFS1 IFS2

Julia

Cloud

Kleinian Kleinian

Features

  • Renders fluidly in real time (tested on iMac)
  • Unified global lighting controlable with keys
  • Soft shadow in all solid shaders
  • Able to explore up-close and go through all 3D shaders
  • Post-processing effect for vintage mode

Comiling and Running

Run make to compile.

Run with:

./ShaderPixel

Runtime Controls

Mouse movement Controls the angle/direction of the camera

-WASD Move camera (exact movement based on the mode below)

-1 Vintage mode on/off

Space go in/out of inside mode when close to shaders

arrow keys adjust the x, y coordinate of main light

+, - adjust the z coordinate of main light

About

A showcase of OpenGL shaders in both 3D and 2D, with ray-marching and other techniques

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published