Real-Time Hair Simulation
Summary
Proposal and implementation of a real-time hair simulation and rendering technique operating entirely on the GPU. Completed as my final dissertation project at the University of Bristol in 2017 using OpenGL and C++. While the source code is not currently available the full paper can be found below.
Features
- Simulation of hair dynamics including internal friction using compute shaders.
- Interpolation of key hairs for rendering using hardware tessellation.
- Local shading using a combination of the Kajiya-Kay and Marschner models.
- Self-shadowing by ray marching through a 3D density texture.
Technologies
- Host program and reference CPU simulation written in C++14.
- Simulation and rendering shaders written in GLSL for OpenGL 4.3 Core.
- GLFW for window and OpenGL context management.
- GLEW for OpenGL loading and runtime extension support.
- Base meshes for hair growth created in Blender.
- Paper created using LaTeX.
Showcase
