For any that doesn’t know what TressFX is, TressFX is AMD’s hair rendering library and it was used in the new Tomb raider game (the one before the last one) and Deus Ex: Mankind Divided.
The project is in is very initial steps and going in without debugger attached is not recommended (RenderDoc too).
It is not a plugin and it requires a custom engine build, currently creating a plugin is impossible due to the D3D11RHI modification needed for it to work.
That is really awesome! Good to see someone giving some of the AMD libraries some love Keep it up!
What sort of performance metrics are there? Roughly, does it run pretty smoothly? Even in it’s infancy, I’d be curious if it was running nicely on a current-gen / mid-spec rig.
Someday everything will be plugins, leaving only engine core as the base;
If the RHI changes aren’t too big maybe could pull request and try to convert this to a plugin?!
What I changed requires changes to all of the other RHIs.
Making a pull request is something I consider doing but I need to implement those changes first (most of them are simply ignored when not implemented but I need to double check that).
Also currently it requires changes to the scene render targets and the deferred renderer itself.
I am designing a system that will allow adding custom passes and that is what will really allow rendering plugins.
Awesome project, definitely will keep track of this! I wish more ppl would start to get into the outstanding libs offered by AMD, unlike this ressource raping Nvidia stuff which only is playable on 1080TIs, and even then doesnt look all too good.
I’ve cloned your branch and started looking into it. I was hoping you could give me a small explanation on how to get the hair onto the screen. I’ve imported my .tfx and .tfxbone files, filled in their required parameters and put them into the TressFXComponent, however there is no hair on screen. It appears that the proxy won’t get created unless the resource isn’t NULL, however it creates the resource after it tries to create the proxy.
Asset rendering is now implemented using UE4 RHI interface only (should allow multi platform support out of the box, no third party graphics api dependent function calls).