Projected grid water using a sphere instead of a plane?
Members - Reputation: 191
Posted 24 November 2012 - 11:12 PM
I'm using lat/long/altitude coordinates projected onto an ellipsoid for my terrain, and I have concerns that at high altitudes, the water horizon won't bend with the terrain horizon.
I assume this would involve line-sphere intersection tests instead of the line-plane tests in the projected-grid approach, but I don't really have any idea how to go about creating the screen-space grid so that it properly follows the curvature of the horizon...
Crossbones+ - Reputation: 1679
Posted 25 November 2012 - 05:15 AM
And because vertices you get are a grid, computing indices for drawing is very simple (same as indices for rendering quad-based uniform grid). Texture coordinates (this also counts for normals and tangent vectors) can be computed from vertex position (because you know it's a simple plane or sphere).
Then you just need some awesome FFT for displacement, good vertex & fragment shaders (maybe even tessellation one) and some render perfect water.
*Note for sphere you get 2 solutions, if you are above water surface, pick the closer one, if you're under water surface, pick the further one (basically it will be non-negative one).
My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com