Highlights:
✓ Physics-driven: reacts to container movement
✓ Foam with proper UVs on virtual surface
✓ VR Performant
✓ Foam with proper UVs on virtual surface
✓ VR Performant
Technical differentiator:
Foam UVs projected spherically from under the calculated surface .
Most other shaders use container UVs or skip foam.
Most other shaders use container UVs or skip foam.
Debug views
Physics constraint box tracks liquid orientation Arrow = surface normal
Left to Right: physics simulation, liquid depth under surface, and wireframe
Left to Right: Flat liquid, World Normals, Liquid with Foam, Foam UVs
Material Breakdown
Virtual Surface Positions and Normals
Frontside/Backside liquid depth
Environment Reflection/Refraction
Foam UVs spherically projected from a point along the normal, under the virtual surface