Announcement

Collapse
No announcement yet.

TressFX 4.0 hair rendering

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TressFX 4.0 hair rendering

    Hi all!

    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.

    Click image for larger version

Name:	lara_3frame.jpg
Views:	1
Size:	292.0 KB
ID:	1217515


    And it is open sourced.

    Github page

    I wanted to integrate it for about 3 years now and about 3 weeks ago version 4.0 came out in a form that allows integration into UE.

    Current status of the integration:

    1) Import .tfx assets.
    2) basic component.
    3) Modified UE's D3D11RHI to add missing DirectX capabilities.
    4) basic ShortCut rendering.





    The next step would be adding simulation and "skinning" it to a skeletal mash.

    Oh one last thing...
    I am keeping open sourced!

    You can follow the progress here

    Please note:
    1) The project is in is very initial steps and going in without debugger attached is not recommended :P (RenderDoc too).
    2) 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.
    Attached Files
    Last edited by lion032; 05-01-2017, 12:56 PM.

  • #2
    That is really awesome! Good to see someone giving some of the AMD libraries some love :P 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.

    Comment


    • #3
      Originally posted by Derjyn View Post
      That is really awesome! Good to see someone giving some of the AMD libraries some love :P 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.
      I've been focusing mostly on modifying the RHI and haven't gotten to profiling yet.

      Comment


      • #4
        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?!
        | Finite State Machine | Object-Pool Plugin | Auto-Save Plugin | Anti-Cheat Plugin |

        Comment


        • #5
          Originally posted by BrUnO XaVIeR View Post
          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.
          Last edited by lion032; 05-01-2017, 06:56 PM.

          Comment


          • #6
            Hi [MENTION=317]lion032[/MENTION] is there a chance for exporter for Blender cause AMD only have exporter for Maya?

            Comment


            • #7
              No plans for blander plugin at this point

              Comment


              • #8
                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.
                Last edited by Tymax; 05-03-2017, 04:49 PM.

                Comment


                • #9
                  Very nice! Do you have a video of how it looks like in UE4?
                  Easy to use UMG Mini Map on the UE4 Marketplace.
                  Forum thread: https://forums.unrealengine.com/show...-Plug-and-Play

                  Comment


                  • #10
                    No video yet.

                    Comment


                    • #11
                      Quick update:

                      1) I managed to leverage the forward rendering lighting system to light the hair model while still using the deferred renderer.
                      2) The frame work for simulation is there and what is left is to stitch it all together.

                      Attached Files

                      Comment


                      • #12
                        Originally posted by lion032 View Post
                        Quick update
                        You are a god sir, keep it up, finally there will be an alternative to hairworks.

                        Comment


                        • #13
                          Hi Lion,

                          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.

                          Your assistance would be appreciated.
                          Thanks

                          Comment


                          • #14
                            Originally posted by Mayne-AMD View Post
                            Hi Lion,

                            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.

                            Your assistance would be appreciated.
                            Thanks
                            Hello Mayne!

                            It is a bug, I just fixed it and will push it.

                            I am working on a different approach based on how apex cloth is implemented.

                            Comment


                            • #15
                              So quick update simulation integration is almost done!

                              Comment

                              Working...
                              X