Translucency maps

Published April 15, 2016
Advertisement

Hello,

A while ago I fiddled a bit with an offline translucency technique as discussed here: https://www.gamedev.net/topic/653094-baking-a-local-thickness-map/. Never officially made it part of the baking pipeline, even though it should only be a small extension - still just flip and ray test those normals.

Though instead of averaging all sampled ray distances, I split them up into small 4x4 8-bits precision sets, so as to break the uniform thickness up into several view dependent values. These grids snug nicely into a uint32[4] vertex map component and can be sampled in a vertex shader based on the camera-to-vertex view tangent.

sss-1.png

sss-2.png

6 likes 3 comments

Comments

riuthamus

Looks good, can you show what it look slik when the object has a light directly on the other side? Is there a control to define how much light is let through? based off of a thickness map?

April 15, 2016 12:03 PM
eppo

I've increased the back-lighting in the second pic.

It has an 'absorption distance' as input - this controls how far rays can travel through the material before they're all reflected. These distances are then stored normalized as [ occlusion-distance / ^max-distance ] in the depth map.

April 15, 2016 05:06 PM
riuthamus

very nice man, very nice

April 17, 2016 03:34 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement