• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
riuthamus

Water Reflections + Different Planes

17 posts in this topic

Normally, you would have 1 plane and reflect from there. How do you do this when you have 15 different planes? With a block based world we could have reflections coming from all over the place depending on where a player placed the water

0

Share this post


Link to post
Share on other sites

You mean 15 different planes of water? Or something else like reflective blocks, etc...?

1

Share this post


Link to post
Share on other sites

think levels. Maybe the water is flowing down, how would one reflect the part that is flowing down? We already have 1 reflective surface based off of a very large plane. What if the water moves or moves to another plane... how to reflect from there? Telanor should be up in about an hour, when he gets up i will have him post here and give some more information.

0

Share this post


Link to post
Share on other sites
It's not so much flowing water we're trying to deal with but rather lots of flat pools of water on different planes. How do you get proper reflections for all of them without having to render the scene for each pool individually?
1

Share this post


Link to post
Share on other sites
It's not so much flowing water we're trying to deal with but rather lots of flat pools of water on different planes. How do you get proper reflections for all of them without having to render the scene for each pool individually?

You could try using screenspace local reflections. To hide ugly artifacts with screenspace technique limitations create one cubemap that contain close enough result for reflections. Blend between local reflection and cubemap when reflection vector start to point towards camera. This method will give you reflections everywhere so you need to use roughness, specular color or someting else to dampen spots where you don't want mirror like reflections.
1

Share this post


Link to post
Share on other sites
Aren't screen space reflections only suited to smaller indoor areas? And how would you use a single cubemap work for all the different reflections?
0

Share this post


Link to post
Share on other sites
Aren't screen space reflections only suited to smaller indoor areas? And how would you use a single cubemap work for all the different reflections?
Cubemap would be used only if screenspace does not contain valid data. Sky box would be good candidate for it.
It does no matter much if the area is indoor or outdoor because everything is gathered from screenspace so relative distances does not matter.

There is quite good picture comparion showing the effect in outdoor scene http://blogs.amd.com/play/2012/06/06/fast-and-beautiful-the-directx®-tech-of-nexuiz/ Edited by kalle_h
1

Share this post


Link to post
Share on other sites
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...
0

Share this post


Link to post
Share on other sites
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
1

Share this post


Link to post
Share on other sites
<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.

0

Share this post


Link to post
Share on other sites


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
1

Share this post


Link to post
Share on other sites
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.
1

Share this post


Link to post
Share on other sites
I can't seem to find any documentation on how screen space reflection is even done. Are there any tutorials anywhere?
0

Share this post


Link to post
Share on other sites

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. Edited by Hodgman
1

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0