Isotropix Forums

New Clarisse 5 SP9!

News related to Clarisse 5

New Clarisse 5 SP9!

Unread postby release_team » Thu Sep 15, 2022 2:41 pm

We're very pleased to release Clarisse 5.0 SP9!
As usual, you can download this release from your Download Area.

Clarisse 5 is VFX Reference Platform CY2020 compliant.
More information can be found here:

What's new in Clarisse 5.0 SP9:

New Features and Enhancements
  • We are thrilled to announce to our Mac users that it is now possible to run Clarisse on Apple Silicon through Rosetta! As a good news never comes alone, Clarisse 5 SP9 should now run perfectly on latest macOS Big-Sur and Monterey. (#12542)
General UI
  • Harmonized progress bar titles phrasing and format.
    Progress bar titles, logged only when using -verbose, are now formatted as "ACTION... done in DURATION s." instead of "ACTION... in DURATION s."
    Improved some progress bar titles to be more descriptive when possible (e.g. showing the full name of the involved project item).
    Added and improved some progress bars related to project and context loading. In particular, the log message "Successfully loaded [...] project file [...]" is now correctly logged at the very end of project loading and should show a more accurate loading time.
    If you parse log files, take these modifications into account. (#12384)
  • We've improved and fixed some bugs in the "Log Warning/Error" widget :
    • Fixed log message formatting issues causing inconsistent prefixes and newlines.
    • Changed the log timestamp prefix to show the current system date time instead of the time elapsed since the application started.
    • Increased the widget's default width for more readability, because most log messages were wider than the previous default width.
      Please not these changes only affect Clarisse while the logging system of CNode remains unchanged. (#2859)
Attribute Editor
  • For all attributes using a floating Script Editor, UI settings such as the editor's position, size and zoom factor are now part of the attribute. It means that after the editor has been closed, it reopens with the same settings, even when the project is reloaded. This should improve the user experience for OSL Shader, Process Script, Image and Layer metadata, Scene Object shading variables, as well as expressions .
    At the same time, using Ctrl+S or File>Save in the editor now works as expected. (#12484)
  • Now the Particle Paint tool provides a new Snapper brush. Particles that are selected by the brush are snapped to the nearest geometry, using either the View axis or the normals defined in the Particle Container or any user-defined direction (that can be picked directly in the scene using the K modifier)
    Please note the geometries depending on the currently edited Particle Container are ignored by the Snapper (for example a Scatterer using the Container as geometry support). (#12445)
Image View
  • The global list of recent Image View plate image files is now saved in the project preferences, in addition to the already saved per-widget Background and Foreground plates. (#12448)
  • We've improved the naming of the Snapshot images. (#12466)
  • USD custom properties not starting with either the "userProperties:" or "primvars:" prefix are now registered properly and accessible via a TextureExtractProperty.
    USD custom properties on non-geometry prims are no longer listed by TextureExtractProperty nodes because they can't be used. (#12382)
  • Added support for inherited Primvars in USD. Inherited Primvars will be available and usable via the Extract Property texture node. (#12403)
  • Added a File>Import>Alembic... and File>Import>USD... menu entries to import Alembic and USD files as bundles in the current context. (#12297)
Project Management
  • Export Context As Project is now restricted when you try to export a context that contains File Reference contexts that have external dependencies outside the exported context itself. Such external dependencies were not supported before and would produce confusing behaviors and pending items in unexpected locations, so it doesn't make sense to allow creating them in the first place. There is however a very specific configuration of nested external dependencies that is valid and is still allowed. (#12503)
  • In the Shelf script "Export Project Package", the step that replaces paths in filename attributes, in the output project, is now about 5 times faster, or more depending on the size of the project being exported and the number of filename attributes. (#12528)
  • Improved significantly loading times for big projects containing many 3D Layers with UV Baking. (#12369)
  • Added support for String properties in expressions via the get_obj_var function. (#12418)
Color Management
  • Added a new preference to control OCIO's 3D LUT edge size (color_management.ocio_gpu_shader_lut_3d_edge_size) in the GPU shader code, used by the 3D View, the Image View and the Texture View. Bigger edge sizes result in more accurate colors at the cost of higher GPU RAM usage. The allowed value range is [32, 256] and the default value is 32, like before. (#12158)
  • It is now possible to access to the metalness value and the base color of an Autodesk Standard Surface material in an LPE (see for more details). (#12533)
  • Added a new property "Time Instance Frame" to the TextureUtility node which outputs the frame of the geometry, taking into account time offsets applied on scatterer instances.
    TextureStreamedMapFile has a new "Frame" attribute allowing to specify the frame to consider when resolving the image path on the disk.
    Fixed file sequences in TextureStreamedMapFile that became broken after removing a shading variable from the filename attribute. (#12310)
  • Fixed/improved energy conservation of Beckmann/Ward specular lobes layered over a substrate in the Standard material. (#12304)
  • In Autodesk Standard Surface material, improved the energy conservation of multiple-scattering compensation on the metallic lobe. (#12299)

Bug Fixes
  • Fixed a bug in CNode that caused external dependencies ("ext://") of depth 1 to be resolved incorrectly, resulting in missing connections. Such external dependencies would be resolved correctly in Clarisse but not in CNode since 5.0. (#12496)
  • Fixed the -skip_existing option that was not working as expected when filenames contained #### frame padding strings. (#12426)
  • Fixed a bug in CNode which caused it to fail to resolve relative project paths when using the command-line option "-info". (#12364)
General UI
  • Search widget type sorting no longer crashes when both objects and contexts match the search filter. (#12489)
  • On macOS, fixed OpenGL widgets not working and displaying a completely white view (3D View, Image View, Texture View, Material Editor, Graph Editor, and Build View). Also fixed the Viewport splitting buttons (Split Quads, Split Horizontal, and Split Vertical) not working at all. (#11737)
  • Locking a viewer to a given slot no longer changes the selection in that slot. (#12298)
  • Selection history in a locked viewport no longer shows the same selection several times (locking a viewer was adding 2 copies of current selection). (#12303)
  • In the Selection toolbar, the "Select All" option provided by the "Instances" or "Inputs" menu buttons now works as expected in all cases.
    The "Sources" menu button no longer repeats the same source when several instances of the same source are currently selected. (#12307)
  • Item names in Selection Toolbar are now updated when navigating through selection history. (#12306)
  • Clarisse now resolves Class aliases in default associations configuration files ("Open With Widget" rules). Previously, if a rule was based on a deprecated class alias the application ignored the rule and didn't open the selected item(s) with the associated widget. (#12287)
  • Fixed the status bar being invisible when starting Clarisse on macOS. (#11490)
Attribute Editor
  • [BUiLDER] Fixed a crash that could occur when knife-cutting an input link of a Scene Assembly node in the Build View while an object inside this node was displayed in the Attribute Editor. (#12539)
  • Gradient attribute now accepts pasting only from another Gradient with same dimension. Moreover, it's no longer possible to paste a Curve onto a Gradient as it may break the Gradient in case the curve channels are not synched. The Curve attribute no longer accepts pasting from a Curve or Gradient with higher dimension. (#12355)
  • Fixed custom expressions bound to the "frame" attribute of USD Bundles that were reset to "F" upon reload. (#12480)
  • Fixed a crash that happened when creating or editing a custom attribute with Numeric or UI Range enabled on an object with instances. (#11796)
3D View
  • Fixed a regression with the 3D View that could be broken when there was a Geometry light with not support geometry in the scene. (#12520)
  • [BUiLDER] Fixed the 3D View visibility link on non-context items that was broken and source of many instabilities (#12494)
  • Fixed the Particle/PropertyPaint tools Eraser options that were now working properly. (#12449)
  • Fixed a crash when exporting a geometry as USD Stage while this geometry had non uv-mapped primitives (#12320)
  • Fixed a bug when exporting a USD Stage that could not properly name the objects. (#12491)
  • Fixed issues when exporting face varying normal maps to USD Stage. (#12458)
  • Fixed a bug in USD that was preventing the usage of scalar object properties via the local_var shading variable function. (#12419)
  • Fixed a crash that occurred when referencing a USD Stage containing skinning on instances. (#12288)
  • Saving images into 16bit PNG format now works properly. (#10529)
Project Management
  • Export Context As Project now properly ignores dependencies contained in the built-in context "default:/". Usually, these are implicit dependencies on the default LPEs, materials, etc. Such dependencies are no longer exported when exporting With Dependencies. (#12508)
  • Fixed a bug in the serialization and deserialization of external dependencies that caused the external paths to include the built-in "project" context in iFX. For example, an external dependency on "build://project/object" should have been serialized as "ext://object" but was serialized instead as "ext://project/object". This resulted in unexpected broken connections and pending items when loading such external dependencies. (#12513)
  • Fixed inconsistencies in the GUI that caused actions related to References ("File", "Recent", "Make Local", "Export Context") to appear, as allowed actions, in cases where they shouldn't. In particular, the action "Reference>Export Context" was enabled in some situations where it allowed the user to export and convert regular Contexts to Reference Contexts, which shouldn't have been allowed and that would lead to bugs later. This action now requires that the context is not remote (e.g. not inside a Reference Context) and is deletable. Various logs related to error cases for the "Export Context" feature have been promoted from Warning to Error. (#12501)
  • Fixed a bug that occurred when localizing (Make Local) a reference context containing nested references with overrides, that would corrupt the overrides. Such corrupted overrides would then crash Clarisse when saving the project, or create unwanted pending items on project reload. (#12422)
  • Fixed a crash when localizing a USD Reference context. (#12429)
  • Fixed a regression introduced in Clarisse 5 SP7 which could result in crashes when exporting or loading projects containing invalid reference attributes. (#12311)
  • Fixed a crash that occurred when using the Edit>Select Sources action on a Context which is not an instance. (#10581)
Scene Assembly
  • [BUiLDER] Fixed the Edit nodes that could be broken after copy-pasting a Group inside, in some cases. (#12535)
  • [BUiLDER] It's not anymore possible to enable/disable a read-only object in a Scene Assembly node by using the shortcut CTRL+D or SHIFT+D. (#12538)
  • [BUiLDER] In Merge nodes, fixed an issue with the paths of the items that could be wrong when a same sub-context was merged multiple times inside this node. All the items inside this sub-context in the different input nodes were put inside the same sub-context in the merge node, instead of being inside the correct sub-context created in the Merge node for the associated input node. (#12525)
  • Fixed a bug in the SceneItemCloud that was making the node non-persistent upon project reloading. (#12341)
  • Fixed a crash that could occur on animated Scatterers with motion blur. (#12477)
  • Fixed a motion blur rendering artifacts on USD skinned geometries. (#12390)
  • Fixed incorrect Fresnel and iridescent effects on rough Ward BRDF in Standard, Dielectric, Iridescent and Reflection materials. (#12373)
  • Fixed the Instance Color texture node that didn't work correctly on Scatterers when applying decimation on instances. WARNING : The Instance Color texture node will now be evaluated properly in Clarisse 5.0 SP9 on geometries instantiated in a Scatterer with decimation. It means that shading with such a setup will be different compared to Clarisse 5.0 SP8. You have to consider it before switching to this new version because there is no way to get back to the previous behavior. (#12284)
  • UV bake projection offset is now supporting negative values. (#12275)
  • In Autodesk Standard Surface material, fixed the multiple-scattering strength being always fully active on the metallic lobe regardless of the actual attribute value. (#12296)
  • Fixed infinite values that could occur when evaluating zero-degree Distant lights. (#12292)
  • In Autodesk Standard Surface material, fixed the impact of layers' weight on sub-surface scattering in Diffusion mode. (#12291)
  • OSL Trace is now working properly when motion blur is activated in the renderer. Also, the OSL time variable value is not set to the frame absolute time anymore but to the relative shutter time for the point being shaded (as specified in the OSL documentation). (#12453)
  • Fixed an inconsistency in the sampling of the emission that could be different between Clarisse and CNode. (#12437)
  • When exporting Cryptomatte AOVs in Object mode on a scene with Geometry Bundles, fixed the exported manifest and a crash that could occur. (#12436)
  • In Standard material, fixed the editability of Specular IOR and Specular Roughness attributes when Specular is linked to Transmission. (#12407)
  • Fixed a rendering issue that could produce NANs occasionally when sampling GGX-based BRDFs. (#12406)
  • Fixed a potential crash when using Particle or ParticleProperty editing commands while an evaluation is running. (#12467)
  • Fixed formatting issues in file log messages, causing inconsistent prefixes and newlines. The bug happened when using Python's print function or when a Python exception traceback was printed, for example. (#12354)
  • Fixed a crash that occurred on startup when using an invalid AOV config file in the Preferences, in Rendering > AOV Config File (this preference takes effect after a restart).
    Added a file extension filter (".cfg") in this preference entry to avoid selecting files in the wrong file format. (#8827)
  • [BUiLDER] Changed the default value of the preference "Project > Save Vizroot" (project.save_vizroot) from "yes" to "no" to match the original intended behavior that is documented in the Reference Guide. If you already have an existing Clarisse 5 "clarisse.cfg" preferences file and want to update the preference value, you need to change it manually. (#12433)

SDK Changes
  • IOHelpers::move_particles_absolute and ix.cmds.MoveParticle builtin command now accept arrays of normals and velocities as optional arguments.
    3D View and Image View raycast callbacks can now handle multiple rays either in camera or world space.
    A new method ShaderHelpers::multi_raycast is now available, that casts rays for specified ModuleWidgetQuery (in camera or world space) and returns the hit results in ModuleWidgetRaycastOutput.(#12445)
Project Management
  • AppObject::export_context_as_project and AppObject::export_context_as_build: these APIs will fail when you try to export a context that contains File Reference contexts that have external dependencies outside the exported context itself. This change also affects SdkHelpers::export_context_as_project as consequence. (#12503)
  • New:
    • SdkHelpers::export_context_as_project: this new API, with more arguments, supports all the use cases of the deprecated APIs listed below.
    • The command ExportContextAsReference: has a new signature overload with a new argument that allows specifying if external dependencies should be included or not in the exported project.
    • IOHelpers::export_context_as_project
    • IOHelpers::export_context_as_project_with_dependencies
    • IOHelpers::reference_export_context
    • SdkHelpers::reference_export_context (#12506)
  • Updated Isotropix_Clarisse_Project_Version (aka Object Framework Version) from 0.97 to 0.98. (#12513)
  • The command "ExportContextAsReference" will now fail if the selected context is remote or not deletable. This will prevent hidden problems that would be revealed only when reloading the project containing the converted context. (#12501)
  • Removed the OfContextEngine::remove_all_option_attributes method. The same behavior can be achieved by calling remove_all_attributes on the option object of the context, and clearing the m_option_attrs vector of the context engine. (#12429)
  • GMathInterpolate, PbrParameterLutFunction, PbrBxdfLut and PbrBuiltinLutHelpers have been templated to support both single- and double-precision floating-point formats. Modified PbrLutManager to manage raw PbrLutInfo data instead of type-dependent PbrBxdfLut<float/double>. Moved PbrLutInfo and LUTFile from to Reparameterized interpolate_1/2/3d_lut() to take PbrLutInfo instead of its individual data in pbr_lut.h. Moved get_2/3/nd_flatten_index() from GMathInterpolate to PbrLutInfo.
    Removed Fresnel coefficient parameters from PbrBxdfNormalisation::evaluate(...), and deprecated PbrBsdfNormalisation::configure(reflect_albedo, refract_albedo) and PbrBtdfNormalisation.
    Removed PbrBxdf::s_min_roughness/s_max_roughness, and moved m_average_fresnel from PbrBxdfNormalisation to PbrBrdfNormalisation and PbrBrdfLambertNormalisation.
    Removed static variables s_min_eta and s_min_kappa from PbrFresnelConductor.
    Removed PbrFresnelConductor::s_fresnel_tint_max.
  • The command "RenameItem" now returns the new item name if the name has changed. If the name didn't change or if there was an error, it returns an empty string, It also logs an error if the item path was not found.
    "AppBuiltinCommands::rename_item" now returns a CoreString with the result of the "RenameItem" command. (#12392)
User avatar
Posts: 134
Joined: Wed Oct 21, 2015 10:31 am

Return to Clarisse 5