Isotropix Forums

Advice on render submission

Clarisse Scripting related topics

Advice on render submission

Unread postby julian » Fri Feb 08, 2019 6:25 pm

Hi there,

I'm building a tool to submit Clarisse renders to a cloud render service, so I wanted to get some input from expert users on the best way to do it.

My current thought is:
1. Extend a ScriptedClass so there will be an object in Clarisse to hold attributes such as cloud_machine_spec, job_name, frame_range and so on. It will also have action buttons to submit the job. I figure I can connect references from other objects in the project to define what image to render. This would also allow a project to contain more than 1 submitter, each set up to render a different image node. (not sure if I'm using the right terminology here). The whole setup would be saved with each scene of course.

Other options would be:
2. Write a script that opens a GUI from within Clarisse using Clarisse widgets, or PySide or something.
3. Open a standalone tool where you select a Clarisse project on disk and submit it.

If there's a better way or you have any suggestions on architecture or details I'd be happy to hear!

Thanks.
julian
 
Posts: 16
Joined: Tue Feb 05, 2019 2:51 pm

Re: Advice on render submission

Unread postby bvaldes » Tue Feb 12, 2019 9:54 am

Hi,

The first 2 solutions are in my view the best ones. The last could be annoying because to send project to render farm you will have to grab all the dependencies (assets, textures...) to be able to render them. There is a script inside of Clarisse that already do that and you need to be inside of a project to launch it.

You can choose the solution 1 or 2 depending on your skills. I you used to write pyside UI, that will be a lot faster than dig in Clarisse SDK to find a way to create a Clarisse's UI (and you will have a more finished look). Scripted class are quite easy to work with. There is lot's of example on the forum (atnreg and I discussed a lot about it in the scripting section of the forum).

The only plus I see of solution 1 is that you won't need any 3rd parties (like pyside). That will simply be an item in your project that will keep data so if you give your scene to someone, he will have the setup already done. Be careful about scripted class, you have to register it every time you launch Clarisse (like the UVBake class) so you will have to edit the startup_script of all users that will use your tool.

If you need help to write your scripts or if you have others questions, feel free to ask.

Best regards
Benoit Valdes
Benoit VALDES
Isotropix
Clarisse QA
User avatar
bvaldes
 
Posts: 361
Joined: Mon Sep 26, 2016 10:44 am

Re: Advice on render submission

Unread postby julian » Mon Feb 18, 2019 3:37 pm

Thanks for your help Benoit. I started playing with ScriptedClass and it seems it will be able to do everything I need. I like the idea that settings will be saved with the project item and I don't have to do any extra work to make it happen.

One more related question: As it's a project item, a user could instantiate many of them. Is that something that would be useful to a Clarisse user? In Houdini for example, you can have many output driver nodes to render different parts of the graph. And in Nuke, you can have many Write nodes. Would a Clarisse user benefit from the ability to submit different image items in the same scene to a render farm?

Thanks!!

Julian Mann
julian
 
Posts: 16
Joined: Tue Feb 05, 2019 2:51 pm

Re: Advice on render submission

Unread postby bvaldes » Mon Feb 18, 2019 4:19 pm

Hi,

Cnode (what Render farm use to render Clarisse's project) can only render images that have render_to_disk attribute checked.
What I understood about your needs is that you will create a custom Item that will launch a render on the render farm. So your item will be useless once the project is shipped (because only images node matters).

Instantiate the node your are attempting to create could be a nice thing because you will be able to overwrite some settings to ship different render. For example you have your render node (the scripted class item) that have some parameter and you are happy with them. Now you want to test your render on the render farm, instead of create a new render node (the scripted class item), you can instantiate the first one are localize some attributes to render just one frame with a poor resolution. So I think that can be a nice idea if you think about the possibilities before your start writing the node.

Don't forget that your render node is just here to ship a project (like change some data, then pack the project and the assets in zip then send a command to your render farm). You will not use it to render because CNode can only render images node.

I hope this will help you.

Regards
Benoit VALDES
Isotropix
Clarisse QA
User avatar
bvaldes
 
Posts: 361
Joined: Mon Sep 26, 2016 10:44 am


Return to Scripting