Grass meshes created in Houdini and animated using vertex shader. Full project details available in Portfolio
Height Based Per-Instance Noise
Used to create a mask based on mesh bounds. Overlayed Noise breaks up the linear height mask for a more natural effect. Used on the trees to blend seasonal leaf color. Full project details available in Portfolio
Crystal Shader
Procedurally generated vertex color maps for Edge Wear and AO. Depth effect & World Position based random color assignment
Gerstner Wave Function
Gerstner Wave Function implemented in Unity Shadergraph. Includes depth fade and edge detect functionality. Optimized for mobile
Open GL Parallax
Normal & Parallax Occlusion shader written in GLSL. Part of a two person project with Isaac Lovy
OpenGL Particle System
A fully functioning and scalable particle system built within a vertex and fragment shader. Check out my blog post for more details!