Arbitrary envelopes with various interpolators curve between points. Envelopes can drive amplitude, pitch or any exposed parameters of a generator or processor (e.g. cutoff frequency and Q factor of a lowpass)
LOD like system for handling many individual sound sources
Individual sound sources get binaural filters applied
Due to many potential sound sources, occluded sounds or distant sounds get collapsed to single sound sources based on physical location to reduce binaural and pathing calculations.
Gameplay driven procedural music with no pre-recorded stems or sequence data
Editor features:
Hot reload shaders
Hot reload textures and meshes
Translate/Rotate gizmos that support local and world space transformations
Parent/Child transform hierarchies
Duplicate/Delete/Undo
Maya-like and WASD camera controls
Human readable text files for scene descriptions
Dear ImGui frontend for manipulate entities and engine state
Treemorph [2018]
Made using OpenGL and SDL2 in C++
Particle system completely simulated on GPU using OpenGL Transform Feedback
Simulates half a million+ particles at 60fps
Implemented 3D Perlin noise algorithm and Bezier curves in shaders to drive particle movement
Particles grab their color from any texture image source
Reads audio directly off the sound card
Implemented simple beat detection
Particles react dynamically to any sound source
Was made to project on the side of building and trees for dynamic party lighting at our wedding reception
Play at highest quality
Simple 2D Physics Engine [2017]
Made using SDL2 in C++
Implemented 2D rigid body physics
Uses semi-implicit Euler integration on forces to gain accurate positions and velocities