Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


We're also offering banner ads on our site from just $5! 1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Shallow Water Transparency


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 Vincent_M   Members   -  Reputation: 709

Like
0Likes
Like

Posted 22 April 2013 - 08:17 AM

I'm working on water effects right now, and I want to have transparency in my water that's dependent on how "deep" it is. In other words, it's really clear in shallow areas, and murky/opaque as it gets deeper. The way I'm thinking about doing this is adding a depth buffer to my cube map I'll be rendering to create the reflection and mainly, refraction in the water. The depth buffer should determine how far away the sea floor, and then using the depth values would determine how refractive (transparent, in this case) it is instead of just using a single alpha value, correct?



Sponsor:

#2 VladR   Members   -  Reputation: 722

Like
0Likes
Like

Posted 22 April 2013 - 01:30 PM

Well, the problem is that this is a hack and is not how a water body behaves, from optics perspective.

 

If you do it this way, then some object, floating on the surface of water, will have its bottom part perfectly visible through the water body when near the shore, yet the very same object, far from the shore won't have visible bottom part.

 

That would just look weird.

 

I suggest you make the effort and take into account Fresnel Reflectivity and Transmittivity and Specular Reflection and Transmission of the water surface.


VladR    My 3rd person action RPG on GreenLight:    http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

 


#3 Hodgman   Moderators   -  Reputation: 30965

Like
0Likes
Like

Posted 23 April 2013 - 02:32 AM

Instead of using a cube depth buffer from your reflection probe (which tells you how deep the water is when viewed from that point in space), you should just subtract your camera's depth buffer value from each water pixel's depth value, which tells you exactly how much water there is along that viewing ray.

Which graphics API(s) are you using?

#4 Vincent_M   Members   -  Reputation: 709

Like
0Likes
Like

Posted 23 April 2013 - 06:11 AM

@VladR: I agree, that's not usually how water acts. Water doesn't use 6 cameras to take a constant snap shot and then wrap it around in a cube-like fashion based on its surface normals it's been consciously updating. I'm just kidding, lolbiggrin.png

 

One thing I have noticed, however, is that deep water doesn't really reflect things near the top either. Look at a boat in the ocean. Whatever part is in the water, usually isn't seen. I think this could do with how the light is scattered. The ocean looks nearly opaque, but again, I haven't been near deep water in a long time.

 

@Hodgman: I'm using OpenGL and OpenGL ES 2.0 in some cases (where it's feasible). All the shaders I write are tested on Macs and iOS devices in an attempt to keep things somewhat compatible. I also have iOS and Mac-specific features that use define-preprocessor boundaries to deep my dev environment from compiling incorrect platform-specific stuff.

 

What do you mean by reflection probe? Are you talking about the viewing ray, in this case, or the position in space where I'm rendering the cubemap for reflections.

 

Btw, have either of you found any good books on water rendering? I've been trying to find more resources on water rendering and how to build a decent particle system, but I've only found papers.



#5 VladR   Members   -  Reputation: 722

Like
0Likes
Like

Posted 23 April 2013 - 08:04 AM

Btw, have either of you found any good books on water rendering? I've been trying to find more resources on water rendering and how to build a decent particle system, but I've only found papers.

It's been a while, I admit, but I found all I ever needed about water optics in Tessendorf's paper. I assume you have that one, right ?

VladR    My 3rd person action RPG on GreenLight:    http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

 





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS