Announcement

Collapse
No announcement yet.

Vray GPU and houdini hairgen doesn't play nice

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

  • Vray GPU and houdini hairgen doesn't play nice

    Hair both look different from cpu but also acts strange with transparency I think.

    I also had problems when trying to do a simple planar uv on some hair, to run a gradient colour across it, after trying a few things I switched to cpu and everything worked as you would expect.
    Just seems to be some problems generally with hairgen and GPU currently.

    cpu works fine of course (attached), but I think that is to be expected

  • #2
    Hey thomaskc ,

    one thing that comes to mind that may cause confusion is the difference between the generated geometry to represent the strands. When rendering with the CPU, the individual hairs are rendered as tubes. With the GPU, ribbons are used. You can disable Options -> Use Embree for Hair to check if that equalizes things although I doubt that would make any difference with a large number of hair strands.

    Could you upload a picture showing the difference between the two, or even better - a hip file with the hair only?

    Thank you!
    gosho.genchev@chaosgroup.com

    Comment


    • #3
      Hi Gosho,

      Thanks for the feedback, yes I will have a look, and should be able to upload the hipfile for the image shown above too. Stay tuned!

      Edit: "individual hairs are rendered as tubes. With the GPU, ribbons are used" Doesn't this mean they will basically never look the same? don't get a lot more shader/highlight level detail from the tubes? Also it sounds like the only option is to turn off embree for cpu, making it slower? to maybe match the gpu? where in reality it would be nice if the gpu matched the cpu with embree?

      Anyway I will try to do some testing tonight and upload a file if I can make it super obvious
      Last edited by thomaskc; 31-07-2019, 06:34 PM.

      Comment


      • #4
        https://www.dropbox.com/s/0wppetsg4a....bgeo.zip?dl=0
        scene file

        So I have attached two screernshots, only difference is I switch to GPU mode and hit render.

        The scene file attached has a filecache geo with it, feed that to the file cache in the "hair render and generate" node and it should all update and work.
        Attached Files

        Comment


        • #5
          Thank you! Managed to reproduce here - looks like a problem with light linking, splines and some of the V-Ray lights on the GPU. I'll keep you posted - this will hopefully go in the high priority list of issues. Replacing the Rect light with an Omni should at least give you something to work with in the mean time.

          gosho.genchev@chaosgroup.com

          Comment


          • #6
            Originally posted by Gosho.Genchev View Post
            Thank you! Managed to reproduce here - looks like a problem with light linking, splines and some of the V-Ray lights on the GPU. I'll keep you posted - this will hopefully go in the high priority list of issues. Replacing the Rect light with an Omni should at least give you something to work with in the mean time.
            Awesome!

            I've found another problem you can test within the same file. I will attach a few screenshots as it might be easier than trying to explain exactly what goes where.
            anyway I have attached a gradient texture and a screenshot of where to plug it in. as well as two quick screenshots of what the render result is between cpu (part of the material instructions) and gpu.

            Point is when the texture is hooked up, the cpu reads the uv's correctly and displays the gradient as colour, when switching to the GPU, this seems to not work.

            P.S in the attached I replaced the rec. light with an Omni as mentioned.

            Comment


            • #7
              Hey there,
              please set the UV -> Type to Channel and the Channel Index to 1.

              Another option is to set the UV -> Type to explicit and plug the 'distance_along_strand' output of a Hair Sampler VOP into the U input of the Image File VOP.

              This is something which we will definitely look to improve - pulling the UVs by name directly for hair on CUDA should be possible and works with regular geometry already.

              Hope that helps!
              gosho.genchev@chaosgroup.com

              Comment

              Working...
              X