Isotropix Forums

New Clarisse 5 SP6!

News related to Clarisse 5

New Clarisse 5 SP6!

Unread postby release_team » Thu Dec 16, 2021 12:32 pm

We're very pleased to release Clarisse 5.0 SP6!
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 SP6:

New Features and Enhancements
Attribute Editor
  • Most of the actions available in attribute contextual menu can now be applied on a whole category, and optionally sub-categories. For example, it is now possible to localize a whole attribute category: right-click on an attribute group title and choose Localize or Localize Recursively from the popup menu. (#11817)
  • Added a new motion blur mode "Read Velocities (distance per frame)" on Alembic geometries to support files using this velocity format. The existing mode "Read Velocities" was renamed to "Read Velocities (distance per second)". (#11967)
  • The expressions "get_context()", "find_item()" and "get_string()" now return project paths (starting with "project:/") instead of build paths (starting with "build://project"). This allows to target items using expressions in rule attributes (like Inclusion Items attribute of groups). (#12028)
  • It is now possible to select the variance type (signal or estimator) to be computed for AOV store and LPE objects. (#11970)
  • Renamed specular_ior, coat_ior and thin_film_ior attributes of the Autodesk Standard Surface Maerial to specular_IOR, coat_IOR and thin_film_IOR in order to match the original specification. (#11992)

Bug Fixes
  • CLARISSE_USER_CONFIG_DIR can now be overridden by specifying an environment variable of the same name. Note that the content of said variable should be a valid path to an existing directory which Clarisse has write access to.
    Fixed logs being output in the incorrect folder when setting the "Log File Path" preference to ".". (#11960)
  • Fixed "project" root context that could be renamed into "project1" when using CNode (#11990)
Attribute Editor
  • Fixed a regression introduced in Clarisse 5.0 that prevented to drag & drop items from default context (Material, LPE) onto the target attribute (object selector or object spreadsheet). (#12009)
  • Fixed a bug that caused some object Action buttons to appear borderless in the Attribute Editor (example: ConstraintSurface actions "Pick Target", "Set Offset", "Set Rotation"). (#11972)
3D View
  • Fixed instabilities when adding or removing objects and when there were particle clouds in a scene (#12049)
Graph Editor
  • Fixed a crash introduced in Clarisse 5.0 when a curve is removed from an attribute whereas some of its keys were selected in the Graph Editor. This occurred either when using Remove FCurve, Reset Attribute, or undo the first SetKey command. (#11973)
Material Editor
  • Fixed a crash that occurred when displaying the highlight stream of a pass-through texture node with no pass-through attribute set. (#11994)
  • Fixed a regression introduced in Clarisse 5.0 that was preventing full graph to be displayed when dots are part of the selected material's network.
    Fixed a cosmetic issue when creating a link from a dot: the dot's anchors were not dismissed once picked and stayed forever visible. (#11982)
Build View
  • [BUiLDER] Fixed connectors display on SceneAssembly context nodes when forced to expose their plugs (when connecting to it or when hovering it with Z key pressed). (#11996)
Scene Assembly
  • [BUiLDER] Fixed context export that led reference type attributes to point onto incorrect objects. (#12012)
  • Fixed motion vectors AOV that didn't work on static combiner/scatterer/geometry bundle with animated transform or parented to an animated scene item. (#12022)
  • Fixed potential issue with LPE tags for random-walk SSS in Disney material (#11758)
  • Fixed a regression introduced in Clarisse 5.0 that could lead scatterers with a lot of instances to take much more memory than before. (#12045)
  • Fixed missing "import sys" in Python script (#12032)

SDK Changes
  • Fixed a bug in AppEnv::get_user_env_folder_path where it returned the parent directory of the folder in which the Clarisse env file is located, instead of the directory itself. (#11960)
Material Editor
  • When defining a new module of your own, it is now possible to make it instantiable/importable/filterable in the Material Editor programmatically.
    Implement a component interface as follows: (#11947)

    cpp code

    class ComponentNodalVisibilityImplementation : public ComponentStaticImplementation {
    ComponentNodalVisibilityImplementation(ComponentFactory *factory) : ComponentStaticImplementation(factory) {}
    virtual bool get_static_components(ComponentCollection& components) const override
    components.set_value(0, "class_name", "MyClass"); //OfClass name
    components.set_value(0, "instantiable", true); // true makes it instantiable, so that class is visible in the left tree and in TAB menu.
    components.set_value(0, "ui_name", "Nickname"); // optional pseudo-category (OfClass name is used by default)
    components.set_value(0, "importable", true); // true makes it displayed as part of the network
    components.set_value(0, "filterable", true); // true adds a filter button in toolbar
    return true;

    And register component implementation once, for example in ::on_register_module

    cpp code

    ComponentFactory& cf = app.get_component_factory();
    const ComponentInterface *iface_visi = cf.get_interface("MaterialEditorVisibility");
    cf.set_implementation(*iface_visi, MyModule::class_info(), new ComponentNodalVisibilityImplementation(&cf));
  • Any Python scripts written since Clarisse 5.0 and working with attributes containing expressions with a call to "get_context()", "find_item()" or "get_string()" must now take into account that they return a project path instead of a build path. (#12028)
  • GMathRay is now a templated class with double as a default value : template<typename REAL = double> class GMathRay
    GMathRayDifferential is now a templated struct with double as a default value : template<typename REAL = double> struct GMathRayDifferential
    The enum RayGeneratorCameraPerspective::FitMode is now in CameraPerspectiveEnums::FitMode in the file ray_generator_camera_perspective_enums.h
    The RayGeneratorCameraPerspective::Shape class is now a templated class RaygeneratorPerspectiveShape in the file ray_generator_camera_perspective_enums.h
    The callback static void get_lens_sample_callback(const RayGeneratorPerspectiveData<double> &, const ImageSample<double>& pixel_sample, GMathVec2d& sample_lens) is now taking a const RayGeneratorPerspectiveData<double>& instead of const RayGeneratorCameraPerspective&
    RayGeneratorCameraPerspective constructor is now taking the CameraPerspectiveEnums::FitMode as a parameter
    The function RayGeneratorCameraPerspective::set_field_of_view is no longer taking the CameraPerspectiveEnums::FitMode as a parameter
    The functions RayGeneratorCameraPerspective::set_shape are taking a const RaygeneratorPerspectiveShape<double>& instead of a const Shape& (#12074)
  • Fixed bugs in refract(...) and compute_exact_conductor_reflectance(...) in shader_helpers.icc/h
    Deprecated and moved reflect(...), refract(...), reflect_and_refract(...), fresnel_dielectric(...), fresnel_conductor(...) and compute_exact_conductor_reflectance(...) from shader_helpers.icc/h to gmath_fresnel.h
    Deprecated and moved compute_approx_conductor_reflectance(...), compute_exact_conductor_reflectance(...) and compute_exact_conductor_terms(...) from pbr_fresnel_helper.hh to gmath_fresnel.h
    Deprecated and moved reflect(...) and refract(...) from pbr_bxdf_helpers.h to gmath_fresnel.h, and deprecated compute_reflection_ray_microfacet(...) and compute_refraction_ray_microfacet(...) in pbr_bxdf_helpers.h
    Removed check_integration_domain parameter from PbrBxdfs' configuration(), and added set_check_integration_domain(...) function to relevant BXDFs
    Replaced has_internal_reflection parameter from configuration of microfacet-reflection and Ward BRDFs with set_has_internal_reflection(...) function
    Introduced isotropic and anisotropic Ward NDFs, and merged isotropic and anisotropic Ward BRDFs into a single Ward BRDF whose degree of anisotropy is solely determined by the given NDF
    Deprecated compute_reflection_ray() and compute_refraction_ray() in pbr_bxdf_helpers.h
    Moved get_prob_axis() and get_prob_channel() from PbrSss to PbrSssScatter, and sss_random_walk_filter_intersection_callback() from PbrSss to PbrSssRandomWalk
    Templated Beckmann, GGX and sheen microfacet distributions, as well as visible-normals sampler to support both single- and double-precision floating-point representations
    Templated compute_sampling_cosine_weighted_direction_ray() and sample_quadrant() in pbr_bxdf_helpers.h, reflect() in gmath_fresnel.h, gmath_transform_local_to_world() and gmath_transform_world_to_local() in gmath_utils.h, and hemisphere_cosine_concentric() and map_spherical_to_cartesian() in mapping.h to support both single- and double-precision floating-point representations
    Modified sampling and evaluation routines of Beckmann, GGX and Sheen NDFs to return the weight instead of the NDF value
    Removed D(), pdf_factor(), and microfacet normal from lambda() function of PbrMicrofacetDistribution
    Moved G() and smithG1() from pbr_microfacet_distribution.h to gsmf_smith.h (#11758)
  • The GMathMatrix4x4(const CoreBasicArray<U>& src_array) constructor has been deprecated and should be replaced with set_array<true>(...) instead. (#11841)
  • Fixed a bug in GMathMatrix4x4::multiply_transpose(GMathVec4, const GMathVec4, const GMathMatrix4x4). (#11798)
User avatar
Posts: 126
Joined: Wed Oct 21, 2015 10:31 am

Return to Clarisse 5