Wish: BatchRenderSnapshots or RenderQueue

As the title says, could we have an update to batch rendering to work with the way more useful Snapshots? So that whe can set layer states, lights, objects, materials, etc?

Snapshots already do most of the work of setting the scene up, but the command could also have: an option for custom resolution, custom quality, custom environment and every possible render setting for each render job. Since Snapshots were introduced

The ideal for me is that it could be as granular as the Houdini rendering queue is for setings, but it would be great if it were just as simple and efficitent as the After Effects/Premiere render queue.

When you have 52+ renders to do, it could be useful to just put them on a queue and not having to babysit Rhino for hours.

And in my specific case, I’m constantly working on files with hundreds of objects, and Rhino refuses to render with all of them on enabled, and I have to turn on and off each one, and BatchRenderNamedViews doesn’t work for that case.

Is there something like this planned for v9?

Here’s a quick script to render all snapshots to the desktop:

batchrender_snapshots_to_desktop.py (688 Bytes)

#! python 3
import scriptcontext as sc
import Rhino
import System

for snapshot in sc.doc.Snapshots.Names:
    rs = sc.doc.RenderSettings
    rs.RenderSource = Rhino.Render.RenderSettings.RenderingSources.SnapShot
    rs.Snapshot = snapshot
    sc.doc.RenderSettings = rs

    Rhino.RhinoApp.RunScript("_Render", False)

    folder = System.Environment.SpecialFolder.Desktop
    path = System.Environment.GetFolderPath(folder)
    filename = System.IO.Path.Combine(path, snapshot + "_snapshot_render.png")

    Rhino.RhinoApp.RunScript(f"-_SaveRenderWindowAs \"{filename}\"", False)
    Rhino.RhinoApp.RunScript("-CloseRenderWindow", False)
    
    print("rendered and saved ", filename)

Syntax error line 18, only got it working with:

Rhino.RhinoApp.RunScript(f"-_SaveRenderWindowAs \"{filename}", False)

The script still asks for manual closing of the render window and hiting enter again for each next snapshot, and it does not save anything to the desktop, but thank you for your help!

Could this it be a working tool inside to be shipped with Rhino and used by everyone?
It could be a really usefull tool for everyone that doesn’t rely on another software for rendering.

You are supposed to use _ScriptEditor and create a Python 3 script, copy&paste the script code into that.

Once the SaveRenderWindowAs line works properly the next line will close the render window for you.

1 Like