Announcement

Collapse
No announcement yet.

Vray Texture Bake with DR Submission to Thinkbox Deadline

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

  • Vray Texture Bake with DR Submission to Thinkbox Deadline

    Dear all,

    I know this might not be the right forum for the request, but since my experience was that this forum here is the one with the most knowledge and responsiveness, I will try to post it here.

    I have successfully updated our own pipeline scripts to support the new “Bake to texture” Feature within 3dsmax, formerly it was “Render to texture”. What I am failing at is to submit the bake job optionally with Distributed Rendering. I mean I can set the flag and the servers start to calculate together the prepass, but when rendering the final image, they go off and restart, never finishing the rendering.
    Did anybody have the same issue?
    I submit a script-job for texturebaking, and i manipulate the amount of frames to let for example 5 slaves join the task, as I am used to do it for rendering large images.

    Here are some excerpts of the code:
    SMTDSettings.DBR = true
    SMTDSettings.DBRServers = 5
    SMTDSettings.DBRUse3dsCmd = false
    SMTDSettings.ForceWorkstationMode = false
    SMTDSettings.UseSilentMode = false

    SMTDSettings.SubmitAsMXSJob = true
    SMTDSettings.isBakeJob = true
    SMTDSettings.BakeJobOneObjectPerTask = true
    SMTD_objsToBake = #(…)

    Also I use these settings, but they do not have an effect:
    SMTDSettings.UseCustomFrameList = true
    SMTDSettings.CustomFrameList = #(0,1,2,3,4)

    Directly in the Submitinfofile i then manipulated the frameslist, since it doesn’t update through the above settings, here i takes as many frames as i want farm slaves together with master to join the job:
    Frames=0,1,2,3,4
    Robert

    Max, VRay, Fusion:

    https://www.youtube.com/watch?v=g5fSLrVzpxg
    https://www.youtube.com/watch?v=bpmJgTb_9Ro

  • #2
    Dear Chaosgroup team, just a question, is it at all possible, to bake textures with the new scripts/UI in 3dsmax (Bake to texture instead of render to texture) in Distributed Render Mode?

    I mean the following:
    Baking with the new Baketexture instead of the old Rendertotexture
    Submitting the job as Maxscriptjob, not as 3dsmaxcommand-Job to deadline with own submission script, so that the number of frames = the number of master and slaves. Master gets the scene and distributes it to the slaves, as it works for rendering stills.
    I got this to work until the gi was calculated by the slave(s), but as soon as the slaves start to render the beauty-pass, the 3dsmax-instance on the slaves restarts.
    Master is set to not render, just to distribute, hosts are not saved in the scene.
    Master is not in workstation mode either.

    Probably I need to check the logfiles on the slaves in the moment when the vrayspawner restarts the 3dsmax-instance.
    Doing it locally works, I mean when I start the scene on my local PC and submit a vrayspawner-job to the farm to reserve explicitely some servers, then they render correctly in distributed mode the texture to bake.
    Last edited by Robert1977; 19-01-2025, 11:56 AM.
    Robert

    Max, VRay, Fusion:

    https://www.youtube.com/watch?v=g5fSLrVzpxg
    https://www.youtube.com/watch?v=bpmJgTb_9Ro

    Comment


    • #3
      Originally posted by Robert1977 View Post
      Dear Chaosgroup team, just a question, is it at all possible, to bake textures with the new scripts/UI in 3dsmax (Bake to texture instead of render to texture) in Distributed Render Mode?
      Yes, it is. Just tested it and it works fine.

      Originally posted by Robert1977 View Post
      Probably I need to check the logfiles on the slaves in the moment when the vrayspawner restarts the 3dsmax-instance.
      I guess your script does send the Bake to Texture job properly and indeed you should check the logs.

      Originally posted by Robert1977 View Post
      Doing it locally works, I mean when I start the scene on my local PC and submit a vrayspawner-job to the farm to reserve explicitely some servers, then they render correctly in distributed mode the texture to bake.
      So, you're saying that it works fine if you are not using Deadline? If so, it seems there must be something else to set up in Deadline. I suggest you write in the Thinkbox forums, since there they will certainly know more. Otherwise, I've found this, however, I can't seem to make it work for f.e. 3ds Max 2024 and can't find any more info if it is supported or not.​​
      Aleksandar Hadzhiev | chaos.com
      Chaos Support Representative | contact us

      Comment


      • #4
        Hey, thanks for the answer.
        The link you send points to the workflow submitter script Deadline team wrote to support the new Bake-To-texture feature (instead of render to texture) as deadline-job. I use also Bake-to-texture (with own script submission) and submission seems to works well in the beginning. On deadline, it is a maxscriptjob. If sent without distributed flag, then it works fine on the farm, texture will be baked. One master opens the scene and renders the texture fine, completes and closes. Issues are only when doing distributed. The workflow script that you send the link to doesn't have the option for distributed either, but this doesnt mean that it shouldnt work if submit properly, i would say.
        Yes I need to check the logs probably.
        Also when doing bake to texture locally with having send a distributed job to the farm (reserves the slaves for my local machine), then it works as well.
        Just think it has something to do with sending it in the way to the farm, that the master gets frame 0 and slaves frames 1-n. They might not "understand", that they bake a texture, not doing a rendering, so they restart when entering the beauty pass. But this might be a wrong conclusion. Also GI is not a problem I think, i checked with and without saving and using it. when gi switched off, i have the same issue. Yes, probably i need to check the Deadline forum.
        Thanks.
        Last edited by Robert1977; 21-01-2025, 05:46 AM.
        Robert

        Max, VRay, Fusion:

        https://www.youtube.com/watch?v=g5fSLrVzpxg
        https://www.youtube.com/watch?v=bpmJgTb_9Ro

        Comment


        • #5
          Unfortunately, the vraylogfile of the slave in DR mode is not very helpful. Slave stops after beauty rendering should start:

          [2025/Jan/21|18:51:22] Building light cache.
          [2025/Jan/21|18:51:22] Tracing 250000 image samples for light cache in 64 passes.
          [2025/Jan/21|18:51:22] Setting up 48 thread(s)
          --here bitmap buffers of project textures where created
          [2025/Jan/21|18:51:26] 54 % completed.
          [2025/Jan/21|18:51:26] Threads completed
          [2025/Jan/21|18:51:26] Merging light cache passes.
          [2025/Jan/21|18:51:26] Setting up 8 thread(s)
          [2025/Jan/21|18:51:26] Threads completed
          [2025/Jan/21|18:51:26] Light cache contains 901 samples.
          [2025/Jan/21|18:51:26] Light cache samples collected; compiling lookup tree.
          [2025/Jan/21|18:51:26] Light cache base memory usage is 0.2 MB.
          [2025/Jan/21|18:51:26] Using premultiplied light cache.
          [2025/Jan/21|18:51:26] 1 interpolation maps registered
          [2025/Jan/21|18:51:26] Rendering interpolation maps with minRate=-3 and maxRate=-1
          [2025/Jan/21|18:51:26] Setting up 48 thread(s)
          [2025/Jan/21|18:51:26] Threads completed
          [2025/Jan/21|18:51:26] Calling endPass() on irradiance maps
          [2025/Jan/21|18:51:26] Calling prePassDone() on irradiance maps
          [2025/Jan/21|18:51:26] Image prepass completed.
          [2025/Jan/21|18:51:26] Rendering image.
          [2025/Jan/21|18:51:26] Setting up 48 thread(s)

          The log of the master says that it loses the connection to the slave (as said, this doesnt happen when submitting a render job with distributed rendering to the farm). Maybe it's because it is a scriptjob, not a "normal" job?

          [2025/Jan/21|18:48:48] Rendering frame region (0,0)-(2048,1024).
          [2025/Jan/21|18:48:48] Light cache sample size is 184 bytes.
          [2025/Jan/21|18:48:48] Light cache built state is 0
          [2025/Jan/21|18:48:48] 1 interpolation maps registered
          [2025/Jan/21|18:48:48] Rendering interpolation maps with minRate=-3 and maxRate=-1
          [2025/Jan/21|18:48:48] Setting up 1 thread(s)
          [2025/Jan/21|18:48:51] Server 10.0.22.109:20204: Scene loaded; starting render
          [2025/Jan/21|18:48:52] Server 10.0.22.109:20204: Starting frame 0
          [2025/Jan/21|18:48:57] Threads completed
          [2025/Jan/21|18:48:57] Calling endPass() on irradiance maps
          [2025/Jan/21|18:48:57] Calling prePassDone() on irradiance maps
          [2025/Jan/21|18:48:57] Image prepass completed.
          [2025/Jan/21|18:48:57] Rendering image.
          [2025/Jan/21|18:48:57] Setting up 1 thread(s)
          [2025/Jan/21|18:48:58] Sending 2120500 bytes of irradiance map to vrwrk112
          [2025/Jan/21|18:49:29] warning: Render host vrwrk112 (10.0.22.109:20204) is not responding
          [2025/Jan/21|18:49:29] warning: Server dropped and there are no more render hosts that can work on the scene. Waiting for a host to connect...
          [2025/Jan/21|18:51:18] TM_SERVER_STARTED received from 10.0.22.109:20204
          [2025/Jan/21|18:51:18] Render host 10.0.22.109:20204 added
          [2025/Jan/21|18:51:18] Received TM_GET_CAPABILITIES from 10.0.22.109:20204
          [2025/Jan/21|18:51:18] Scene transferred to vrwrk112:20204
          [2025/Jan/21|18:51:21] Server 10.0.22.109:20204: Scene loaded; starting render
          [2025/Jan/21|18:51:22] Server 10.0.22.109:20204: Starting frame 0
          [2025/Jan/21|18:51:26] Sending 2120500 bytes of irradiance map to vrwrk112
          [2025/Jan/21|18:51:57] warning: Render host vrwrk112 (10.0.22.109:20204) is not responding
          [2025/Jan/21|18:51:57] warning: Server dropped and there are no more render hosts that can work on the scene. Waiting for a host to connect...​
          Last edited by Robert1977; 21-01-2025, 11:06 AM.
          Robert

          Max, VRay, Fusion:

          https://www.youtube.com/watch?v=g5fSLrVzpxg
          https://www.youtube.com/watch?v=bpmJgTb_9Ro

          Comment


          • #6
            Not sure, but I found this thread, where Ivan says to send DR jobs to Deadline you also need to send a VRaySpawner job so that Deadline starts the VRaySpawners. Maybe this is why you lose connection to the slaves.

            EDIT: Although, I see that you have a line that enables the DBR option, which should do it automatically. I guess you can try it manually. Otherwise, I'll see if somebody more competent in Deadline can provide some assistance.
            Last edited by hermit.crab; 22-01-2025, 03:12 AM.
            Aleksandar Hadzhiev | chaos.com
            Chaos Support Representative | contact us

            Comment


            • #7
              Hey,

              the vrayspawner-job needs to be send to deadline, if you want to reserve servers for distributed rendering on your local PC. This is called "offload"-job, as I understood. I tried this out and it worked with bake-to-texture.
              The other thing is "DR"-job, which means, you send the job to the farm completely, frame 0 is the master, frame 1-n the slaves, and communication is done automatically. This is what I want.
              The vray_cfg-file is changed on the master by deadline, also the vrayspawners are started on the slaves automatically. This is how i try to send the bakejob and how the distributed rendering for big images work for me.
              Just for information, the "Bake to texture"-feature doesn't require the job to be sent as bake-job anymore, since this was targeted at the old "Render-to-texture"-Method. But still it is a scriptjob, and no 3dsmax-command-job.

              What I want to check next is to start the master computer on the farm in workstation mode, currently it started in server mode, without taking a license.

              Thanks for your endeavours to help.
              Robert

              Max, VRay, Fusion:

              https://www.youtube.com/watch?v=g5fSLrVzpxg
              https://www.youtube.com/watch?v=bpmJgTb_9Ro

              Comment


              • #8
                I think I got it. If the job is sent to Deadline with the option "Render in Server Mode" = false, which means that 3dsmax should be started in workstation mode, than it works, the slaves also render the beauty reliable. The disadvantage is, that it then takes a license.
                So obviously without that option, distributed baking as a scriptjob doesnt work reliable. Probably all script jobs need that option, if they should run distributed. But didn't make a comparison with the old style texturebaking ("render to texture" instead of "bake to texture").
                Last edited by Robert1977; 23-01-2025, 02:11 AM.
                Robert

                Max, VRay, Fusion:

                https://www.youtube.com/watch?v=g5fSLrVzpxg
                https://www.youtube.com/watch?v=bpmJgTb_9Ro

                Comment


                • #9
                  Originally posted by Robert1977 View Post
                  I think I got it. If the job is sent to Deadline with the option "Render in Server Mode" = false, which means that 3dsmax should be started in workstation mode, than it works, the slaves also render the beauty reliable. The disadvantage is, that it then takes a license.
                  So obviously without that option, distributed baking as a scriptjob doesnt work reliable. Probably all script jobs need that option, if they should run distributed. But didn't make a comparison with the old style texturebaking ("render to texture" instead of "bake to texture").
                  Glad you found the culprit. Mind if you share your script so we can do a bit of testing on our side?
                  Aleksandar Hadzhiev | chaos.com
                  Chaos Support Representative | contact us

                  Comment


                  • #10
                    No problem, I can share. Just need to separate them from the rest of the scripts a bit and clean them up, so that it is useful for testing. Thanks for the offer!
                    Robert

                    Max, VRay, Fusion:

                    https://www.youtube.com/watch?v=g5fSLrVzpxg
                    https://www.youtube.com/watch?v=bpmJgTb_9Ro

                    Comment

                    Working...
                    X