LiveTrower Hello everyone, after my last post https://godotforums.org/d/33625-kajiya-kay-hair-rendering I mentioned I was working on a version of the Marschner shader for Godot, and now I've achieved it. You can find it here: https://github.com/LiveTrower/Marschner-Hair-Godot It might not be well optimized, but you can still modify it according to your needs. Note: I couldn't get the flowmap to work.
Tomcat LiveTrower Marschner shader for Godot Nice work. Maybe it makes sense to add a camera to the demo scene so that you can evaluate it immediately? It's interesting to try to make growing hair. 💇
LiveTrower Tomcat Honestly, I don't know how to grow hair since the goal was only to create a realistic hair shader to make photorealistic characters in Godot.
Megalomaniak Interesting, though I wonder if it couldn't be further improved with some stochastic filtering for sample reconstruction to fill in the 'empty samples' and achieve an effective anti aliasing. But stochastic filtering is black magic to me and definitely not a beginner area, or even intermediate level stuff I would say.
LiveTrower Megalomaniak To reduce some of the noise, you can use TAA or FSR2, or you can also choose to use alpha scissor by changing ALPHA_HASH_SCALE = 0.01; to ALPHA_SCISSOR_THRESHOLD = 0.5;
Megalomaniak LiveTrower you can use TAA or FSR2, Yes, these are more general purpose stochastic solvers. Which might be enough. I was thinking and linking what I expect to be a more hair optimized solution. But it was just an observation, is all. 😉
Tomcat LiveTrower Honestly, I don't know how to grow hair Yeah, that's a problem. the goal was only to create a realistic hair shader to make photorealistic characters in Godot. MakeHuman allows to make realistic characters, but hair doesn't transfer well into the engine. So your work will help to create a character generator in Godot.
LiveTrower Folks, I have successfully implemented the flowmap and also an automatic tangent mapping, so there's no strict need to use the flowmap. Here's a comparison image between the before and after so you can see the significant differences: