• Dear NewTek ( now Vizrt) community,
    We are merging and updating our forum to join it with the Vizrt Forum. Here's what you need to know:
    All existing threads, posts, knowledge articles, and user accounts will be seamlessly migrated.
    Once the merge is completed, the old forums will no longer be accessible.
    We are making this move to unite our Vizrt and NewTek forums, creating a new, enhanced experience for our community members and technology users.
    We will notify you once the change has been made and the new forum is live.
    Thank you for your continued support in our growing community!

"F9 render on NRC renderfarm" script?

vncnt

Well-known member
I'm looking for a script that sends the current frame (only) to the NRC renderfarm, so I can continue working on the current scene.

Current settings for Camera, Rendering (render range limited to the current frame), etc.
Default settings for output path and file.

No File Explorer, no file dragging to NRC Controller, no last minute setting changes.
Just Ctrl+Alt+F9 and continue.

Does it exist already?
 
The SendFrameToNRC plugin exists now, and it's free!
Simply hit the Send button and watch your NRC Controller processing your request (the current frame only!).
The requested task is pointing to its own LWS scene file.

Description in the included readme file.

It also has a remote controller script, to be assigned to any keyboard key, so you don't even have to (re-)open the master plugin.
[Ctrl + Alt + F9] seems logical to me.

Let me know how this works for you!

SendFrameToNRC.jpg
 

Attachments

  • Legato_SendFrameToNRC.zip
    31.9 KB · Views: 181
I've improved the setup for this SendFrameToNRC plugin.
The remote script now checks the availability of the master script, and adds the master script automatically when absent.
It opens the dialog so you can check the path settings before clicking button Send Current Frame.

Ideas for new features?
 

Attachments

  • Legato_SendFrameToNRC_20-JUN-2021.zip
    32.5 KB · Views: 168
Since you want to render just one frame and you send it to NCR, it would be great to be able to split this image into a bunch of limited regions.
Suggestion for implementation:
  • read number of requested stripes from UI or some preset setting (you don't want to fiddle with dialogs if your goal is a keyboard shortcut)
  • create n copies of the current scene file with calculated limited region and current frame for this specific stripe and unique filenames for the output RGB
  • send all stripe files to NCR

  • Bonus - assign another shortcut for collecting the image stripes and push them as one image into the window with the previous F9 renders.


    I found scripts for the stripes yesterday, but it does not support NCR specific tasks.

    I have some heavy radiosity scenes and it takes ages for my machine to render. Having 4 machines does not help, if you can't split the work for a single frame accross multiple worker nodes.
    A plugin to solve this problem would be great. :)
 
Good idea.
In the past I did some Limited Region code, ScreamerNet related.
Haven't touched it for a while.

I'll see what I can do.

Also, I was thinking about an optional reference to a specific Camera.

limitedregion.jpg
 
Good idea.
In the past I did some Limited Region code, ScreamerNet related.
Haven't touched it for a while.

I'll see what I can do.

Also, I was thinking about an optional reference to a specific Camera.
This would be great.
 
Do you use the free version of Fusion 9 or do you support Fusion 17 as well?
Are you going to combine all stripes using Fusion 9 or is this button not related to stripes at all?
 
Last edited:
A frame (or sequence) can be segmented in matrix-, horizontal-, or vertical segments. Procedure:
  1. Enter the number of available nodes you want to distribute to.
  2. Click button Init Segmentation.
  3. Choose a Codec Friendly multiplier, segment width/height is adjusted, attempting to keep either segments or keep the segment size.
  4. Adjust Columns and Rows (or # of Segments) and everything is adjusted to best efforts.
You can use the '-' or '+' button to change the current segment (visualized in the current Camera view).
This part survived the copy/paste of the code.

The Build Fusion 9 Comp has been written when I was using the free version at home at that time.
It's a smart and cheap solution to combine segments (in every configuration you used) into a full-frame video stream.
So there is no need to move each segment into position manually.
Recently things have changed for me, and now I can use the registered version, currently Fusion 17.2.1 and Resolve 17.2, so I need to test for compatibility issues.
If there are issues, I need to fix them anyway.
It's not too complicated because comp files are text based.

To do:
  • Send Full Frame Sequence (seemed logical to me to add this option) [done]
  • Send Segmented Frame (more nodes than frames)
  • Send Segmented Sequence (more nodes than frames)
  • Build Fusion (9 and/or 17) Comp
Just finished a new feature that saves a config file in the CONTENT directory.
It is used at startup to load default settings, in case your common directories (queue, content, output) are different from mine.
 
Last edited:
I have the free Fusion 9 edition as well, so please don't delete this part from your plugin.

Do you know if the plugin would work on Macs as well? I am not sure about LScript in respect to path and network specifications for different operating systems.
like
M: mapped to \\servername\sharename\subfolder
vs
smb://servername/sharename/subfolder
 
Ok, if needed I'll keep v9 as well.
I don't have access to macOS or unix computers but you can always volunteer!
 
Current operational version.

concept2.jpg



To do:
  • Send Full Frame Sequence (seemed logical to me to add this option) [ready]
  • Send This Segment
  • F9 Render Segments [ready]
  • Send Segmented Frame
  • Send Segmented Sequence
  • Build Fusion (9 and/or 17) Comp
  • Reset Segmentation [ready]
The default Available Nodes can be set in the config file, just like the queue/content/output path.
 
I would like to try it in my mixed OS environment (2x Windows 10 1xMac x64 1x Mac M1).

You could start with an experiment.
Create a new text file, named test.nrc, with similar content to render a simple test scene:

S:\NRC_content\RoboArm_demo_midi-007\Scenes\testBox.lws
S:\NRC_output
false


Place that nrc file in the NRC_queue directory that the NRC Controller is monitoring for new tasks (check its Preferences):

pref.jpg


My question: what should be written instead of S:\NRC_content\xxx, S:\NRC_output and S:\NRC_queue in your case, to make it work?
 
I tried it on a Windows machine and the Network Render Controller is not reacting to the new file named test.ncr
No new Scene is showing up in the window.
Stopping and starting the controller had no effect.
Render Controller Version is 2020.0.3

Ok, I think I got it wrong...
What should be the effect of this file? Should the scene appear in the NCR Window?
 

Attachments

  • Legato_send_to_ncr.PNG
    Legato_send_to_ncr.PNG
    15.7 KB · Views: 158
Last edited:
Yes, it should be immediately picked-up by the NRC Controller.

If it doesn't, verify all settings in all Preferences-tabs.

Also, each render node (including the computer with the LW license) should have access to the common network path. Can you copy/paste files between computers?

Make sure the NRC Controller at least works by loading or dragging scene files. Including plugin directory, content directory, and output directory.

If that works, continue with the setup of the NRC_queue directory.

If it still fails, please describe the steps.
 
Sorry for all confusion, but I used the wrong file extension. The configured scene appears in the NRC scene window.
But I cannot touch the system for the next 9 hours.
 
Back
Top Bottom