2012-06-30
Ocean looked nice with connected meshes but it lacked reflection and refraction. Although Ocean is actually a deep water system thus should have no refraction but I did it anyways. For this implementation i followed this Paper.
It involved 5 basic steps.
1. Create the reflection texture : provided by engine
2. Create the refraction texture : provided by engine
3. Distort the textures according to a dudv-map :- We don't need it as it's used to apply distortion. Normal map worked equally great.
4. Apply bump mapping : not needed since we are using vertex shaders to generate waves.
5. Combine with fresnel effects : no problem :)
and here's the result
and this
Some notes
-ocean exhibits No caustics. Caustics are already implemented in CS but aren't in ocean
-This shader is *not* shaderwaver. It is regular vertex and fragment program.
-LOD pops out as you move along.
-ocean doesn't entirely covers the island. a possible solution for it could be to increase the cell width and leght and corresponding parameters. so that it covers more area.
-also waves direction appears to be changing between different LOD when viewed from top. implementing inverse FFT could remove it, I think.
-Naman Gupta
Comments:
No Comments for this post yet...
This post has 69 feedbacks awaiting moderation...
Comments are not allowed from anonymous visitors.
Trackback address for this post:
Trackbacks:
No Trackbacks for this post yet...
This post has 69 feedbacks awaiting moderation...
Pingbacks:
No Pingbacks for this post yet...
This post has 69 feedbacks awaiting moderation...