Announcement

Collapse
No announcement yet.

Introducing Version 2 V-Ray Scenes

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

  • Introducing Version 2 V-Ray Scenes

    With V-Ray 6 Update 1 we’ve introduced a new intermediate format for scene submission to Chaos Cloud. This format gives the following benefits:
    • More accurate rendering on Chaos Cloud. Many differences between local rendering and Chaos Cloud have been fixed due to intrinsic properties of the new format.
    • Reduced data size to upload to Chaos Cloud. The minimal reduction is around 24% for non-trivial scenes. But significantly better reduction was observed for many scenes.

    This format is used automatically when a scene is submitted to Chaos Cloud. You don’t have to do anything but upgrading to V-Ray 6 Update 1 when available to benefit from it.

    There are other improvements due to this new format but they are harder to quantify and list as a simple bullet point. If you want to get some sense for them continue reading this post.

    Deep Dive

    In a series of forum posts I aim to share more in-depth information about the workings of Chaos Cloud for the technically inclined among you. I will always try to include a simple summary like the one above so that one could get the point even when they don’t want to read a wall of text.

    Although the change of scene format has been mentioned in change logs already I think it warrants a bit more attention.

    The V-Ray Scene (.vrscene) Files

    In order to understand what the change is I would have to give you some context about how Cloud submission works in the first place. Don’t worry, it won’t be long or particularly complicated!

    When you are rendering on your local machine everything is straightforward. You have your scene loaded in the software of your choice (such as 3ds Max, Maya, SketchUp, etc.) and at some point you want to render it. Then V-Ray kicks in and uses the files on your computer in order to produce an output image.

    But what happens if you want to render this same scene in Chaos Cloud? Or on any other remote machine for that matter (because as you know “the cloud” is nothing more than “someone else’s machine”). Then you have to somehow transfer your scene and any accompanying files to this remote machine so V-Ray could use them while running there.

    With Chaos Cloud this process is automatic. “V-Ray for X” and the Chaos Cloud software work in tandem to find out which files have to be uploaded and then do that for you. But how do they do that? Everything in this post revolves around this interaction.

    Since day one Chaos Cloud has been using the V-Ray Scene files for this. I will also use just .vrscene for brevity from now on. The V-Ray running on your machine exports the scene in a .vrscene file which is then picked up by the Chaos Cloud software in order to upload the scene in its entirety. This includes the .vrscene file itself but also any other files mentioned in it. Other files may be mentioned explicitly but also implicitly. Remember that, it would be important later.

    One could say that the .vrscene file is native to Chaos Cloud. The cloud back-end software uses it directly on our servers to produce your output images.

    This works great but is not perfect. We could do better!

    Version 2 V-Ray Scenes

    So we did! With V-Ray 6 Update 1 we’re rolling out a new version of the .vrscene file (e.g. “Version 2”). It aims to make transferring scenes on a different machine easier. I will explain the main differences between the old .vrscene files and the new.

    Binary Data

    As you may know, the .vrscene file is a text file. But it also includes data such as geometry, materials, shaders and others. This data would be most efficiently stored in a binary format. But with “version 1” of the .vrscene files it is encoded in text format instead. Which causes .vrscene files to be much larger than strictly necessary in the ideal situation.

    With the “version 2” of the .vrscene format this is improved. Such data is stored in binary format in a separate file. The .vrscene file itself only includes references to parts of the binary files where its data is stored. This change is the main driver behind the scene size reduction of the new scene format.

    While at it we made another change aimed at reduced size. Previously the same piece of data could be repeated in the .vrscene file again and again. Imagine a 10MB geometry repeated for every frame in an animation, for example.

    With the “version 2” this has been changed so that only one instance of the data is stored in the binary file. The .vrscene file could include as many references to it as it likes but the actual data is stored only once. The effects of this change varies from scene to scene. For some it may reduce the overall size spectacularly but for others it may have no measurable effect.

    Explicit File Listing

    Previously the Chaos Cloud software had to infer which additional files it needs to upload by reading the .vrscene file itself. Which meant that if there are some new features exported to it, the Chaos Cloud Client application had to be updated so that it knows about any new files needed for correct rendering. Bugs could easily be (and sadly were) introduced.

    The “version 2” format fixes all of this by explicitly listing every file which is needed for correct rendering. This way any new features are “transparent” to the Cloud software. From your point of view this means that you will be asked to update it less frequently.

    To achieve this we had to go through all of the V-Ray plug-ins and make sure they are ready for the new format. And this was no easy task considering how many of them there are.

    As a result of this change some previously unknown bugs were resolved. So scenes which use the “version 2” format are already more accurate overall.

    Limitations

    Currently the Version 2 .vrscene file is only accessible when submitting to Chaos Cloud.

    Not absolutely all scenes could be exported to the “Version 2” .vrscene format. There is a small number of plug-ins (nodes) which prevent exporting to it. This is temporary and they would be updated with time. In case a scene has any of the plug-ins in question then it would be submitted to Chaos Cloud in the old “Version 1” format automatically.

    Examples

    All of the above is a lot of words. I want to show you some examples! They are the most exciting stuff, right?

    Scene Size Comparisons

    I will export some scenes from chaos.com/getting-started to versions 1 and 2 of the .vrscene and compare them. Note that I will compare the .vrscene file of the old format to the .vrscene + binary file + explicit file list of the new format. Any additional resources required for rendering are the same between the two.

    Tool Cabinet

    The “Tool Cabinet” scene went from 98 MB (v1) down to 44 MB (v2). This is 55% file size reduction.

    VFMax City

    The “VFMax City” scene went from 41 MB (v1) down to 32 MB (v2). This is 21% file size reduction.

    VFMaya Character

    The “VFMaya Character” scene went from 66 MB (v1) down to 46 MB (v2). This is 30% file size reduction.

    VFSU Interior

    The “VFSU Interior” scene went from 6.2 MB (v1) down to 2.9 MB (v2). This is 53% file size reduction.

    Rest assured that the scenes are not hand-picked in order to produce good results. They were the easiest for me to measure as I already had them lying around on my machine. The reduction is very representative of what we’ve seen in the wild. It also holds true for very large scenes. I don’t have such a big scene on hand to include in the examples but if previously you had to upload 100GB I will not be surprised if with the v2 scene format this is reduced to 50GB or less.

    Post (1/2) - Apparently you cannot post more than 5 images and the forum software is tricky with longer posts anyway.

  • #2
    Post (2/2)

    Correctness


    The list below is by no means exhaustive but the new format has fixed many bugs which were previously unknown to us. The problems only became apparent when we started comparing outputs from renders in Chaos Cloud when using the v1 and v2 scene formats.
    • Some animated characters with vraybitmap seemed to have “smeared” textures with the “version 1” format.

    Anima VrayBitMap
    • A hierarchy with alembic layers had its geometry totally off.

    Alembic Layers
    • Proxies alembic layers were not correctly rendered too. Even some textures were missing.

    Click image for larger version

Name:	proxy_alembiclayers.png
Views:	660
Size:	95.6 KB
ID:	1176394
    • User attributes in resource names were not working. For the next image I’ve used attributes for color and shape like so:


    [CODE]
    PluginType name {
    file="../tex/dn/tex-<color>-<shape>.png";
    }

    Node name {
    user_attributes="color=green;shape=arrow;";
    }
    [CODE]

    User Attributes
    • Instancer2 attributes for BitmapBuffer when a <token> is present in the file name were totally broken and did not work on Chaos Cloud. I don’t have a pretty picture for this one.

    There are probably many more.

    Conclusion


    Version 2 of the V-Ray Scene format is very useful for Chaos Cloud. Make sure to get V-Ray 6 Update 1 so that you could take advantage of it. Especially if you had any problems related to scene size or correctness before.
    Attached Files

    Comment


    • #3
      Sorry, it was in the text. The question is clear.

      "Currently the Version 2 .vrscene file is only accessible when submitting to Chaos Cloud."​
      Last edited by flat; 23-03-2023, 10:36 PM.

      OakCorp Japan - Yuji Yamauchi
      oakcorp.net
      v-ray.jp

      Comment


      • #4
        Out of curiosity, do you think you would benefit from eventually allowing the vrscene exporter to export to the v2 format? Other than what is explained in the "Limitaitons" section above my main concern is that it would produce three files instead of just one. The files being - 1) the .vrscene, 2) a file with binary data and 3) a file with the explicit listing of other files.

        Comment


        • #5
          Various improvements can be seen in v2. Doesn't this mean that not only Chaos Cloud rendering but also local V-Ray Standalone rendering will be improved?

          Can't we benefit from the improvements when exporting to Chaos Vantage, etc.?

          We can also expect better loading of each application's VRScene object.

          Since USD is becoming the standard in the industry, there is a possibility that resources will not be spent on exchanges in vrscene, but vrscene may be able to do things that USD cannot.​

          OakCorp Japan - Yuji Yamauchi
          oakcorp.net
          v-ray.jp

          Comment


          • #6
            For local rendering I see the size reduction as a benefit. All the things under "correctness" above do not apply for local rendering since it is already correct. Both v1 and v2 scenes would produce the same output when rendered locally on the machine which exported them.

            And unfortunately I don't understand what you meant when talking about USD scenes. Most probably it is my ignorance since I don't really know how USD scenes are actually used in the real world.

            Comment


            • #7
              All the things under "correctness" above do not apply for local rendering since it is already correct.
              Is it correct for local "V-Ray standalone" rendering as well?

              Is there a difference between rendering with Chaos Cloud and rendering with V-Ray Standalone in a local Renderfarm?

              .vrscene is great for porting scene data between other 3D platforms. .vrscene is great for porting scene data between other 3D platforms. (3ds Max <-> Maya, etc.)
              Chaos Tute
              https://www.chaos.com/blog/how-to-mo...n-applications

              Before USD, .vrscene was the only way to load scene data, including materials, into other applications.


              OakCorp Japan - Yuji Yamauchi
              oakcorp.net
              v-ray.jp

              Comment


              • #8
                Is it correct for local "V-Ray standalone" rendering as well?
                Yes. it is.

                Is there a difference between rendering with Chaos Cloud and rendering with V-Ray Standalone in a local Renderfarm?
                Well, I would say the only difference is the easy of use. With Chaos Cloud all the required assets would be collected automatically. Depending on how one renders on a local render farm, they may have to make sure assets are all transferred to the farm correctly. With all assets transferred correctly a local farm and Chaos Cloud should produce the same output.

                .vrscene is great for porting scene data between other 3D platforms. .vrscene is great for porting scene data between other 3D platforms. (3ds Max <-> Maya, etc.)
                Chaos Tute
                https://support.chaos.com/hc/en-us/a...aya-to-3ds-Max

                Before USD, .vrscene was the only way to load scene data, including materials, into other applications.​
                Thank you for the explanation! In this light both .vrscene formats have their pros and cons. The biggest benefit for the v1 vrscene is that it is a single file. There is no chances for "partial" transfers with it where some of the scene files are missing. But again, if done locally on the same machine there should be no difference in the outcome whether one uses v1 scene or v2 scene. Note that currently one cannot export to a v2 .vrscene except when submitting to Chaos Cloud. So the comparison is hypothetical.

                Comment

                Working...
                X