Page MenuHome

Cycles: remove hair minimum width support.
ClosedPublic

Authored by Brecht Van Lommel (brecht) on Mar 17 2019, 11:57 AM.

Details

Summary

This never really worked as it was supposed to. The main goal of this is to
turn noise from sampling tiny hairs into multiple layers of transparency that
do not need to be sampled stochastically. However the implementation of this
worked by randomly discarding hair intersections in BVH traversal, which
defeats the purpose.

If it ever comes back, it's best implemented outside the kernel as a preprocess
that changes hair radius before BVH building. This would also make it work with
Embree, where it's not supported now. But it's not so clear anymore that with
many AA samples and GPU rendering this feature is as helpful as it once was for
CPU raytracers with few AA samples.

The benefit of removing this feature is improved hair ray tracing performance,
tested on NVIDIA Titan Xp:

bmw27+0.37%
classroom+0.26%
fishy_cat-7.36%
koro-12.98%
pabellon-0.12%

Diff Detail

Repository
rB Blender

Event Timeline

I compared some renders, but could not find the benefit of this feature. I don't think it was ever tested really well.

The main thing it brings is a softer look for objects further away from the camera, but generally we don't want the look to change based on camera distance.

This revision was not accepted when it landed; it landed in state Needs Review.Apr 24 2019, 2:49 PM
This revision was automatically updated to reflect the committed changes.