• Advertisement
Sign in to follow this  

Projected grid water using a sphere instead of a plane?

This topic is 1880 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Does anyone know of any papers/blogs/whatever out there that discuss doing the projected-grid water approach with a sphere instead of a plane?

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...

Share this post


Link to post
Share on other sites
Advertisement
Basically why you need paper, projected grid approaches are really simple thing. Just generate rays from your camera, test them against plane, sphere, ... and compute vertex locations for your grid*. For avoiding seams at screen edges, you basically use (for ray generation) camera with a little more fov, that your actual camera.

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. [img]http://public.gamedev.net//public/style_emoticons/default/ph34r.png[/img]

*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).

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement