Transmittance Part III

Ok, I got a little bit longer this morning, and got the Beer-Lamberts law function correctly implemented, and it looked a LOT better when it worked correctly. I had some issues with distance and how the absorbtion was calculated, but finally its working.
 
I’m still just using the depth buffer to get the distance, using two textures.. I need to render to more depth buffers of the object gets complex( like the spikeball ), and use all of them to get the correct distance. I will post more on this later, but first I want to get the transmittance algorithm working correctly ( Depth peeling ).
 
I decided that I want to devide the transmittance tutorial into three parts. One for the transmittance, one for reflection on our object and one for refraction. I think I will have the first one ready by today or tomorrow so if you think this is interesting, get ready to get some code to play around with! 🙂
 
Anyway, here is todays result, and don’t mind the artifacts on the spikeball and abstract model:
Spikeball got some depth buffer artifacts, and a problem because the depthbuffers aint overlapping 100 correct. I need to find out whats wrong..
Also, Depth-peeling can be used to get a good result on the distance the rays are traveling inside the object.
Sphere is correct at the moment.
 
This is a complex mesh and you can clearly see the depth buffer problem.
 
Looks much better, but still having the depth buffer problem.
This entry was posted in Graphics. Bookmark the permalink.

2 Responses to Transmittance Part III

  1. Catalin says:

    Did you look at this article? http://developer.nvidia.com/object/real_time_translucency_gdc2004.html Might help you with the depth problems.

  2. Petri says:

    No I haven\’t, thank you very much for this. It looks really promising 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.