armory3d / armory

3D Engine with Blender Integration
https://armory3d.org
zlib License
3.05k stars 317 forks source link

Hair and Fur Rendering/Shading #6

Open zauberparacelsus opened 8 years ago

zauberparacelsus commented 8 years ago

Got another feature request: would it be possible to add support for hair and fur rendering to cyclesgame? While it is may or may not be possible to use blender's built-in hair simulation, I think it would be too intensive for realtime rendering if used as-is.

zauberparacelsus commented 8 years ago

Huh, I had forgotten I had posted a feature request under Lue.

JeannotLandry commented 8 years ago

How effective a shader like that is? Does it support dynamic movement of fur, or just static? Either way, it could be used for many things like carpet, plush, animals. Not sure how effective it would be on long hair? Most likely targeted at short hair/fur.

zauberparacelsus commented 8 years ago

@JeannotLandry I suppose this is two separate feature requests. Or maybe not.

Fur shading is generally done with the "Shells and Fins" method, the quality of which is determined by how many layers you're willing to render. And yes, it is frequently used for those things you mentioned.

Not entirely sure how long hair is done in realtime rendering. Support for PBR shading for both hair and fur does exist in UE4 and Unity5, generally through 3rd-party extensions.

JeannotLandry commented 8 years ago

Usually, long hair is done with simple planes and good quality alpha maps and normals. Well, that is how it used to be done. Not too sure how its handle now our days! However, I think in UE4 they still use that techniques for long hair, but the fur shader for short hair.

zauberparacelsus commented 8 years ago

Reposting this link from the original request I filed under Lue/Iron: https://github.com/sdao/fur-demo

There is also this, though it is specific to DirectX and I do not think it supports PBR rendering: http://www.xbdev.net/directx3dx/specialX/Fur/

HeadClot commented 7 years ago

@zauberparacelsus - I know that Neofur for unreal and Unity use shells.

https://youtu.be/QNy_FIAoP9U

mistajuliax commented 5 years ago

Hi @luboslenco ! Maybe an interesting research for hair real time rendering :

AMDTressFX : https://github.com/GPUOpen-Effects/TressFX

Here is a recent tressfx port to vulkan : https://github.com/CaffeineViking/vkhr

and there the forge framework tressfx port to vulkan by confettiFX : https://github.com/ConfettiFX/The-Forge, https://github.com/ConfettiFX/The-Forge/releases/tag/v1.22

Maybe a way to follow for Rt hair rendering in Armory :)

And Zootopia hair rendering tech paper : https://disney-animation.s3.amazonaws.com/uploads/production/publication_asset/152/asset/eurographics2016Fur_Smaller.pdf

and also Disney research papers for evreything : https://www.disneyanimation.com/technology/publications