Page MenuHome

Cycles: remove support for tessellating hair as triangles.
Needs ReviewPublic

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

Details

Reviewers
None
Group Reviewers
Cycles
Summary

This never really worked correct with hair shaders as it did not support
the required texture coordinates and backface culling. Also principled hair
does not handle this correctly.

So it does not seem very useful to keep, and removing this case also makes
it easier to optimize Blender curve export later to avoid intermediate
storage.

Diff Detail

Repository
rB Blender
Branch
hair-triangle (branched from master)
Build Status
Buildable 3140
Build 3140: arc lint + arc unit

Event Timeline

Harbormaster completed remote builds in B3140: Diff 14215.

Ignoring the BCON level you've got all my support!

Taking BCON level into account, not sure how i feel about it doing it now. Not as if i am aware of a real world use, but this feature is not really in a way as far as i am aware, and we are trying to be conservative in other areas.
On another hand this is not a "lossy" change: as in, it will just be pixel difference in the final render.

I'd give it 80% of confidence from my side for doing it now :)

Mainly I want to do D4532: Cycles: remove hair minimum width support. for the performance improvement and code simplification it brings. And then I thought if we're removing that one, might as well clean these settings up entirely.

Line segments and Curve segments don't support Subsurface scattering while Triangles does.

Triangles is also the only one that can do proper smooth shading with the Glossy shader and with low steps. Line segments can't since the segments are split with a gap in the middle so you have to increase the steps, while Curve segments have noticeable weird shading, so you have to increase either the curve subdivision or the steps.

If Triangles has to go, I ask for that missing functionality to be supported by Curve segment down the line

Curve segments with 0 Curve subdivisions:


Line segments:

Triangles: