Announcement

Collapse
No announcement yet.

Vray as interactive activeshade renderer?

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

  • Vray as interactive activeshade renderer?

    Hi,

    it is obvious that VrayRT is completely different engine. And while it tries to support most of the things, the output is still far from similar, and as Vlado said, some things will never be supported, like substitute modifier (necessary for custom proxy creation).

    Seeing how well other interactive engines work, it really leaves me with impression that approach to interactive rendering in Vray is going in wrong direction. Interactive rendering loses all it's appear extremely quickly when you realize you are working on different image than what your final production render will be. Even Mental Ray, which now introduced interactive rendering mode, renders output identical to final beauty render. Sure it's unusable (you tweak 10 things and you have to restart activeshade mode 10 times for every change to take effect), but it's 1:1 with final output which is extremely important.

    So the idea is, if it would be possible to use Vray, not RT, just Vray, as an interactive renderer. On the fly BVH reconstruction should not be that hard to do. We now have progressive rendering in main Vray engine, so that's one step closer. Irradiance cache could be done progressively like Modo has shown. Only thing remaining is light cache, but i believe it could be combined with IC in one progressive caching solution for interactive rendering. It would shade probably slightly differently than final frame, but some GI blurriness is acceptable for previews, as long as material and light shading works, and all the modifiers work properly like in final frame output.

    Last problem i could see is displacement, but that could be handled as well. For example, geometry would be tessellated and displaced only once when initializing interactive rendering, and stay that way. If user changed camera angle, and wanted to preview displacement, there would be a button in activeshade menu to refresh displacement, which would re-generate displacement from new camera angle. This would be a tradeoff, but still possible i think, unlike on-the-fly tessellation and displacement, which would probably kill the performance.

  • #2
    In 3ds Max, this is very very hard to do. This is because V-Ray uses components from 3ds Max (meshes, textures and lights) during rendering, and these components may change or disappear from the scene without any warning to the renderer - leading usually to crashes. Mental ray works because Autodesk recoded all those components from scratch and they have duplicates for mental ray (much like we export everything to V-Ray plugins for V-Ray RT). The downside of this approach is that 3rd party textures that use the 3ds Max rendering SDK do not work - and unfortunately these are very widely used. Another hurdle is that 3ds Max was designed to be in one of two states - interactive mode or rendering mode, and many objects produce different results depending on that. Switching Max from interactive to render mode and vice versa is expensive and not practical for interactive rendering.

    Now one can certainly try to find a way around the above problems; the issue is that it requires a lot of hacks, and while it is very possible to get to some usable point, it's very difficult to keep the whole thing stable across all the different things a user can do in 3ds Max. The 3ds Max developers are aware of all these issues, and perhaps they will find ways to make the whole thing work more reliably. The system in Softimage f.e. is not a bad one, but at the same time it took many iterations and releases of Softimage to get it working.

    Things are very different with V-Ray for Maya, V-Ray for Modo etc, where V-Ray RT is the production V-Ray renderer running in progressive mode (minus the irradiance map and light cache, but this is more of an artificial limitation than a technical one).

    Best regards,
    Vlado
    Last edited by vlado; 22-08-2014, 01:04 AM.
    I only act like I know everything, Rogers.

    Comment


    • #3
      It's the only option i can really think of.

      I've spent past 8 months just trying to find any usable interactive rendering workflow in 3ds Max, but i was not able to find one. Closest was Octane, which bypassed activeshade completely by writing their own interactive rendering interface AFAIK. But Octane, being GPU renderer, is not suited for complex scene production, and it's material system is kind of PITA.

      Vray is currently the most capable and universal renderer for 3ds Max, but we are arriving at the point where interactive rendering is a standard that saves a lot of time, and therefore money, yet i was not able to use Vray RT even once without any problems. Every single time i tried to use interactive workflow with Vray, it backfired, and i had to spend a lot of tile rolling back and fixing things in actual production Vray renderer.

      As long as Vray RT is different engine, i do not think it will ever be actually usable for interactive workflow. It will just always remain that tool you run when you need to align your sun angle without need to hit F9 key too many times.

      Comment


      • #4
        Hehe, I know how you feel, and believe me, if we could get the whole RT stuff out of the way and just use the regular V-Ray for active shade in 3ds Max, I would be the happiest person - just imagine the amount of work it would save us.

        Btw, there is also another option - we can make the production V-Ray to be the same as RT very easily (still supporting stuff like irradiance map/light cache etc); this will remove the issue of render differences, but of course, introduces a whole other set of problems But again, on the other hand, will make V-Ray a bit faster - all the 3ds Max stuff that we need to support adds to the render time...

        Best regards,
        Vlado
        Last edited by vlado; 22-08-2014, 02:20 AM.
        I only act like I know everything, Rogers.

        Comment


        • #5
          That would basically mean just removing lots of supported features, wouldn't it? I mean, sure some features could be abandoned in favor of unification, but there are some that VrayRT does not support, which i can not imagine working without, such as:

          Hair
          Particle age
          Vertex Color
          Environment fog (this is purely Vray one, not Max, so it's strange it does not work wirth RT)
          And some of the modifiers that output something different to renderer than what they display in viewport.

          Anyway, AFAIK, Autodesk was supposed to improve rendering notifications in 2015, so maybe it would be possible to do something better at the cost of supporting only 2015 and newer versions.

          Or maybe doing what Octane did, and bypassing activeshade completely?

          Comment


          • #6
            Originally posted by Recon442 View Post
            That would basically mean just removing lots of supported features, wouldn't it? I mean, sure some features could be abandoned in favor of unification, but there are some that VrayRT does not support, which i can not imagine working without, such as:

            Hair
            Particle age
            Vertex Color
            Environment fog (this is purely Vray one, not Max, so it's strange it does not work wirth RT)
            And some of the modifiers that output something different to renderer than what they display in viewport.
            No, actually the CPU RT engine itself supports all of that stuff just fine and it works f.e. in Maya. Getting these particular things to work in RT in 3ds Max is also completely possible and somewhere on the "to do" list - we just need to do the translation to the respective V-Ray plugins.

            Anyway, AFAIK, Autodesk was supposed to improve rendering notifications in 2015, so maybe it would be possible to do something better at the cost of supporting only 2015 and newer versions.
            No, they are not there yet.

            Or maybe doing what Octane did, and bypassing activeshade completely?
            Octane does not use any native 3ds Max components directly, similar to V-Ray RT. So essentially, they only have a "RT" style of render.

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

            Comment


            • #7
              I see...

              Well... looks like I just picked a really bad DCC software to use then...

              Comment


              • #8
                Well, I'm sure things will improve

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

                Comment


                • #9
                  I'm in architectural so I see no benefit in going to Maya. The problem I have with RT (although I actually do like to check sun angles now and then ) is that it somewhat forces me to take a hardware stand, I either spend my money on CUDAs or render cores. One or two Titan buys a fair chunk of Xeon. Using progressive render in combination with region brings me close to the benefits I see with RT although it is alot of clicking to re-render.

                  Comment


                  • #10
                    Nicinus:
                    You should keep in mind that Vray RT does not equal CUDA. There's also CPU mode in Vray RT, and it's the usable one. GPU mode does not support almost anything.

                    Vlado:

                    I am actually starting to like that idea of making production Vray same as RT. Just add Vray Adv. into the list of Activeshade renderers, and give it same limitations as Vray RT CPU has That would work for me

                    Comment

                    Working...
                    X