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.
- Use mip maps for blur
- Fix refraction "dead zones"
- Fix off by 1 px issue (zoom in)
- 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.
- Objects cannot penetrate.
- Refracted normal does not accumulate (does not refract into transparent object behind)
transmissionDispersionAbbe
transmissionIOR
transmissionFactor
trasmissionScatter