You can download this release immediately from your Download Area.
Clarisse 5 is VFX Reference Platform CY2020 compliant.
More information can be found here: http://www.vfxplatform.com
Please note that release note entries starting with the [BUiLDER] tag are only relevant to Clarisse BUiLDER. When a release note entry does not start with this tag, the entry is relevant for both Clarisse iFX and Clarisse BUiLDER.
What's new in Clarisse 5:
Features & Enhancements
General
- The documentation of the software has been completely rewritten. It is now a Reference Guide that replaces the previous User Guide. Even if you are a seasoned user of Clarisse, we strongly advise to have a look at the new documentation as it brings new in-depth looks at many topics.
- Clarisse 5 is now using a new unified architecture that can either run Clarisse iFX or Clarisse BUiLDER. To run Clarisse iFX use the appropriate shortcut of '-flavor ifx' as command line argument. To run Clarisse BUiLDER use the appropriate shortcut or '-flavor builder' as command line argument.
- Clarisse BUiLDER introduces a new high level node based assembly workflow which is a flow of atomic nodes describing operations specifically aimed at sequence or shot lighting. The resulting graph, also called build assembly or build, generally starts by bringing and merging assets together, continues with lookdev association and lighting and ends up by render layers definition, local edits and pre-comp. For more information, see the Reference Guide.
- It is possible to run Clarisse BUiLDER in PLE mode. When launching Clarisse with no license without specifying a flavor, a new window will appear to let you choose to run either as Clarisse iFX PLE or Clarisse BUiLDER PLE. The same restrictions found in Clarisse iFX PLE apply to Clarisse BUiLDER PLE. Please visit https://ple.isotropix.com for more details. Clarisse BUiLDER PLE files are saved using a special file format: ".ble" (Build Learning Edition). They can't be loaded by the commercial version of Clarisse BUiLDER. The amount of watermark-free images is still 3 per day and this number is shared between Clarisse iFX PLE and Clarisse BUiLDER PLE renders.
- Clarisse 5 complies with VFX Reference Platform 2020. This means all 3rd party libraries versions have been updated. As part of the compliance, Python 3.7 is now supported as well as Python 2.7. At startup, you can choose which version of Python you want to use using '-python_version <2|3>' as command line argument. Please note Python 3.7 is now the standard version used by Clarisse when no Python version is specified. You cannot switch Python versions during the same session. To switch versions, you must restart Clarisse and provide the Python version you want to use. For more information, please refer to the Reference Guide.
- The project structure has changed. The context "project://default" is now "default://" and a new "build://" root is introduced by Clarisse BUiLDER. For more information, see the Reference Guide.
- [BUiLDER] While they are saved by default, it is possible to avoid saving the Vizroot, 3D View Link Visibility Item and Image View current image slot bindings to ensure that loading a build file doesn't trigger an evaluation. Default settings can be changed in the Preference Panel by going to Edit > Preferences in Project/3D View/Image View sections respectively. (10004)
CNode
- It is now possible to run CNode with an Indie license of Clarisse.
General UI
- It is now possible to control the evaluation mode for all widgets and for the application from the Status bar. Please see the Reference Guide for more information.
- It is now possible to control how widgets behave with respect to evaluation (refresh, re-render, etc...) directly from the Viewport toolbar. Please see the Reference Guide for more information.
- Global variables can now be promoted to the main toolbar and edited from there, allowing quick changes on the main variables that control your Clarisse iFX project or Clarisse BUiLDER build. (10919)
- It is now possible to "Make Local" and "Make Instance Of..." using the main application Edit menu. The obsolete feature "Localize In..." has been removed and is no longer supported. (10914)
- The redraw of the application user interface has been improved when resizing widgets. Various stability fixes for tablet input, on Windows, when using Wacom's Wintab driver. These should fix the various random freezes and crashes that happened during Clarisse's startup when having a tablet plugged in the PC (usually with non-Wacom tablets). In addition to Wintab fixes, Clarisse now supports Windows' native tablet input API "Windows Ink". To switch between "Wintab" and "Windows Ink" APIs, there's a new preference entry named "Windows Tablet API", under "User Interface", to select the active API: "Wintab" (previous default and only mode) and "Windows Ink" (new mode). If you previously had issues in Clarisse with tablets, you might want to try using Windows Ink instead. This preference entry is Windows only. For the Windows Ink mode to work correctly, the tablet needs to be plugged in the PC before starting Clarisse, in order to detect it. However, while Clarisse is running, you can unplug and replug the tablet without having to restart Clarisse. Also fixed the pen tilt orientation values on Windows and Linux to get correct degree angle values in the range [-60;60].
Preferences
- It is now possible to set the default evaluation mode for all widgets. For more information, please see the Reference Guide.
- The Rendering section of the Application and Project Preferences now provides 3 new attributes:
- Default Resolution Preset.
- Default Resolution.
- Default display aspect ratio.
Image, Render Scene and Reformat nodes have an extra Resolution Mode attribute, that allows to use the resolution defined in the Preferences.
Attribute Editor
- Attribute categories have been improved to display the most relevant attributes to users. A new hierarchical scheme is introduced and it is now possible to show/hide top-level attribute categories.
- The display of attributes with non-default values has been enhanced. Attribute categories now display a hint about their attributes status (localized, overridden).
- It is now possible to mute attribute values using the attribute's contextual menu. For more information, see the Reference Guide.
- It is now possible to disable attribute values using the attribute's contextual menu. For more information, see the Reference Guide.
- A new 'eye' icon has been added next to the control of Reference attributes. Clicking on it allows you to enable/disable the reference for the attribute. For more information, see the Reference Guide.
- A new spreadsheet-like UI has been added to improve the display of struct-like attributes.
- The Attribute Editor now opens a special Graph Editor to finely edit curve attributes such as Motion Blur Shutter Curve in Raytracer, Density Falloff in Volume Box… For such attributes, the Attribute Editor displays a button to open attribute curves in a dedicated Graph Editor. The new Graph Editor provides more control to edit the curves (bezier tangents, TCB tension, bias & continuity) as well as global modifier tools (stretch & warp). The Graph Editor left sub-widget displays animated attributes and curve attributes as 2 separate hierarchies. The 2 very left buttons in the toolbar optionally hide any of these hierarchies. Only curves belonging to the same hierarchy can be displayed (and edited) together in the right sub-widget. When curve attributes are displayed, some actions are not available (bake, quantize), some others behave in a different way (delete curve actually resets the curve).
- Added the possibility to paste only expressions or shading variable, via the right-click contextual attribute menu.
- The use of the Color Dialog for a gradient or color attribute has been enhanced to validate automatically the current changes when another object is selected, or another gradient key is selected, or a key is added or removed, or when the Color Dialog itself is closed without using the OK/Cancel buttons.
- [BUiLDER] Expressions are not displayed for non-editable objects in the Attribute Editor. The current value of the evaluated expression is displayed instead. (9760)
- [BUiLDER] Dragging and dropping an item into a text field generates the project path of the item instead of the build path. (9870)
Browser
- The right list now sorts contexts according to the sorting method applied to objects.
- The left tree now displays a column header allowing to sort items by name or color tag.
Explorer
- The Explorer now allows sorting on any column.
Hierarchy View
- The Hierarchy View now allows sorting on any column. Note that only the roots are sorted.
3D View
- The 3D View now supports Orthographic projections. The Tab hotkey allows users to enter Orthographic projection and snap to the closest orthographic view. It releases the Look-Through-Item view, if enabled. Repeating the Tab hotkey restores the free perspective projection keeping the current viewpoint. Shift+Tab restores previous viewpoint. While in Orthographic projection, you may change the view axis (up/down/left/right arrows) and rotate around the view axis (3/9 hotkeys on the numpad). A contextual menu provides the actions to choose one of the 6 predefined orthographic projections (hotkeys 8/4/5/6/2/0 on the numpad). In Orthographic projection, using LMB/MMB with the Alt or Space modifier pans the view, using mouse wheel or RMB with the Alt or Space modifier zooms the view in/out. For more information, please see the Reference Guide.
- It is now possible to display a safe frame display, overlay composition guide in the HUD. These options can be tuned in Clarisse Preferences window as well as in the HUD dialog invoked from the toolbar. For more information, please see the Reference Guide.
- The 3D View can now keep its viewpoint when releasing the Look-Through-Item mode. Use the Closest Free View action from the contextual menu or the Look-Through menu accessible via Ctrl+L.
- The toolbar of the 3D View is now automatically split in half when needed so that all buttons and fields are displayed. (9791)
- The Look-Through-Item and Shading-Layer buttons now support a global history to quickly select last recently used items. (9789)
- [BUiLDER] In the main toolbar, the content selection drop down provides a Vizroot mode which sticks the visibility to the current Vizroot context. This is the default behavior for Clarisse BUiLDER. Note this option is not available in Clarisse iFX. The "link" button on its left allows to select items from the top level of build (Scene Item, Context (including Scene Assembly) and Render Scene) or sub-context & Scene Item from the current Vizroot. Once an item is chosen, the 3D View stops reacting to Vizroot changes. Clicking on the View-lock button locks the 3D View to current selection, clicking on its side '...' button prompts you with a Browser Picker, Ctrl+click discards its setting. "Open With" applied to a Render Scene or a Context (including Scene Assembly) also locks the contextual 3D View to the corresponding item. Moreover, Ctrl+click on Look-Through-Item or Shading-Layer buttons discards the current selection. (9763)
- [BUiLDER] It is possible to link Dot, Switch and Extract nodes to the 3D View. (9964)
Image View
- The Image View HUD can now display safe frame and composition guide overlays. These options can be tuned in Clarisse Preferences window as well as in the HUD dialog invoked from the toolbar. For more information, please see the Reference Guide.
- The toolbar of the Image View is now automatically split in half when needed so that all buttons and fields are always displayed. (9791)
- The Play/Pause/Refresh buttons have been removed and replaced with the evaluation control in the widget's Viewport toolbar.
- A new Space+S shortcut has been added to quickly create image snapshots saved in history.
- Channel (Red, Green, Blue, Alpha) display shortcuts have changed to Alt+1/2/3/4/5 to comply with the image slot selection shortcuts 1/2/3/4 in Clarisse BUiLDER.
- [BUiLDER] Image View is represented in the Build View by a node on which Image node can be used as inputs. Image nodes are displayed via a slot-based binding system. Each Image View has 9 slots and any Image node can be bound to an Image View by creating a link between the Image Node and the Image View. You can also use hotkeys 1/2/3/.../9 to connect a selected Image node to the active Image View. When several Image nodes are bound to the same Image View, using hotkeys 1/2/3/.../9 in the Image View will display the Image node bound to the corresponding slot. For more information, see the Reference Guide.
- [BUiLDER] The Image View stores Image nodes renders in its internal history. For more information on how to control the image history in Clarisse BUiLDER, please see the Reference Guide. (10941)
- [BUiLDER] It is possible to save on disk the current Image node being displayed in the Image View. (11019)
- [BUiLDER] The Image View has 2 input modes: "Use Slot" and "Use Selection". The "Use Slot" enables the workflow of Clarisse Olympus R1 when using shortcuts "1", "2", "3", "4". The "Use Selection" mode enables a sticky selection of Image nodes similar to the workflow in Clarisse iFX. (10010)
- [BUiLDER] When the Image View is in "Use Selection" mode, it is now possible to link the Image View to Dots, Switch and Extract nodes to display their output if they define a valid Image node. (10010)
Variable Editor
- Several workflow improvements have been made to the Variable Editor. For instance, it now allows to modify the type, the unit or the range of an existing custom variable and you don’t need to hit enter anymore to validate min and max values.
Search
- [BUiLDER] The Search widget works when no Vizroot is set. In that case, it searches for items that are located at the build level. It also lists contexts matching the input search rule. (9749)
- [BUiLDER] It is possible to search using context types. For example, if searching for "merge", it will lists all the contexts of type Merge. (10622)
Material Editor
- The Material Editor has been improved. For more information, please see the Reference Guide.
- Using the shortcut Alt+F centers the view to the selected node without changing the zoom level of the view. (9528)
- The Tab item creation menu has been improved to display the most relevant items first and then others in alphabetical order. (9559)
Graph Editor
- The Graph Editor has been completely rewritten from ground up, adding many new features and workflow improvements. For more information, please see the Reference Guide.
- It is now possible to filter the view to display only animated, kinematics and or non-kinematics attributes.
- The Collapse/Expand hierarchy buttons apply to current selection or to all when nothing is selected.
- When the Tooltip button is activated, Curve/Key information related to item under mouse is displayed next to mouse position.
- The toolbar now split in two: the right one, intended for curve/key editing, holds 3 buttons for extrapolation behavior (pre/post/both) + the delete button + the keyframe controls that were previously in the bottom-left dedicated sub-widget.
- Typing an expression (+=, -=, *=, /=) in key time/value numeric field now applies with respect to each selected key time/value.
- Using time numeric field without expression on multiple keys applies change relative to each selected key time (the field used to be disabled on multiselection).
- A contextual menu now pops-up on right mouse button click: Select All/Previous/Next items. Rectangle selection now selects crossing curves when no key is grabbed. Selected curves now turn to orange instead of white. Some editing actions are available from the contextual menu : Clear Curves/Remove Keys, Quantize, Copy Curves/Keys, Paste Curves/Keys.
- Right toolbar provides several tool buttons: to insert key at given time (with no shape modification), to stretch selected keys (either time or value), to warp selected keys (both time and value), to bake selected curves with a given frame step.
- Panning can be performed with either left or middle mouse button together with Alt or Space modifier.
- Zoom (RMB drag as well as mouse wheel) is now performed around initial mouse position.
- Keys just added using the middle mouse button can now be dragged immediately.
Build View
- [BUiLDER] A new Build View is introduced to support the node-based workflow introduced by Clarisse BUiLDER. Only available in Clarisse BUiLDER, the Build View is fully streamlined and brings a slick node display with many workflow accelerators for creating your build. For more information, see the Reference Guide.
- [BUiLDER] The status bar of scene assembly nodes is updated in real-time. (8414)
- [BUiLDER] The Tab item creation menu of the Build View has been improved to display the most relevant items first and then others in alphabetical order. Scene Assembly nodes are displayed first. (9559)
- [BUiLDER] It is possible to select the backdrop by middle clicking in any free area of the backdrop with the exception of the header. Provided the backdrop is not in auto-fit mode, middle drag allows to freely move a backdrop without dragging its children. (9522)
- [BUiLDER] Automatic node insertion between 2 linked nodes that keeps inserted node aligned as much as possible. (9856)
- [BUiLDER] The Scene Assembly node containing the selected items is highlighted in orange in the Build View.(9833)
- [BUiLDER] Ctrl double-clicking a node selects its downstream dependencies. Double-clicking selects node inputs and Shift double-clicking selects both inputs and outputs. (9879)
- [BUiLDER] Using the shortcut V, it is possible to set the Vizroot on Dots and Switch nodes. (9519)
- [BUiLDER] Using the shortcut Alt+F will center the view to the selected node without changing the zoom level of the view. (9528)
- [BUiLDER] Using the shortcut Alt+V will center the view to the current Vizroot without changing the zoom level of the view. The same behavior happens when changing the Vizroot from outside the Build View. (9528)
Project Management
- Introducing a brand new USD Reference context that is exclusively dedicated to referencing USD files. This improves the usability of USD references as they come with many USD specific attributes without cluttering the Reference context that is also used to reference Alembic caches and Clarisse iFX projects. For compatibility with Clarisse iFX 4, projects using the general Reference contexts that reference USD files will continue to use the general Reference context and will continue to load like in Clarisse 4. However, they will not benefit from USD specific features USD Reference context. To use USD specific features, you will need to convert the general Reference context into the new USD Reference context (manually or by a script with the help of a new command "ConvertToUsdReference"). We highly recommend that you convert them as soon as possible.
- USD Variant Sets are now supported by USD Reference contexts and USD bundles. In both cases, they are displayed in the Attribute Editor under a new attribute group named Variant Sets. For USD References, variant sets are displayed and edited per object. For USD Bundles, the whole list of prims with variant sets is displayed in a single spreadsheet. When copy/pasting USD prims from a USD Reference, the variant sets of the copies are baked and locked. USD References create new attributes to select the variant at the item level. When a variant, different than the default ones, is selected, this creates an override as for any other attribute. This means that when updating the USD stage, overridden variants will be re-applied if the prim path still exists and the variant set can be found. Please read the Reference Guide for more information.
- In USD References and USD Bundles, USD purposes are now supported and can be selected either at the Reference, Bundle or Preferences level.
- It is now possible to export a context as a USD stage. Please refer to the Reference Guide for more information.
- Added a new setting to control how the USD resource deduplication is done. This setting can be controlled through application preferences, project preferences, or at the USD Reference contexts level.
Scene Assembly
- [BUiLDER] A new set of Scene Assembly nodes is introduced to enable a new high-level non-destructive node-based scene assembly workflow. For more information on scene assembly nodes, see the Reference Guide.
- [BUiLDER] New Context node to generate items contained in a context, the same way you would create items in context in Clarisse iFX.
- [BUiLDER] New Read ABC node that brings an Alembic cache in the build.
- [BUiLDER] New Read USD node that brings a USD stage in the build.
- [BUiLDER] New Read Project node that brings a Clarisse project in the build.
- [BUiLDER] New Edit node that applies a set of modifications on items coming from an input Scene Assembly node by acting directly on the items.
- [BUiLDER] It is possible to edit values of embedded objects in Edit nodes. (9816)
- [BUiLDER] It is possible to edit Comments, Color Tags, Disable and Lock states in Edit nodes. (10533)
- [BUiLDER] New Override node that applies a set of modifications on items coming from an input Scene Assemble node by action on the item via rules at the Override node level. Any attribute path of the items from the input node that match the override rule will get its value overridden.
- [BUiLDER] It is possible to override values of embedded objects in Override nodes. (9817)
- [BUiLDER] It is possible to add presets in Override nodes when the override attribute is of type Long using the following syntax:"value1|label1;value2|label2;...valueN|labelN" (#9511)
- [BUiLDER] New Merge node that assembles mutiple scenes from incoming Scene Assembly nodes.
- [BUiLDER] It is possible to set kinematic paths without using the keyword "world:/" in the Merge node (9869)
- [BUiLDER] New Isolate node that isolates the content of an incoming Scene Assembly node using rules on item paths. This node filters out part of an incoming scene non-desctructively.
- [BUiLDER] The Isolate node only creates items that are targeted by the attribute Isolate Rules. (9860)
- [BUiLDER] New Prune node that removes the content of an input Scene Assembly node based on rules on item paths. Unlike the Isolate node, the Prune node filters out part of an incoming scene destructively.
- [BUiLDER] Added a script allowing to import edits/overrides from a file in an Edit/Override node. (9943)
- [BUiLDER] Added a script allowing to export edits/overrides from an Edit/Override node into a file. (9943)
- [BUiLDER] Added a script allowing to merge edits/overrides of Edit/Override nodes into other ones. (9943)
- [BUiLDER] It is possible to plug AOV Stores to the AOVSet. (9558)
Build Management
- [BUiLDER] A new set of Selection nodes is introduced to procedurally select items based on rules and to conditionally select inputs. For more information on selection nodes, see the Reference Guide.
- [BUiLDER] New Switch node that allows to conditionally select one input among multiple ones.
- [BUiLDER] New Extract node that selects an item of the incoming Scene Assembly node based on rules on item paths.
- [BUiLDER] New Rule Set node that is a collection of procedural rules used by many different nodes in Clarisse to procedurally target items located in contexts.
- [BUiLDER] A new set of layout nodes is introduced to improve readability and usability of your build. For more information on layout nodes, see the Reference Guide.
- [BUiLDER] New Backdrop node that allows you to surround a group of nodes with a colored backdrop.
- [BUiLDER] New Dot node that acts as a proxy of an input node that can be located somewhere else in the build. Dots are extremely useful to route connections between nodes and improve the readability of the build.
- [BUiLDER] New Note node that allows to add text box areas in the build.
Geometry
- A new Compression attribute is now available for GeometryAbcMesh, GeometryPolyfile and UsdMesh. It enables/disables compression of the geometric data.
Rendering
- The deprecated legacy materials, lights and integrators have been removed. The compatibility with legacy projects is not supported starting from Clarisse 5.
- The deprecated legacy clamping has been removed.
- Removed the backward compatibility with the legacy sidedness of physical materials created in Clarisse 3.6 SP5 or earlier version. Now in this case, the Automatic Sidedness attribute is not created anymore, and the Sidedness attribute is set to Single.
- In the raytracer, default Anti Aliasing Filter is now set to Gaussian with a default Anti Aliasing Filter Size set to (2.0, 2.0).
- A new standard material Autodesk Standard Material has been introduced. This material is attribute compatible with Autodesk Arnold aiSurface. For more information, please see the Reference Guide.
- New random walk subsurface scattering available in Autodesk Standard Surface, Disney Principled and SSS materials.
- Improved diffusion subsurface scattering that matches the new randow walk subsurface scattering for the same attribute values. This means you can switch between the more accurate random walk SSS and the faster diffusion SSS based on your need without changing the overal look of your material.
- A new transmission scattering simulation has been added to all transmissive materials.
- Application wide units are now accounted for in mean free paths scale of SSS material presets, as well as in transmittance depth and subsurface scale of Autodesk Standard Surface material presets.
- Added support for thin-walled refractive slabs in double-sided transmission and dielectric materials.
- It is now possible to declare custom material constants to export a part of the material network using LPEs.
- Clarisse now comes with many builtin LPEs that are available in the default:// context. By default they are conveniently added to all 3D Layers.
- Materials now offer a set of new attributes to control the rendering of transparent/transmissive shadows. For more information, please see the Reference Guide.
- IES lights are now importance sampled when rendered in volumes. This greatly reduces noise and drastically improves rendering times.
- It is now possible to create Geometry lights. Geometry lights support texture importance sampling and support for deformed/displaced geometries, self-occlusion control and motion-blur, scatterers and combiners. For more information please refer to the Reference Guide.
- It is now possible to control direct and indirect contribution per path type of each light.
- It is now possible to control the output saturation of each light.
- It is now possible to exclude a light from beauty so that it only affects AOVs using LPEs. Please see the Reference Guide for more details.
- The sampling of area lights has been greatly improved to greatly reduce noise and speed up rendering times.
- Clarisse 5 path tracer introduces a new sampling technique called Emission Importance Sampling. This new technique hugely improves the sampling of emissive materials and it supports the importance sampling of emissive textures. For more information, please see the Reference Guide.
- A new set of texture nodes Get Emission Color and Get Weight have been introduced to retrieve the proper chroma and HDR luma of textures used in Geometry lights or emissive materials. For more information please refer to the Reference Guide.
- General opmizations have been introduced to the path tracer integrator to speed up render times and offer the ability to isolate material lobes through LPEs.
- The path tracer integrator introduces a new BxDF selection strategy that massively improves rendering times of specular dielectric materials. It is controlled using the Maximum Splitting Depth attribute of the path tracer. For more information please refer to the Reference Guide.
- New Refinement Variance Mode that set the method used to compute the variance within a pixel. When using the Contrast, variance corresponds to the maximum difference between new accumulated samples and the new beauty. When using Standard Deviation, the variance corresponds to the standard deviation of the beauty for each accumulated sample.
- New Refinement Variance Filter: a pixel is refined when its variance or the one of its neighbours is over the variance threshold. This filter is applied on neighbour variances before comparing them against the threshold. When disabled, neighbours are not tested at all. In other cases, the filter has the same size of the anti aliasing filter when splatting samples and a size of 3x3 when using importance sampling (see Anti Aliasing Filter Mode).
- New Anti Aliasing Filter Mode that set the algorithm used to integrate antialiasing samples. Splatting generates samples inside the current pixel and accumulates them in current and neighbour pixels using the antialiasing filter. Importance Sampling samples the antialiasing filter and accumulates only in the current pixel. For more information please refer to the Reference Guide.
- The ray tracing kernel of Clarisse has been completely rewritten for faster ray traversal.
- A new curve rendering system is introduced with faster raytracing for curve geometries and improved curve rendering. This system replaces the original system and always renders smooth curves. As a result, the Segments attribute has been removed as the curves are not tessellated anymore.
- Improved rendering of the Hair material to be more energy conserving.
- Volume multiple scattering bounces are now controlled with its own attribute Volume Depth instead of using Diffuse Depth. This attribute also controls the number of bounces of transmission scattering.
- The management of light occlusion has been completely revamped. Area lights are now always occluders in camera and transmission path in order to avoid rendering inconsistencies with alpha blending.
- In path tracer, materials and lights, the maximum value for channel depths is now 65536.
- [BUiLDER] A new set of nodes dedicated to rendering is introduced. They create a link between Scene Assembly nodes and Compositing nodes that create the final image. For more information on rendering nodes, see the Reference Guide.
- [BUiLDER] New Render Scene node to define a 3D scene and its render settings. This is the central rendering node on which render resolution, camera viewpoint, render settings, shading layers... are defined.
- [BUiLDER] New AOV Set that defines the list of AOVs and light path expressions that should be computed during rendering.
Compositing
- [BUiLDER] A new set of Compositing nodes is introduced to eliminate the mandatory back-and-forth between the lighting and a compositing application needed to visualize the render in context when working with layers, live action plates and AOVs. For more information on compositing nodes, see the Reference Guide.
- [BUiLDER] Image nodes that don't need to process the scene, do not pull scene assembly nodes. (9982)
- [BUiLDER] New Image Node Render to render an input Render Scene. It translates an input 3D scene to a 2D image through rendering.
- [BUiLDER] New Image Node Contant that generates an image color matte.
- [BUiLDER] New Image Node Read used to read a still image or a sequence of images from disk.
- [BUiLDER] New Image Node Merge that merges two or more Image Nodes resulting in a new image.
- [BUiLDER] New Image Node Reformat used to resize an input image to a new resolution.
- [BUiLDER] New Image Node Color Space allowing to transform the color space of input Image Node.
- [BUiLDER] New Image Node Unmult that divides (unmultiplies) RGB channel of the input image by the Alpha channel.
- [BUiLDER] New Image Node Premult that multiplies RGB channel of the input image by the Alpha channel.
- [BUiLDER] New Image Node Grade to perform basic grading operations on the input image.
- [BUiLDER] New Image Node Reorder used to redirect an image layer to another one. This node is meant to reshuffle image layers and image channel layers.
- [BUiLDER] New Image Node Multiply that multiplies an input image by a specific color.
- [BUiLDER] New Image Node Blur that blurs an input image using a box or gaussian filter.
- [BUiLDER] New Image Node Diff that returns a specified color if the difference between input A and B is higher or equal to a specified threshold. This node is extremely useful when comparing two images together.
- [BUiLDER] New Image Node Offset that offsets the input image in X and Y.
- [BUiLDER] New Image Node Optix Denoiser that is used to denoise an input render image using NVIDIA OptiX Denoiser.
Process
- [BUiLDER] A new set of Process nodes is introduced designed to run a specific task such as writing an image to disk, for instance. Unlike other Clarisse nodes, process nodes are not directly part of the evaluation graph. For more information on process nodes, see the Reference Guide.
- [BUiLDER] New Image Node Write node that evaluates an input image and save it to disk. You must use this process if you wish to save images.
- [BUiLDER] New Image Node Write Deep node that saves a Deep EXR to disk from an Image Node Render.
- [BUiLDER] New Merge process node to execute an ordered list of processes sequentially.
- [BUiLDER] New Variable Range process node that executes an ordered list of processes by iterating an input variable on a specified range of values. This process can be seen as a for/loop statement.
- [BUiLDER] New WriteAbc process node that allows to bake the content of an input Scene Assembly node into an Alembic cache.
- [BUiLDER] New Script process abstract node that let you extend Clarisse with custom processes written in Python.
SDK Changes
General
- The current flavor (iFX or BUiLDER) can be queried using AppBase::get_flavor(). (10391)
- 2 keywords have been added to shelf definition syntax: (1) for individual items: flavor (may be set either to "ifx" or "builder"); (2) for categories: advanced_only (yes or no). A category which is stamped as advanced_only, will not show at all in Clarisse iFX.
- A new section in the SDK documentation has been added to guide you on transitionning your C++ or Python codebase from Clarisse 4 to Clarisse 5.
- The meta header file gmath_vec.h was removed and all includes of it need to be replaced with explicit includes of gmath_vec2.h, gmath_vec3.h and/or gmath_vec4.h, as appropriate. Similarly, the meta header file gmath.h was removed and all includes of it need to be replaced with includes of the relevant subsets of header files previously bundled therein.
Scripting
- Renamed Language class "Python" to "Python2" and added an alias to the old name.
- Added new Language class "Python3".
- Renamed Scripting engine class "ScriptingPython" to "ScriptingPython2" and added an alias to the old name.
- Added new Scripting engine class "ScriptingPython3".
- The helper script "pyqt_clarisse.py" for Python 3 doesn't support PySide and PyQt4 because these Qt bindings are not supported by Python 3, only PySide2 and PyQt5 are supported. Note that the corresponding helper script for Python 2 is unaffected and still supports PySide and PyQt4.
Project Management
- The default context is not a child of the "project:/" context anymore. It is now a root context "default:/", at the same level as "project:/". This means that all scripts getting items in the default context must be updated. For instance, "ix.get_item("project://default/material") should become "ix.get_item("default://material"). (9392)
- Tools and Widgets are now stored inside their respective root contexts "tools:/" and "widgets:/". This means that all scripts getting items in the default context must be updated. For instance, "ix.get_item("project://picker") should become "ix.get_item("tools://material"). (9392)
- Now AppObject::load_project() can only load project files (.project). When it is called from Clarisse iFX, the scene is loaded inside the "project:/" root context. When it is called from Clarisse BUiLDER, the project is imported as a context created at the top of the build. (10700)
- New AppObject::load_build() that must be called to load build files (.build). This method only works in Clarisse BUiLDER and fails in Clarisse iFX. (10700)
- New AppObject::load() that wraps AppObject::load_project() and AppObject::load_build(). Depending on the license level (iFX or BUiLDER) it either calls AppObject::load_project() or AppObject::load_build(). (10700)
- Removed useless public method OfAttr::add_entry(const ParserEntry&, void*, const
- UsdReferenceContextEngine (module.usd): new built-in reference context engine dedicated to USD files, to allow hosting features specific to USD.
- OfContext::is_reference: modified behavior. Previously this API returned true if the underlying context engine was an OfFileReferenceContextEngine. Now, this API also returns true if the engine is an UsdReferenceContextEngine. Behavior is subject to change.
- OfContextEngine::is_usd_reference_engine: new public API to query if the context engine is an instance of the new UsdReferenceContextEngine. Subject to change.
- OfContextEngine::supports_localize: new virtual API to query if the engine supports being localized (Make Local). Returns false by default but derived engine classes can override it to specify their support for such a feature. OfFileReferenceContextEngine and UsdReferenceContextEngine override it.
- OfOverridesContextEngine::get_top_override_engine(): new protected API to get the top override engine. This was already available via OfOverrides but required the engine class to be friends with that class. This new API removes the need for OfOverridesContextEngine sub-classes of being friends with OfOverrides in order to get the top override engine.
- OfFileReferenceContextEngine::change_override_root_path: moved to OfOverridesContextEngine for consistency.
Scene Assembly
- [BUiLDER] A new virtual method OfContextEngine::get_status_bar() has been added. It allows to customize the status bar displayed inside the context node in the build view. For example, it is possible to display a warning bar if something is going wrong when generating the content of the context. You can see how it is implemented in the class SceneAssemblySetColorContextEngine in the SDK examples. (9780)
- [BUiLDER] Added two new examples into the SDK: (1) scene_assembly_set_color : it shows how to create a scene assembly node and how to manipulate items (add new item, remove item, and override attributes values of objects); (2) scene_assembly_read_asset_package : it shows how to create a read node and how to load assets on demand (9818)
- [BUiLDER] Added RemoveAllEdits command dedicated to SceneAssemblyEdit nodes. (10008)
Geometry
- Added a new method get_instances_time_offset() in ModuleSceneObjectTree allowing to get the time offset applied on each instance.
Animation
- New SetCurveExtrapolationMode command to specify the pre/post behavior of FCurves. (5699)
- New command InsertKeysAt: it inserts an animation key at given time (with no shape modification) for specified attributes.
- New command BakeFCurveCmd: it replaces all existing animation keys by linear keys regularly spaced in time for specified attributes.
- New command SetFCurveCmd: it sets animation FCurve (described in serial format) for given attributes. Please note this command cannot be used in a Python script.
- The command SetKey has a new signature to paste several keys described in serial format. Please note this command cannot be used in a Python script.
- SetCurveCmd / AppBuiltinCommands::set_curve have a new signature that takes the whole serialized FCurve as argument, so that bezier flags & tcb values are handled. The other signatures are now deprecated.
- Add AppBuiltinCommands::add_curve_value that takes the raw array of values.
- MoveCurveValueCmd & AppBuiltinCommands::move_curve_value have a new short argument (1=x-only, 2=y-only, 3=both).
- SetKeysTCBValuesCmd, SetKeysPropertyValues, SetKeyTangentsCmd now handle both curve attributes & animation.
Rendering
- ModuleSubPixelFilter's pre/post_evaluate functions have been renamed into pre/post_render. These functions also now take a CtxSubPixelFilter object as input which contains AOV descriptions and a RendererMetadata. (10404)
Image
- The Quality enum in ModuleImage now must be accessed this way: api.ModuleImageQuality.QUALITY_FULL (and no longer api.ModuleImage.QUALITY_FULL).
Process
- [BUiLDER] Added two new callbacks in module_process. ModuleProcess::begin() must implement the pre process to apply before running the process from a batch process. ModuleProcess::end() must implement the post process to apply after the process has been run from a batch process. (9988)
Deprecated API
- The obsolete command LocalizeAttrsInCmd has been removed. (10914)
- Removed the project file directive "import_abc".
- AppObject::retrieve_scripting_engine: replaced with AppObject::get_scripting_engine_object.
- AppObject::get_scripting_module: replaced with AppObject::get_default_scripting_engine_module.
- AppBase::set_default_display_color_space: replaced with AppBase::set_default_view_transform.
- AppBase::get_default_display_color_space_name: replaced with AppBase::get_default_view_transform.
- ColorIO::get_display_color_space_names: replaced with ColorIO::get_display_view_names.
- CoreHashTable<t>::get_iterator: removed, use for-range loops instead.
- ShaderHelpers::evaluate_support_material : replaced with a new overload with the same name, but that uses CoreBasicArray parameters instead of raw pointers.
- ShaderHelpers::evaluate_support_texture : replaced with a new overload with the same name, but that uses CoreBasicArray parameters instead of raw pointers.
- ShaderHelpers::evaluate_vertices_texture : replaced with a new overload with the same name, but that uses CoreBasicArray parameters instead of raw pointers.
- sys_globals: launch_process: replaced with sys_launch_process.
- sys_globals: launch_process_and_wait_result: replaced with launch_process_and_wait_result.
Congratulations you made it till the end!
Enjoy Clarisse 5 now!
