Plasma's shaders were written in assembly - which also carried to the Metal implementation.
Goals in this branch:
The shaders should be written in clear code with proper variable names and functions where applicable.
Algorithms should be documented.
Any fast math assembly should be replaced with modern fast math functions where available. It is ok to drift from the HLSL 1.1 fast math code where imperceptible.
Shaders should be clearly reviewable and easy to port to other languages.
Plasma's shaders were written in assembly - which also carried to the Metal implementation.
Goals in this branch:
For water shaders in particular, Chapter 1 of GPU Gems is a good reference: https://developer.nvidia.com/gpugems/gpugems/part-i-natural-effects/chapter-1-effective-water-simulation-physical-models
There is a C code version of a water shader available here: https://http.download.nvidia.com/developer/GPU_Gems/CD_Image/Index.html
Please note the shader supplied in GPU Gems does not appear to be the exact same shader that shipped with Uru.