Announcement

Collapse
No announcement yet.

alembic GPU cache and V-Ray

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

  • alembic GPU cache and V-Ray

    Hello,

    I'm messing around with GPU Caches in Maya and trying to figure out how viable they are for a V-Ray-centric pipeline. I can see that they're officially supported as a geometry type, but is there support for exporting V-Ray materials as part of the GPU cache? If not, is there another way to deal with material assignments for multiple meshes under a single cache? Are there other undocumented limitations I don't know about? There seems to be very little information out there about the format in general.

    Thanks!

  • #2
    For some reason it's a little-used feature with V-Ray so far, so there's definitely some parts lacking in such a pipeline. We can do anything that you need as far as the materal assignments go - the most simple I guess is just a file with a list of Alembic paths and the name of the corresponding materials. Would that work for you?

    Best regards,
    Vlado
    I only act like I know everything, Rogers.

    Comment


    • #3
      there is an interesting open source project for arnold goin on...
      would be a possible solution the get the same running for vray...

      https://www.youtube.com/watch?v=BcgN9Dbo2Ls
      https://groups.google.com/forum/?hl=...um/nozabctools
      Last edited by FSGFX; 31-03-2015, 05:02 AM.

      Comment


      • #4
        I haven't had the time yet, but we would like to start using alembic files for vray proxies. Just like how you can switch out the proxy representation to show whole mesh or a bbox, I would ideally like to somehow switch out the representation into a gpucache right from the vrayproxy node. Does this make sense?
        Best Regards,
        Fredrik

        Comment


        • #5
          I know that there is this project for Arnold; however I'm interested in how *you* would like things to work I've no idea if what was done for Arnold is best for most users - perhaps there are better ways to go about it.

          Best regards,
          Vlado
          I only act like I know everything, Rogers.

          Comment


          • #6
            The closest thing I can think of would be if V-Ray could load GPU caches in similarly to proxies... if a VRayMeshMtl with hooks to the original materials could be applied to the proxy, then we could render the GPU cache with all the original materials correctly applied. Is this possible?

            Comment


            • #7
              wouldnt that possible with scene assembly nodes...
              there is an option which version to use for rendering...

              Comment


              • #8
                Originally posted by galakgorr View Post
                The closest thing I can think of would be if V-Ray could load GPU caches in similarly to proxies... if a VRayMeshMtl with hooks to the original materials could be applied to the proxy, then we could render the GPU cache with all the original materials correctly applied. Is this possible?
                Actually V-Ray already renders GPU caches as proxies. We can allow the adding of a VRayMeshMtl to it, however you'll have to set up the material assignments manually - I don't think they are written in the .abc file... or are they?

                Best regards,
                Vlado
                Last edited by vlado; 31-03-2015, 12:34 PM.
                I only act like I know everything, Rogers.

                Comment


                • #9
                  Maya has an option to write material assignments to a GPU cache, but it only supports Phong and Lambert materials for some reason, making it functionally worthless. I'm not entirely sure how it handles these assignments... could be a custom string attribute added to the .abc or something?

                  Comment


                  • #10
                    Alembic has some very basic material schema, but it seems designed to support different renderers in theory. The difficulty is that the host application is doing the export and this schema doesn't support shading network. It must be a single material. We can probably store both in Alembic and FBX, a VRay specific string that contains vrscene or vrmat. But it's a matter of more research and work.
                    V-Ray/PhoenixFD for Maya developer

                    Comment


                    • #11
                      I've started messing with using gpu cache as standin for alembic proxies, you can display them in full resolution but the alembic proxy are the ones that actually get rendered. The gpu cache is simply parented under the ablembic proxy and with skip rendering turn on, and the alembic proxy with stand in turn on (still shows as a 1 cm box though). The shaders are attached through the shape slots on the vrmesh mtl node (you definitely need to script this part, our setup allow material assigned to both abc and abc proxy). Works pretty good so far.

                      Comment


                      • #12
                        Maybe my previous question got lost in translation... but would it somehow be possible to make a vray proxy represented as gpucache?

                        I see that there's a viewport override attribute, which can read another vrmesh/abc. Perhaps add a checkbox to translate this into a gpucache rather than the full abc?
                        Best Regards,
                        Fredrik

                        Comment


                        • #13
                          We'll be looking into that soon.

                          Best regards,
                          Vlado
                          I only act like I know everything, Rogers.

                          Comment


                          • #14
                            one thing I noticed with Maya's gpu cache is it always load the entire abc in memory. Id'd be nice for Vray to only load the cache for current frame if possible, otherwise it'l put your machine into swap when loading large abc files.

                            Comment


                            • #15
                              Yes, we already have an option to cache the geometry or not.
                              V-Ray/PhoenixFD for Maya developer

                              Comment

                              Working...
                              X