Announcement

Collapse
No announcement yet.

Vray render to Nuke!!

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

  • Vray render to Nuke!!

    To my personal work need and some secret deal with Vlado, I created this render to Nuke plugins.(And my first post!!)
    On Vray4Maya side is pretty transparent, you just need post translate python to enable this output mode.
    On Nuke side setup wise is dead simple, supports render elements, Nuke's DiskCache node(for A/B compare and history).

    Note: this current release only supports vray 64 bits version, and Nuke 6.3 64 bits version on Windows 64bits platform only.
    So for 32 bits Windows(you should upgrade now), MacOS(if someone donate me a Mac), Linux( possibly in the future) support is NOT in this release.

    And this is provided AS-IS, no sneaky stuff, all working, not going to expire(for this version), and FREE!
    It would also slowdown render time a bit, caused by all the memory copying, which I'm already in discussion with Vlado.
    **IMPORTANT** Please don't change Nuke's frame number during rendering, it will likely mess up DiskCache node's cache.
    Any feedback and bug report is still welcome, just don't expect I'll do it in a day.

    Here is the link( only 97KB for zip attachment, O_o )
    https://www.asuswebstorage.com/navig...D70773CC8D0274

    Here is the install detail(also included in the zip).
    A. On NUKE side, choose your nuke version

    1. Copy NukeBuffer.dll to
    C:\Users\[your user name]\.nuke

    2.in the same dir create a menu.py and paste following lines, if you already have something setup , just do your thing.
    Code:
    m = nuke.menu( 'Nodes' )
    myMenu = m.addMenu('Custom')
    myMenu.addCommand( 'NukeBuffer', lambda: nuke.createNode( 'NukeBuffer' ) )

    B. On Vray 4 Maya side

    1.remember to set these 2 environment variable so vray can find plugin in maya or standalone mode.
    VRAY_FOR_MAYA2012_PLUGINS_x64
    VRAY_PLUGINS_x64


    2.in maya's vray render global->postTranslatePython, past following lines.
    Code:
    from vray.utils import *
    nkOutput = create( "NukeOutput", "nkOutput1" )
    nkOutput.set( "port", 9201 )
    nkOutput.set( "hostname", "localhost" )
    3. Using other 3D package other than Maya?
    The idea would be similar, find place to inject output nodes to your vrscene.
    Last edited by reny; 31-10-2012, 10:11 PM. Reason: update link with Nuke 7.0b81 support

  • #2
    neat! Maybe some screencaps or a short video to show how it's working?
    always curious...

    Comment


    • #3
      I hope I have time and equipment to create a video for this. XD
      Maya setting to get output plugin working.
      Click image for larger version

Name:	maya_setup.png
Views:	1
Size:	13.5 KB
ID:	845210
      During Rendering
      Click image for larger version

Name:	duringRender.png
Views:	1
Size:	76.6 KB
ID:	845211
      You can view render element during render as well. As in VFB.
      Click image for larger version

Name:	re_duringRender.png
Views:	1
Size:	126.2 KB
ID:	845212
      When rendering over existing image, NukeBuffer will behave like VFB.(no wipe)
      Click image for larger version

Name:	duringRenderOver.png
Views:	1
Size:	126.1 KB
ID:	845209
      You can use shuffle node directly from the NukeBuffer and start comping.
      Click image for larger version

Name:	re_namefromvray.png
Views:	1
Size:	18.2 KB
ID:	845208
      Last edited by reny; 03-04-2012, 01:08 PM.

      Comment


      • #4
        Sounds really good. Can't wait to try it.
        Thanks.
        Yannick.
        Portfolio: http://www.cgifocus.co.uk

        Comment


        • #5
          You can A/B compare with DiskCache node.
          Work flow is like this.
          1.Render a image, wait until VRay log say it's done.
          2.in Nuke switch to next frame while view through DiskCache node.
          3.repeat as much as needed.
          You always see the latest if view directly from NukeBuffer, and specific cached frame when from DiskCache node.
          You can also update a frame that you don't want.
          And hit clear hash button when your disk cache is mess up or you want a fresh start.

          And the wicked thing is after a session of tweaking and stuff.
          You can render out a image sequence from the disk cache node to show progression and changes you made.
          Click image for larger version

Name:	ab_compare.png
Views:	1
Size:	132.1 KB
ID:	845214
          Only 2 knobs, port number, and "Clear Hash" button to force DiskCache node to give up all the cached result.
          Click image for larger version

Name:	nukeBuffer.png
Views:	1
Size:	7.2 KB
ID:	845213
          Last edited by reny; 03-04-2012, 01:20 PM.

          Comment


          • #6
            cool! it actually reminds me a bit of this thing from weeks ago... http://vimeo.com/j3pnyc/using-nuke-a...ny-3d-renderer
            @ reny: you mentioned about the render hit. Will this be addressed in the future?
            always curious...

            Comment


            • #7
              Yes, that inspired me to do this, in fact, why I did this is because I searched on internet that it's really a no go to compile cortex on Windows platform.
              (Even though I worked for IE for almost 3 years, but they use linux and my current company use Windows).
              So I did this in order to get me more flexibility and make it somewhat better.
              The NukeBuffer I did actually reference some part of code that was available in the cortex project Nuke part.
              But I did a lot customized stuff in order to get behavior like what you'd expect from a exr file,
              the node I did fully utilize the Nuke cache mechanism, thus you can keep history with DiskCache node.

              About the performance hit, it's more obvious when your render is fast, ex. originally 2 seconds render with VFB would be 5 seconds with NukeBuffer.
              But the render test I did in the screenshot is around 2:09 to VFB, but almost the same with NukeBuffer.( on a 2 proc 12 core total Xeon workstation. )
              The main bottleneck is the speed of copying buffer block from vray's PixelBufferInterface, but with longer render time,
              it would be down to minimum since you wait for bucket to finish and not for bucket to copy and transfer.

              Comment


              • #8
                Looks really cool. Looking forward to the possible linux support

                Comment


                • #9
                  Thank you for your great work!!!
                  It is very nice indeed.

                  Comment


                  • #10
                    Many thanks for doing and sharing this, looks really interesting !

                    Comment


                    • #11
                      Wow! Thanks to your work!!

                      Comment


                      • #12
                        Thanks alot. It is awesome, dude! Thumps up!

                        Comment


                        • #13
                          Very great !
                          A linux64 version will be awesome !
                          Last edited by bigbossfr; 11-04-2012, 01:53 AM.
                          www.deex.info

                          Comment


                          • #14
                            Mac version will be sweet ... I know is hard ...

                            Comment


                            • #15
                              Hi all,
                              Can you confirm that it doesn't work with IPR/Vray RT ?

                              Thanks
                              Last edited by bigbossfr; 24-07-2012, 10:29 AM.
                              www.deex.info

                              Comment

                              Working...
                              X