Skip to content

Files

Latest commit

 

History

History

translucent-material

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Translucent Material

A posteffect that renders non-physically based translucency with modeled light refraction and absorption using depth peeling.

Demo model loaded from the alecjacobson/common-3d-test-models repo.

Demo Here

TODO

  • Use mip maps for blur
  • Fix refraction "dead zones"
  • Fix off by 1 px issue (zoom in)

Possible Improvements

  • Make it physically based
  • Test with multiple meshes
  • Subsurface scattering
  • Jitter sampling for blur / diffusion
  • Blur depth accumulation
  • Shadows
  • light should be absorbed at an exponential rate rather than linear?
  • performance
  • Provide option to just use front faces and back faces.
  • Use directional light to perform subsurface scattering
  • Manually discard against scene depth
  • Possibly we don't need an alpha channel for the accumulation buffer.
  • Blur the transmission values using multiple jittered samples per frame or mip map samples.
  • Fix refraction "bare" spots where there seems to not return data.
  • Can "additive" blending subtract color?
    • Instead of accumulating absorbed color just subtract color and perform a surface sheen render so surface is visible through transparent surface.

Limitations

  • Objects cannot penetrate.
  • Refracted normal does not accumulate (does not refract into transparent object behind)

Fields

  • transmissionDispersionAbbe
  • transmissionIOR
  • transmissionFactor
  • trasmissionScatter

References

Other