Download the project file here.
See the screenshot of the shader network inside the Phenomenon. Many parts could be wrapped into Phenomena themselves, but I leave that to the users as a practice.
How the effect is created (a rough overview)
Two different procedural perlin noises are combined to a float2 that is biased around 0 so that the values vary between -1 and 1. These values are used for
- texture coordinate distortion (for the fake-refraction texture lookup)
- caustic generation
- water normal generation
The height information is used to create the falloff of the water (when it fades to the water color). Caustics are generated by using a special shader that is fed by the procedural float2 value.
All effects are finally combined and composited: Reflection, (fake) refraction, water color, caustics to generate the final look of the surface.
What to improve
The next things that would be interesting to do is, to find a way to replace the procedural waves with some cheaper normal textures that would save a massive number of instructions. However, this would raise the question how the caustics are generated, since this is done in a special shader.
No comments:
Post a Comment