Render Scenes in Clarisse#
In this section we will go through the specific of rendering images and scenes in Clarisse. We will see how we can render images but also the different workflows related to AOVs setup, lookdev and more... However, before going any further, it is very important to define the concepts of renderer and render scenes in Clarisse.
What's a Renderer?#
A renderer in Clarisse is an item that defines render settings declared by a specific rendering engine. Its role is to compute an image from a render scene and to do so, the renderer can either compute the image progressively or using buckets/tiles. Clarisse comes with a built-in production proven renderer that has been used many world-leading studios to render the images of many major feature films and TV series.
For more information about some of work created by our customers please refer to www.madewithclarisse.com. While Clarisse comes packaged with two rendering engines, it can be easily extended by 3rd party renderer vendors using Clarisse API or R2C our library designed to integrate 3rd party renderers to Clarisse.
In Clarisse, scenes are defined by Render Scenes which are a type of items representing a scene in Clarisse. Since render scenes are items, it is possible to manage multiple scenes at the same time. This is extremely useful when working for example on multiple shots or simply rendering in layers. Render scenes define what rendering engines render and in their simplest form, they are defined by a camera which sets the viewpoint, a list of lights and scene objects and finally a raytracer renderer defining all the specific render settings of the rendering engine.
New types of Render Scenes and Renderers can be extended by 3rd parties.
Scene Rendering Workflow#
Rendering scenes in Clarisse is quite different than the typical rendering workflows found in other 3D DCCs. As a matter of fact, Clarisse's scene rendering workflow is actually closer to the workflow that is offered by compositing packages. To render a scene in Clarisse you must create an image item. This image item is an actual element of the workflow and unlike other 3D DCC, it is not only a file output. The similarity with compositing packages doesn't end here since you can also process these images using image operators or filters meaning that final renders can be a composite of multiple images or layers.
There are 2 ways to render scene in Clarisse:
- through the Image Node Render in the build assembly workflow where the node takes as input a Render Scene node that defines the scene.
- through the Layer 3d which is a layer defined in the layered image offering layer-based compositing.
In Clarisse, you don't need to explicitly launch a render to start rendering. Displaying an image in the Image View starts the rendering of all render layers to display the fully composited image. When working on animations scrubbing the timeline also re-render the displayed image for the current frame if needed.
Clarisse features on-demand evaluation. It's only when the image is needed such as when it is displayed in the Image View, that the image is gets evaluated. When the image has never been evaluated, the evaluation starts and it's during the evaluation that Clarisse dynamically loads, generates and renders everything required for the rendering job. In other words, scenes, geometries, texture maps are loaded only if needed during a render. Obviously, depending on the render complexity, the evaluation can take a while. Thankfully Clarisse supports interactive rendering meaning that during an evaluation you are free to interact with the application. If don't modify an element participating to the evaluation, the evaluation continues in the background until you get the final render. However, when you modify an element participating to the current evaluation, the rendering is interrupted and automatically relaunched.
While, this workflow is pretty simple when working interactively on images, Clarisse also provides more convenient workflows for outputting final renders and image sequences.
Rendering Final Images#
There are several ways to render final images in Clarisse:
- Using the command line tool CNode which is the headless version of Clarisse.
- Using the Render Manager widget in Clarisse to render layered image and layers.
- Using the dedicated Image Node Write process using the build assembly workflow.
Rendering using in the Build Assembly#
To render images in the build assembly workflow, you need to use a special process node called Image Node Write. This process evaluates the input Image Node you wish to render and save to disk. To learn more about process nodes please refer here.
If you need to render multiple images such as multiple render layers as well as the comped image, you can use a Merge process node. This node runs sequentially (so the order is important) any Process node connected as input. A workflow can be to connect all Image Node Write nodes you want to render as input of the Merge node so that it acts as the execution entry point.
Once you created your rendering process graph, you can either run the process in Clarisse by clicking on the Run action of the node through the Attribute Editor, or execute the process from command line using CNode. For more information please refer here
To render a sequence of images and multiple shots, you have to use a Variable Range Process. The Variable Range Process can then be used to drive the $F global variable when the Image Node Write nodes you passed as children processes. That way you can specify the shot frame range or even specify custom frame range per Image Node Write node.
In Clarisse, rendering resolution is a global setting defined in the preferences panel. It can be changed as an application preference to become the new default when the application starts, as a preference for the current project or directly on an image or image node of the project.
By default, the default rendering resolution is set to 1080p (1920x1080). To update it, you can change Default Resolution Preset in Edit > Preferences... > Application > Rendering to modify it for the application or in Edit > Preferences... > Project > Rendering to update it only for the current project.
Please note that instead of choosing the default resolution from a list of presets (which can be customized here), it is also possible to define a custom default resolution by setting Default Resolution Preset to Custom and setting both Default X Resolution and Default Y Resolution and eventually Default Display Aspect Ratio.
Default Rendering Resolution is very important for the 3D View since it is used to display the correct framing when looking through a camera. For more information please refer to 3D View > Look Through Item