Ready for your Pipeline

Clarisse is a very versatile software designed to seamlessly work in production environments. Clarisse is plug and play, works in any modern pipeline out-of-the-box. This means that you won’t need to write any custom tools or rely on any third party plugins to work with Clarisse.

Pipeline Integration Overview

Clarisse is more than a simple rendering application. Its usage can widely vary from an artist friendly lighting/look dev and rendering standalone application to a framework used by TDs and engineers as backbone of a robust production pipeline.


 

General Dataflow

Clarisse reads as input files assets (static or animated geometries, textures, particles...) that are then assembled, lit, shaded, pre-comped and rendered as either final images or render passes. In that aspect, Clarisse has been designed to work hand in hand with major 2D and 3D applications. It widely supports used file formats to bring data in and out. Input files are kept as references in Clarisse and unlike in most 3D applications, actual data such as geometry data isn't actually saved in Clarisse projects. 

  • Referenced assets are kept as external files and can be tracked in Clarisse.
  • When referenced assets are modified they get updated in Clarisse. 
  • Clarisse only saves item descriptions and user-modified attributes in its projects.

Out-of-the-box Alembic Support

Alembic is the Industry standard graphics interchange format and most 3D applications have built-in or third party support for it, such as Exocortex Crate. Clarisse reads natively Alembic files and it's then very easy to import scenes and geometries in it. Clarisse Alembic reader is very extensive and supports: polymeshes, subdivision surfaces, curves, hair/fur, particles, cameras, animations, deformations, animated topologies, velocities, custom properties, uv/vertex color maps, multiple uv sets, scene hierarchy.

General Dataflow in Clarisse

 

Built-in OpenVDB Support

OpenVDB is rapidly becoming the Industry's volume data interchange format standard. Clarisse natively reads OpenVDB files along with their properties. Properties are then available with a shading node that can be used to texture any volume properties.

Built-in UDIM and UV Tile Support

Clarisse natively supports any modern pipeline relying on Autodesk Mudbox or The Foundry MARI for texturing. 

Integrated Color Management Framework

Clarisse supports a complete professional color management solution based upon the Industry standard library OpenColorIO. The framework allows the import of custom 2D/3D LUTs to work images in context. LUTs can be set at application, view and texture map levels. 

RENDER FARM MANAGER INTEGRATION

Clarisse is bundled with command line versions of the application dedicated to farms: CNode and CRender. Both are already officially supported by Deadline and Royal Render. CNode and CRender can output a special XML file describing render settings and file dependencies from any input project file. This way, Clarisse can be easily integrated to any render farm or asset manager.

Learn more about Batch Rendering

 

Pipeline friendly ASCII File Format

Clarisse projects are really easy to read, modify or generate. They are based on an ASCII object/attribute description format. Each item created in Clarisse is serialized in a ASCII file and the sum of this serialization becomes the project file. Clarisse projects support preprocessors, comments and a powerful command system called Project Directives.

Context "shot" {
    // includes the render settings items (image, renderer...)
    #include "my_render_settings.project"
    // includes the library of shaders and a shading layer
    #include "my_shaders.project"
    // includes lights defined for that shot
    #include "my_lights.project"
    // imports the Alembic scene
    import_abc("my_assets.abc")
    // setting the camera, imported from the Alembic archive, as active camera for the shot
    set_value("image.background.active_camera", "my_assets_abc/cameraShape1")     
    // setting the imported raytracer as renderer for the shot
    set_value("image.background.renderer", "raytracer")
    // assigning materials to the Alembic assets using a shading layer
    set_value("image.background.shading_layer", "shading_layer")
}

Example of a project using directives and generated externally.  

File referencing and Attribute Overriding

Clarisse provides powerful scene assembly features such as one of the best hierarchical file referencing system available on the market.

Clarisse File Referencing System

When referenced files are modified, projects are automatically updated to latest versions. User modifications on items originating from referenced files are performed via attribute overrides. Moreover, as Clarisse knows the distinction between scene description and actual data (such as geometries), updates are blazing fast: when reloading a reference, Clarisse only updates and reloads what has actually changed.

Read more on file referencing

Attribute overriding in Clarisse iFX

Enabling Subdivision Surface of a reference Rabbit alembic file. 

Reference "rabbit" {
  filename "P:/movie/assets/rabbit.abc"
  override "rabbit_body" {
    enable_subdivision_surface yes
  }
}

 Only path to references along attribute overrides are saved.

 

From a technical perspective, Clarisse was a huge help (...) Because of Clarisse’s referencing system, updating assets is as simple as changing out a symbolic link on disk, or a file path in Clarisse. It allows dozens of people to work on one environment at a time. For example, an environment artist can dress in an incomplete model before a modeler has finished it. As the model is improved, we simply refresh the shot, and all of the days work shows up in the nightly render.
Alex Hessler, VR and CG Supervisor at Tippett Studio
Alex Hessler 

 

Introducing Shading Layers

The Shading Layer is a special project item designed to dynamically assign materials based on a set of text rules supporting wildcards. Material assignment become geometry-independent and re-usable across different projects streamlining shot assembly. Shading Layers can be built from scratch or extracted from existing geometries on which materials have been assigned the traditional way. Read more on shading layers

Shading Layers in ClarisseIncoming project without materials (left), same assets with a shading layer applied (right)  

Extensive Python Support in Clarisse

Clarisse and CNode are fully scriptable using Python. Attributes can be directly read and modified by scripting. Commands can be called and most of the Clarisse C++ API is exposed to Python. Clarisse also comes with a comprehensive built-in Script Editor and can be complemented with custom scripts that can be arranged in the application shelf toolbar. Unlike many other 3D Applications, Clarisse doesn't bundle its own Python version. Instead it relies on the one installed on the system. It can then use any Python extension available such as PyQt. 

Clarisse Command Port

Clarisse/CNode also provides a Command Port.The command port allows to control both applications remotely from any other Python-enabled application. Python commands or entire scripts can be sent through the command port and results can be retreived.

>>> import clarisse_net as ix
>>> rclarisse = ix.ClarisseNet('198.168.2.100', 55000)
>>> rclarisse.run('obj = ix.create_object("sphere", "GeometrySphere")')
>>> rclarisse.run('print obj')
project://scene/sphere

An external Python interpreter connecting to a distant Clarisse host.

Pipeline Integration

Clarisse allows to create and run a Clarisse application inside any Python-enabled application. The application hosts Clarisse so it can directly communicate with it from a python script. This is extremely useful when integrating Clarisse in pipelines.

For examples:

  • Create Python scripts for Autodesk Maya or Autodesk 3DS Max calling Clarisse API.
  • Generate Clarisse project directly from within Autodesk Softimage.
  • Integrate Clarisse in an asset management application.
  • Integrate Clarisse rendering engine in any Python enabled application.

 

Join the Clarisse community

Clarisse tutorialsBuy or Try Clarisse

Environment Variables

Clarisse supports custom, built-in and system variables which can be used by attributes. Variables are very useful to constraint path resolution according to a global variable defining a show or a shot for example. Moreover, variables are part of the dependency graph: when they are modified, items are automatically notified. For example, variables can be used to load sequence of geometries or images.