Demo: (unfinished version)
Http://free.gameres.com/user upload/chimp.rar
Read the notes below...
Wave Input: The current propagation position (original position + velocity * time, the original position is the distance from the vertex to the wave source, obtained using the vertex coordinate dot normal)
Normal offset: The deviation (COS) of the wave function is added to the component.
Obfuscation: if the basis of the tangent space is T, B, and N in the world coordinate system, the correspondence between a vector t of the tangent space and its value W in the world space is:
T = W * [T, B, n] (three dp3 in shader) or
W = T * the inverse of [T, B, n] is the transpose of [T, B, n] (Mul mad in the shader)
Reflection and refraction...
Reflection only
Refraction with only one Refractive Index
Refraction with three REFRACTIVE INDICES
Reflection + Refraction
Reflection + refraction + specular