Page MenuHome

EEVEE Hair Cylinder Support
Needs ReviewPublic

Authored by Joseph Eagar (joeedh) on Mar 31 2020, 5:32 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

This patch adds support for cylinder rendering hair in Eevee.


Diff Detail

Repository
rB Blender

Event Timeline

Hi @Joseph Eagar (joeedh) can you elaborate further (and update the patch description) on the feature, why this is needed? If we are to add a hair type which is not compatible with Cycles we need a good reason to do so. Thank you.

This is the same as thick curves in Cycles, where there is an option to choose between Thick and Ribbon. The naming should be changed to match. The rendered shape would also be expected to be the same.

Hi @Joseph Eagar (joeedh) can you elaborate further (and update the patch description) on the feature, why this is needed? If we are to add a hair type which is not compatible with Cycles we need a good reason to do so. Thank you.

For anime hair. That's why I posted that image.

As for the design, I followed the general idea of what I think Clement had in mind. There are comments saying that cylinder support was planned and in general it was easy to get a general idea of what he had in mind. I did use a pretty simplistic method of forming the curve normals; really there should be a hairNormalBuffer to pass in normals information, but I wasn't comfortable making quite that big a change in the first patch.

So, my initial motivation was a bug with Strip hair. The problem with rendering with billboards like Strip mode does is that it doesn't work if the camera is looking down the hair; you get lots of nasty twisting artifacts. This isn't a big deal for fine hair strands but is for anime style hair where the strands are really thick. Once I realized this was unsolvable I noticed Clement's comments on planned support for cylinder hair, and I figured I'd implement it.