Isotropix Forums

New Clarisse iFX 4.0!

New Clarisse iFX 4.0

New Clarisse iFX 4.0!

Unread postby release_team » Thu Jan 31, 2019 7:48 pm

Dear Clarisse users,

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

What's new in Clarisse iFX 4.0:

New Features and Enhancements
3D View
  • It is now possible to render playblasts as a sequence of images directly in the 3D View. The HUD has also been improved to display additional information such as project name, frame count current frame number... which is very useful when rendering playblasts. Check the user guide for more information. (#951)
  • Volumes have now a Display Density Cutoff attribute which clips part of the volumes that are below a specified density value. This display attribute which is very useful when set-dressing volumes, only affects volume rendering in the 3D view while not in Progressive Rendering mode. (#8254)
3rd Parties
  • Clarisse 4.0 core has been updated to be compliant with VFX Reference Platform CY2018. (#8343)
  • The Start and End Frame of the application timeline can now be globally set for the Application or the Project in the Preferences Panel. You can find this setting in the Animation section of the Preferences Panel. (#6983)
  • A new Surface constraint has been added to constrain an item to an arbitrary primitive of a geometry following the animated transformation and deformation of the underlying geometry. Note that it is possible to directly constraint an item to a surface using the Clone Stamp tool. For more information, please refer to the user guide. (#2363)
Attribute Editor
  • A new interface divider has been added to the Attribute Editor to easily reveal the full name of cropped attribute names without the need to resize the whole UI. This new divider is located at the top of the Attribute Editor. It controls the ratio between attribute names and attribute value widgets. (#8741)
  • It is now possible to setup CNode in order to easily render a single frame on multiple machines using tiles. To enable tile rendering add the command-line argument -tile_rendering followed by the total number of tiles the image should be split to and the actual tile number to render. Note that the final image must be reassembled back from the rendered tiles using a compositing application. For more information, please refer to the user guide. (#6965)
  • CNode now has the ability to resume an incomplete or previously interrupted render. It is also possible to extract the image from CNode while it is rendering. For more information, please refer to the user guide. (#6513)
  • It is now possible in the Explorer to display only overridden items and or localized instances. (#7967)
  • As mentioned during 3.6 release CRender is discontinued and no longer available. (#9227)
General UI
  • It is now possible to set directly the Content Directory using Clarisse File Browser by right clicking on a directory and choosing Set As Content Directory. (#8703)
  • The Explorer and Hierarchy View have been enhanced so that they have columns displaying item information such as item class, creation date and so on. By default, only the item class column is displayed. However, it is possible to hide/show columns by right clicking to the column header section. (#7220)
  • Clarisse now asks for user confirmation when deleting items that have instances. However, for experienced users, it is possible to go back to the previous silent behavior by going to the Preferences Panel. In the General section, set Delete Confirmation Message to None. When set to Source (default settings) the user is prompted each time an item is the source of one or more instances. (#1837)
  • It is now possible to clear the log using the contextual menu of the Log widget. (#9048)
  • The Search widget has been greatly improved and optimized. It now displays a visual hint to show the user that displayed results are out of date which happens when existing items are renamed/deleted or when new items are created. In that case, the result count turns red and a reload button is then displayed. It is also possible to call a refresh action to update Search widgets via Python. A new script refreshing all opened Search widgets has been added. This script can be found in the General tabs of the application shelf. (#7700)
  • The Combine action found in Edit > Combine has been improved to work with Groups. When using Edit > Combine on a group, the actual group is now added to the newly created Combiner. (#2985)
  • It is now possible to reset Gamma and Exposure to default values by directly clicking on their respective icons in the Image, 3D and Texture View. (#7101)
  • A new Reference sub-menu has been added to the item contextual menu of widgets displaying items. This new Reference sub-menu, allows you to quickly perform Revert Overrides, Export Context and Make Local actions without the need to go to main application File > Reference menu. Note that the Make Local that converts instances to local items is still under Instantiate in the contextual menu. (#7028)
  • The user interface has been improved to display a "..." visual hint next to a toggle button in a toolbar (such as the 3D View's HUD) when it has options. Click on "..." next to the button or Shift + Click the button to display its options. (#8585)
  • The Path Manager has been improved. It now offers a filter to display only remote items or local items which is very useful when working with references. Additionally, the top list no longer displays icons as a same resource/file can be used by various item of various types. The icon was misleading in such cases. The bottom list has been also improved to display the appropriate icons for references. (#7175)
  • The memory footprint of Scatterers has been reduced. This is mainly noticeable when copying or instancing Scatterers. (#1491)
  • It is now possible to render fur/hair/curves using render-time adaptive tessellation. For more information, please refer to the user guide. (#7972)
  • It is now possible to import ZBrush's fibermesh (FMG) in Clarisse using the new Fur File. To import a FMG, go to Create > Geometry > Fur File and set the filename to the FMG you wish to import. (#9013)
  • It is now possible to bring USD files in Clarisse as USD Geometry Bundle. (#7545)
  • The Resolution Multiplier of the Image now supports 75% and 150%. (#6128)
  • It is now possible to use an item or a group of items as holdouts/matte objects directly in the 3D Layer. To set holdouts/matte objects, you just have to set a group to the Matte Objects attribute of the selected 3D Layer. It is also possible to change both Matte Color and Matte Alpha in the 3D Layer too. (#6524)
Image View
  • It is now possible to pick visible lights in the Image View which also displays Light's 3D icons when selected. (#9187)
  • The Display Pickable attribute found on Scene Objects is now taken into account by the Image View. (#8974)
  • It is now possible to choose the display mode of Image Channel Layers/AOVs in the Image View. Please refer to the user guide for more information. (#8183)
  • Alembic support has been updated to Alembic 1.7. Alembic 1.7 brings the support of alembic layering and various notable speed improvements which can be found in Alembic Geometry Bundles and Alembic References. (#8968)
  • It is no longer possible to import Alembic caches as a scene using File > Import Scene. Alembic caches must now be referenced using File > Reference > File... when brought into Clarisse. For compatibility purpose, old projects containing imported Alembic caches can still be loaded. However, this will no longer be supported in the next major version of Clarisse. The project directive "import_abc" no longer loads Alembic files and will display a warning when used. Please replace the project directive by "reference_file" instead. However, it is still possible to import Alembic files using the C++ and Python APIs (IOHelpers, AbcScene, Python Clarisse helpers), but a warning will be displayed to warn about the deprecated nature of this feature. (#8832)
  • OpenColorIO support has been improved to support looks. (#4315)
  • It is now possible to reference USD files. Note that the preference Alembic > Visibility Mode has now moved to the Geometry section of the Preferences Panel because this setting is now shared by USD and Alembic. (#8400)
Object Framework
  • It is now possible to use expressions to drive the value of item attributes. The expression language is based on SeExpr. For more information please refer to the user guide. (#6878)
  • It is no longer possible to create legacy lights and materials. However, partial compatibility has been implemented to load old scenes. Please note that the legacy compatibility layer will no longer be available in the next major version of Clarisse. (#8128)
  • AOVs from legacy materials have been moved in a deprecated section of the AOV Editor. They will be removed in the next major version of Clarisse. (#9169)
  • It is now possible to offset globally the density of a volume using the Volume Density Offset attribute. (#2297)
  • An improved color correction texture node controlling saturation, contrast, gamma, gain and offset within a single node has been added. (#7432)
  • Lights can now be visible to camera rays. By default, lights are invisible like in previous version of Clarisse. However, to make a light visible to the camera, simply uncheck the attribute Unseen By Camera. (#5781)
  • It is now possible to add AOV Stores to output custom AOVs directly in the 3D Layer. This simplifies greatly the workflow when creating scene-wide custom AOVs such as occlusion. (#7089)
  • The Input attribute of the AOV Store can now be driven by a shading variable in order to avoid using of an additional Constant Color node. (#5592)
  • The directional sampling of scattered light in a volume has greatly improved. (#4593)
  • Added the ability to sample the environment light through user-defined rectangular portals (note that using Sample Clamping in the path tracer and/or fake caustics through translucent materials might yield differences compared to the illumination of the environment light) (#6700)
  • The raytracer now supports adaptive anti aliasing sampling. For more information, please refer to the user guide. (#108)
  • It is now possible to use IES light profiles on Sphere lights. (#5411)
  • It is now possible to enable or disable Scene Objects self shadowing using Receive Self Shadows attribute. (#4163)
  • Texture map files now outputs a default color when a texture file is not found. (#8705)
  • It is now possible to finely control mip-mapping computations and texture sharpness by using Maximum Mipmap Level and Mipmap Quality attributes in Texture Map, Map file and Streamed Map file. (#8291)
  • Added diagnostics_ray-count and diagnostics_camera_sample-count two new builtin render diagnostic AOVs which respectively return the total number of ray trace calls used during rendering and the total number of camera samples used during rendering. The last one being only useful when using adaptive anti-aliasing. For more information please refer to the user guide. (#3840)
  • Diffuse, specular and transmission computations now compensate the loss of energy on rough surfaces due to multiple scattering. For more information please refer to the user guide. (#5446)
  • Added many diagnostic AOVs allowing to find where the time is spent during rendering. Please refer to the user guide for more information (#8980)
  • It is now possible to texture and drive the number of samples used during anti aliasing. Please note that the texture is evaluated in image space. This feature is very useful to clip areas of the rendered image. For more information please refer to the user guide. (#8185)
  • Greatly improved physical area lights sampling in volumes so that scattering of lights in volumes is now more accurate and converges faster. (#5264)
  • It is now possible to control how the density of volumes should behave when scaled using the attribute Density Scale Compensation. (#8053)
  • The sampling of the spot light has greatly improved. (#7872)
  • The spot light has been improved with a new physically correct thin-lens defocus texture projection. (#8120)
  • The volume material has been improved to provide two new user-friendly input modes to specify the optical properties of the volume. (#7809)
  • Improved rough diffuse model in materials with diffuse components. (#8951)
  • The Script Editor has now an autocomplete feature that can be activated by pressing Ctrl + Space. (#8885)
  • It is now possible to pick the displacement or the clip map texture of the underlying geometry using the Picker tool. (#6432)
  • Added a new preference to choose the default spaces of transform tools. For more information please refer to the user guide. (#9029)
  • The Ruler tool has been improved to provide vertex snapping. Hold V to activate snapping and Middle Click + V to modify the snapping area sample box. For more information please refer to the user guide. (#8680)
  • It is possible to use Ctrl + Alt modifiers to transiently invoke the Pick Fit tool. (#8100)
  • It is now possible to display the distance to the camera using the Ruler tool. It is also possible to set let the Ruler fill the clipboard buffer with measured values to simplify copy/paste operations. For more information please refer to the user guide. (#7688)
  • A new Transform tool manipulator is now available. For more information please refer to the user guide. (#1893)
  • The Clone Stamp tool has been improved so that you can now specify in which destination context clones should be created. (#3005)
  • It is now possible to change the source of the clone while stamping the clone. When you have set a list of items to clone, you can now change the source of the clone while dragging and pressing Page Up/Page Down to navigate in the source list. (#7427)
  • It is now possible to attach a Surface constraint on clones when using the Clone Stamp tool. This way the item will stick to the surface even if the underlying geometry is transformed or deformed. (#8520)
  • It is now possible to generate path strokes UV properties using the Particle Paint. Please refer to the user guide for more information. (#8659)
  • The manipulation tool handles are now displayed in a pseudo pastel-look when an attribute value of the manipulated item is locked, driven by an expression or constrained. (#8771)

Bug Fixes
3D View
  • Fixed a minor display offset glitch in the 3D view. (#8663)
Attribute Editor
  • Fixed a widget update issue that could sometimes occur when selecting objects. (#6814)
  • Fixed a drag and drop bug that could occur in the Attribute Editor when items were not selected. (#8818)
  • Fixed an update issue in the Attribute Editor that could occur on attribute values of instances. (#8707)
  • The Browser Picker of the Attribute Editor now forbids the user to delete items related to the item(s) currently displayed in the Attribute Editor (such as source of instances, parent contexts...). (#2635)
  • Fixed a bug in CNode that created an empty preference folder next to the binary when no preference folder existed (Linux and macOS only). (#9207)
General UI
  • Fixed an issue that occurred on child windows of modal parent windows. (#7934)
  • Fixed a display bug that occurred in the Timeline widget when changing FPS and when time unit was set to Second or Time Code. (#7743)
  • The Path Manager now sorts properly its content whenever they are updated. (#3446)
  • Fixed a crash that could occur when rendering Combiners or Scatterers that contained animated geometries with motion blur. (#9149)
  • Fixed a massive memory leak on animated Alembic Bundles that occurred when changing the current frame. (#8068)
Image View
  • When a camera has a constraint, the view manipulation (Alt+mouse) is now allowed according to the constraint type. For example, if the camera is constrained to a Target, the user will be able to zoom and pan. However, if the camera is constrained to a Point no manipulation is possible. (#8739)
Material Editor
  • Fixed an issue that could occur during the creation of a new link. When combined with another action such as panning or zooming in the material editor, the link could remain displayed even if the mouse button was released in an empty area of the screen. (#7784)
Object Framework
  • Copying/Pasting attribute value now works even when the copied attribute has default value. (#8679)
  • It is now possible to use the full 32 bit range for IDs in Scatterers. (#8819)
  • Fixed an issue that was causing slowdowns in scene update propagations. (#7847)
  • Fixed crashes that occurred when deleting objects. (#8243)
  • Fixed energy loss and bug in continuation probability of Russian roulette (decrease value in case of increased noise levels). (#9223)
  • Fix a bug on physical lights that caused attenuation curve to be ignored by rendering when light is just read from file. (#6764)
  • Fix a bug on physical lights that caused attenuation curve to be ignored by rendering when light is just copy-pasted. (#7267)
  • Fixed NANs occurring in Beckmann NDF, especially at low roughness values (#8861)
  • Fixed an issue with the light physical sphere light that was not working when the radius was 0. When set to 0 the light is now considered as a point light. (#8330)
  • Fixed cylinder, plane and spot lights illuminating back-facing materials, as well as a bug causing non-white shadow color to be cast from light sources onto non-shadow-receiving geometry. (#9069)
  • Fixed a bug in the evaluation of the Oren-Nayar BRDF, and revised handling of attributes in the standard, diffuse and iridescent materials. (#7988)
  • Fixed overly-diffused SSS presets at a given geometry scale, and added option to select the desired volume/surface mean-free path specification model. (#8210)
  • Fixed a bug in the illumination from a non-rigidly transformed plane light. (#8217)
  • Fixed a bug causing the basic and advanced perspective cameras not to focus on the actual focal plane containing the center of an off-axis Focus Object. (#8281)
  • Fixed a bug when evaluating the occlusion of a luminaire by another area light source. (#7891)
  • Fixed the syntax coloring in the script editor that was not working correctly upon a project load. (#8721)
Shading Layer
  • Fixed a bug that could lead Clarisse to crash after a File > New Scene when a Shading Layer Editor was displayed. (#7313)
  • Particles are now visible to the Property Paint and Particle Paint tools (when erasing) even if a ParticleContainer is hidden in the 3D View. (#9062)
  • Fixed a bug that could lead the Search widget to display items that were not supposed to be visible. (#7929)

SDK Changes
  • Fixed a crash in CoreList::set_array that could occur when passing an empty CoreArray or a null/empty C-array.
  • Fixed a bug in CoreList::set_array that could occur when passing an array of a size smaller than list size. (#8384)
  • Fixed an issue with the EventObject::disconnect() method that could end up disconnecting the wrong objects. (#7741)
  • Simplified the declaration of classes using the internal RTTI CoreClassInfo. DECLARE_CLASS and IMPLEMENT_CLASS macros must always be used now, as soon as a class inherits directly or indirectly from a CoreBaseType or a CoreBaseObject.
    Two new macros IMPLEMENT_TEMPLATE_CLASS and SPECIALIZE_TEMPLATE_CLASS have also been added to simplify the declaration of template classes. (#8354)
  • The Search widget now declares an action that can be used to update its content. The following script refreshes all Search widgets opened in the user interface:
    Code: Select all
    wins = ix.api.OfObjectArray()
    ix.application.get_factory().get_root().get_all_objects("WidgetSearch", wins)
    for i in range(wins.get_count()):
  • SdkHelpers::combine_items now considers groups as SceneObject containers. Each group is added to the resulting Combiner list. (no flattening). (#2985)
  • Added a new geometry module example for creating a CurveMesh from ZBrush's fibermesh file. (#9013)
  • The helper function is_matte_object is added in two variants in ctx_helper.h.
    The first version simply check if the object was marked as matte or referenced in the current layer's matte object group.
    The second use the same algorithm and also evaluate the matte color and alpha of the object or matte group. (#6524)
  • ModuleConstraint::XformModifierCallback returns which component(s) of an xform is(are) altered by the constraint.
    ModuleSceneItem::get_xform_constraint_modifier() iterates on its embedded constraints and returns the or-ed mask.(#8739)
  • OfFileReferenceContextEngine::LoadObjectsCallback is now taking an array of filenames instead of a single filename. (#8409)
  • It is now possible to specify in the CID file the default OfObject name that is used when OfObject instances of a OfClass are created in the factory. (#7182)
  • Improved cmagen to avoid creating a full application each time it has to compile a CID file. This removes some oddness that could occur when recompiling modules when an older version was existing. (#7961)
  • Version numbers are no longer defined as double but as CoreVersion instead. (#7599)
  • Fixed a bug in cmagen that wasn't supporting correctly #include directives in CID files. cmagen wasn't tracking the include file dependencies so that it wouldn't regenerate a CMA if an include file was modified. (#9068)
  • OfExpr::compute has been replaced by OfExpression::compute which can be found in of_expression_utils.h header file. (#9096)
  • The interface of the ModuleRenderer has been modified in order to split the rasterize functions into multiple parts to make it compatible with any kind of image.
    It is now working with RendererOutput and RendererBucket classes which are interfaces for image containers.
    The new functions are the following:
    - pre_rasterize: must be called before any other rasterization function. It initializes all the data that will be used during the render.
    - rasterize: defines the rasterization loop (bucket order) in order to render the complete image. It calls the render_bucket function internally.
    - post_rasterize: must be called at the end of the render. It applies post processes and frees all the data created during the render.
    - render_bucket: renders a single bucket. This can be called directly instead of passing by the rasterize function. (#7996)
  • BxDFs and lights are now able to specify how many dimensions they need for the sampling. This was hard-coded to 2 before. (#5764)
  • Replaced approximate scheme with an exact 2D importance sampling in ImportanceSampler2d::get_sample(...) (#9032)
  • Fixed issues with ix.application.paste() and ix.api.SdkHelpers.paste(ix.application) that were broken since 3.0. Please note that we do not recommend using ix.application.paste(True, "project:/", "Global"). This method is dedicated for internal use only. It will give unexpected result if a application running on the system fills the clipboard. (#8664)
User avatar
Posts: 73
Joined: Wed Oct 21, 2015 10:31 am

Re: New Clarisse iFX 4.0!

Unread postby nguiard » Fri Feb 01, 2019 2:46 pm

Dear Clarisse users,

We've discovered that we have released by mistake a prototype of a new version of the multiblend texture node.
This new version of the node is not fully functional and breaks the compatibility with older scenes so we're going to release a patch in the coming days in order to restore the old version.

Sorry for any inconvenience.
Nicolas Guiard
Head of R&D
User avatar
Posts: 338
Joined: Fri Jan 25, 2013 11:33 pm

Return to Clarisse iFX 4.0