This project created an interactive water shader using Unity's ShaderLab. The material combined tessellation- and compute shaders to achieve a surface that responded to player movement. The project had a shorter timeframe as it was submitted as an assignment for a course at the University of Skövde.
Team: 1
Duration: 3 weeks
Engine: Unity
Implemented a tessellation shader to dynamically create more vertices on the plane. The tessellation level was adjustable in the inspector.
Added fresnel refraction with adjustable refraction distance and customizable refraction colors.
Generated ripples which reacted to the player and surrounding environment by sampling a camera render map and feeding the data into a compute shader.
The main challenge during this project was recreating ShaderGraph nodes directly in ShaderLab. Limited documentation meant reverse‑engineering node behaviour and iterating until the visual output matched the original graph.
Waves form after the character. The shader was developed for first-person perspective and the character's reflection was therefore not taken into consideration.
Fresnel refraction.