Water Reflections + Different Planes

Started by
16 comments, last by riuthamus 11 years, 2 months ago
<blockquote class="ipsBlockquote" data-author="Telanor" data-cid="5023744"><p>Skybox for what...? We use a dynamic sky and using a static skybox for the reflections wouldn't match the world it's reflecting. The screenshots in that link showing screen space reflections don't really make much sense. There are literally no reflections in the image they're showing, instead it seems to show the difference between two different lighting setups...</p></blockquote><br />You always could render dynamic cubemap from location of player and use that as fallback solution if screenspace does not have data for reflections.<br />There is another screenshot http://img23.imageshack.us/img23/935/screenshot0000gx.jpg<br />

eh.. what? formatting on that is off so i have no clue what you are trying to say. Sorry man, i appreciate you trying to help us btw.

Advertisement


Skybox for what...? We use a dynamic sky and using a static skybox for the reflections wouldn't match the world it's reflecting. The screenshots in that link showing screen space reflections don't really make much sense. There are literally no reflections in the image they're showing, instead it seems to show the difference between two different lighting setups...

You always could render dynamic cubemap from location of player and use that as fallback solution if screenspace does not have data for reflections.
There is another screenshot http://img23.imageshack.us/img23/935/screenshot0000gx.jpg



eh.. what? formatting on that is off so i have no clue what you are trying to say. Sorry man, i appreciate you trying to help us btw.



Sorry about that formatting it must be forum software bug, noticed that couple times now. Finally found good picture with outdoor screenspace reflections. https://twitter.com/iquilezles/status/291255436420718593/photo/1/large

oh that looks amazing... so what are you suggestion, to use screenspace instead of cube?

oh that looks amazing... so what are you suggestion, to use screenspace instead of cube?
Cubemap is only fallback when reflection ray point outside of screenspace. So at edges of screen you start smoothly blend towards cubemap reflection instead. Same should be also done when reflection ray start point towards camera. Another option would just fade reflections off at edge cases but that would make these areas too dark.
Think technique as image based lightning that dynamically replace cubemap samples with better data if avaible.
I can't seem to find any documentation on how screen space reflection is even done. Are there any tutorials anywhere?

oh that looks amazing...

Inigo Quilez is an amazing graphics tinkerer, he built that landscape in a weekend, and that water in an hour... That's an order of magnitude more productive than most of us could hope to be at these tasks wink.png

I can't seem to find any documentation on how screen space reflection is even done. Are there any tutorials anywhere?

I'm not aware of any tutorials, but the principle is the same as parallax mapping techniques (parallax occlusion mapping, quadtree displacement mapping, etc), except that --
* with parallax mapping, you start with a ray that is outside of the "volume". Assuming your texture repeats, the ray will eventually intersect with the volume somewhere.
* with screen-space reflections, your starting ray is already inside the "volume", maybe heading in or maybe heading out. You need to deal with the cases where the ray leaves the volume.
-- in either case, you step along that ray through the volume until you find a collision.

The naive implementation is just to truncate the ray to two dimensions and step one pixel at a time. To speed this up, you can approximate by stepping 'n' pixels at a time.
Fancier parallax techniques (POM, QDM, etc) are basically ways to implement this basic idea more efficiently/accurately.

I can't seem to find any documentation on how screen space reflection is even done. Are there any tutorials anywhere?

HLSL implementation.
http://www.gamedev.net/blog/1323/entry-2254101-real-time-local-reflections/


OpenGl implementation with some bloggin covering the progress
http://ianlilleycis565.blogspot.fi/

Inigo Quilez is an amazing graphics tinkerer, he built that landscape in a weekend, and that water in an hour... That's an order of magnitude more productive than most of us could hope to be at these tasks wink.png

Hm...perhaps we can all obtain it some day. rolleyes.gif

This topic is closed to new replies.

Advertisement