Mari 4.7v1 Release Notes

Release Date

10 December 2020

System Requirements

Note:  Mari increases its level of performance with newer, more advanced hardware configurations. However, Mari is tested and capable of operating on many older, prior-generation systems. For this reason we are listing below-minimum requirements, which are recommended, and on which tests have been performed. Your particular needs may vary from that of other users.

Officially Supported Operating Systems

  • Windows 7 64-bit or higher
  • Linux 64-bit operating system (CentOS/RHEL 6)
  • macOS Mojave 10.14 or higher

Note:  Linux Desktop Managers: Mari is officially tested on GNOME and MATE. While it generally performs well on other desktop managers like KDE, most of our bug fixes will target those specified above. Some desktop managers like XFCE have not been tested with Mari and therefore will not be supported.

Minimum Hardware Requirements

  • Quad-core processor
  • 10+GB disk space available for caching and temporary files
  • At least 4GB RAM
  • Display with 1680 x 1050 pixel resolution
  • An NVIDIA or AMD* graphics card with the latest drivers
  • 1GB of graphics memory
  • OpenGL 3.2* or higher

*Displacement preview is currently only available on the cards and drivers that support OpenGL 4.0 or newer.

Recommended System Requirements

  • 2.5+Ghz Quad-core processor
  • 250+GB disk space available for caching and temporary files. SSD is preferable.
  • 16GB RAM with additional virtual memory*
  • Display with 1920 x 1080 pixel resolution
  • An NVIDIA or AMD* graphics card with the latest drivers
  • 2+GB of graphics memory
  • OpenGL 4.4 or higher support

*The use of virtual memory improves stability and helps prevent data loss on large projects.

'Recommended' does not guarantee that it meets your particular needs.

Tested Hardware

The configurations listed below are those that Foundry have tested with Mari. Due to the constantly changing nature and wide variety of computer hardware available in the market, Foundry is unable to officially certify hardware. The list below can be used as a recommendation and does not guarantee that it meets your particular needs.

Please download and install the latest graphics driver from the NVIDIA or AMD websites, and ensure that you are using 8.982.1 drivers or higher for AMD cards.

If you encounter any issues, please contact Customer Support directly through the Support Portal at the following address: https://support.foundry.com.

Tested Workstation Hardware

HP
  • HP XW6600
  • HP Z600
  • HP Z620
  • HP Z640
  • HP Z8 G4 Workstation
Apple
  • MacPro6,1
  • iMacPro1,1
  • MacBookPro14,3
  • MacBookPro16,1

Note:  Please note that Mari is not yet supported on Apple M1 chipset computers.

Tested GPU Hardware

AMD Prosumer Graphics Cards
  • AMD Radeon HD - D500
  • FirePro D500 3 GB
  • Radeon Pro 560 4 GB
  • Radeon Pro Vega 64 16 GB
NVIDIA Prosumer Graphics Cards
  • NVIDIA Geforce GTX 660TI
  • NVIDIA Titan X
  • NVIDIA Geforce GT 650M
  • NVIDIA Geforce GT 675M
  • NVIDIA Geforce GTX 1080

  • NVIDIA Geforce GTX 1080 Ti

  • NVIDIA Geforce RTX 2070 Super

NVIDIA Enterprise Graphics Cards
  • NVIDIA Quadro 4000
  • NVIDIA Quadro K4200
  • NVIDIA Quadro K5000
  • NVIDIA Quadro M6000
  • NVIDIA Quadro M6000 24GB
  • NVIDIA Quadro P5000
  • NVIDIA Quadro P6000
  • NVIDIA Quadro RTX 6000
  • NVIDIA Quadro RTX 8000

New Features

Redesigned Shelf Palette

An updated Shelf palette has been introduced to allow artists to organize their content with ease. Shelves can be grouped and categorized for improved organization between projects or shows. You can also now search for your content across single or multiple shelves, by item type, name or tags (for Materials and Custom Procedurals).

See Shelf Palette.

Shelf Item Tagging

Certain Shelf items are now assigned tags for more efficient library filtering. For Materials or Custom Procedurals tags can be added both before and after export. Tags can be used to search shelf content for specific types of Materials and can be edited at any time in the material's Node Properties or by right-clicking the material in the Shelf palette and selecting Edit Tags.

Procedural Masks

You can now author your own procedural masks by starting with a new type of Group node called the Custom Procedural node. When this node is exported, all reference texture maps will be bundled into a single packaged file with a generated thumbnail for display on the Shelf, making it easier to share them with a team. Procedural masks can be imported into the Node Graph or directly onto layers as a mask, with all the promoted attributes accessible for a non-destructive workflow.

See Custom Procedural Node.

Custom Procedurals

Like procedural masks, you can now also compose your own custom procedural layers. An artist is able to stack groups of procedural nodes together in one simple Custom Procedural node that can be shared into layer stacks to give a unique final look. As with procedural masks, Custom Procedurals can be used in both the Node Graph and layer stack, whilst giving the artist full control to tweak and promote attributes without ever having to dive into the sub-graph.

See Custom Procedural Node.

Material Bake Point Nodes

When working with materials in the Node Graph, you can use a Multi-Channel Bake Point node in order to reduce the complexity of your projects. Multi-Channel Bake Points nodes allow you to batch create and manage individual Bake Point nodes for each of your Shader streams in one place.

See Multi-Channel Bake Point Node.

Bake Point to Texture Streaming

In Mari 4.7, we've added post processing to the Bake Point Export feature. This means that Look Development artists can now include command-line processes that convert exported image files into render engine native texture files with one seamless multi-threaded background process. Artists can now stream Mari texture data directly into third party render engine formats inside of Katana, allowing for faster and more efficient iterations of painted data that feed into Katana Network Materials.

See Post Process.

Material Isolation

A new Current Material shader type has been added which allows artists to quickly switch to viewing their selected Material in full Shader preview without destructively adjusting their User Shader. Artists can easily adjust the look of individual Materials in isolation to each other without affecting the downstream shader. In the NodeGraph, all Multi-Channel nodes now provide a new output to view all output streams together in a full Shader preview.

See Adjusting the Look of a Material with the Current Material Shader.

Node Graph Enhancements

Whilst the Node Graph has always championed streamlined and powerful workflows, new improvements have been made in order to better match the user experience across Mari, Nuke and Katana. To improve artist efficiency, new keyboard gestures for selection and navigation have been added as well as a context aware node creation for Multi-Channel nodes.

Feature Enhancements

ID 85632 / 41376 - When moving Shelf items between shelves, item names are now stored and maintained.

ID 85631 / 41377 - The Shelf palette now allows artists to group shelves into nested folders which can be collapsed within the Shelf panel view.

ID 247326 - Removed the Use Baked option on Bake Point nodes. Also deprecated the setUseBaked and useBaked methods in the BakePointNode and BakePointLayer API.

ID 170463 - The Session Scripts UI has been de-cluttered by removing System Shaders from the Import Session and Export Session dialogs.

ID 429344 / 311855 / 444590 - The Current Paint target node now has a more distinguishable color to avoid confusion when working in the Node Graph. This color option is now exposed in Mari Preferences > Node Graph > Node Category Colors.

ID 400905 - Selecting a Multi-Channel Merge or Material node and pressing M now triggers a Multi-Channel Merge node to be created.

ID 419070 - The ability to toggle icon size has been improved to allow artists to adjust Shelf icon size within a slider range.

ID 408947 - Color swatches can now be dragged into the Node Graph to create Color nodes with the same color. This new behaviour has been added as a Python example of how to utilise Mari's new drag and drop API hooks.

ID 420493 - Users are now able to cache entire material streams using a Multi-Channel Bake Point node.

ID 387591 - Material thumbnails are now displayed in the Shelf tooltip to allow artists to preview the thumbnail at a higher resolution. Tooltips now also display additional information on the Material such as assigned tags and dependent Geo-Channel aliases.

ID 384995 - Holding Ctrl before moving nodes in the Node Graph now also moves all nodes upstream of the selected node. Releasing the mouse button before releasing the Ctrl key keeps the upstream nodes selected after the move is complete.

ID 387597 - A material's shader model is now displayed in the Shelf tooltip.

ID 387590 - In order to isolate Shelf content from varying types, the Shelf palette can now be filtered based on item type.

ID 376228 - The Shelf palette now provides artists with the ability to modify Shelf item thumbnail size to their preference.

ID 422592 - When two material nodes are selected, pressing M correctly connects the two material nodes to the Base and Over input ports of the newly created Multi-Channel Merge node.

ID 432050 - On material creation, users can now enable Create with Default Colors to automatically set up default Color nodes for each stream within the Material.

ID 390784 - Material nodes now expose a User Attributes section in the Node Properties which can be used to add or remove user attributes.

ID 459273 - Work has been done to prevent potential crashes when importing textures and when Mari was autosaving.

ID 383075 - Shader models for shaders which do not have Normal or Bump inputs will no longer have them added to the streams of the shader model.

ID 438480 - Invert nodes now expose Clamp, Min and Max as optional controls for flexible inverting operation without clamping.

ID 445818 - Projectors colorspace settings are now titled Input Colorspace and Output Colorspace.

ID 436653 - Shelf SVG icons have been sampled at a higher resolution to avoid a pixelated appearance caused by Qt scaling.

ID 458470 - The registerDropDataCallBack() method now returns a QMimeData object instead of the payload of the original dropped data.

ID 459287 - Improvements were made in order to reduce the time waiting during project saving.

ID 445823 - A new Shuffle filter has been added to the Filters menu.

ID 448058 - There are now many new shortcuts for node selection in the Node Graph. These can be rebound in EditShortcut Manager. By default the shortcuts are;

Up or Down arrow keys - selects previous or next sibling node. Holding Shift adds to the selection rather than replace it.

Left or Right arrow keys - selects next upstream or downstream node. Holding Shift adds to the selection rather than replace it. Holding Ctrl selects all upstream or downstream nodes. Holding Ctrl + Shift limits upstream or downstream nodes to the current stream.

Ctrl + Shift + Space - selects all of the nodes between the current node selection.

Ctrl + P - Open the node properties of selected nodes.

ID 409160 - It is now possible to get and edit the position and collapsed state of nodes in the Node Graph, as well as get their size in the node graph view using the API. Additionally, it is also possible to trigger auto-layout of nodes via the API.

ID 448055 - It is now possible to navigate the Node Graph view using shortcut keys. By default, panning the NodeGraph is triggered by holding Alt and arrow keys. Zooming the Node Graph is triggered by holding Shift + Alt and using the up and down arrow keys.

ID 446845 - The Colorspace Enabled property on Merge nodes has been renamed to Use Blending Colorspace. Additionally;

Merge nodes are now created with Use Blending Colorspace set to Disabled.

When an 8-bit color channel or Bake Point is connected at the end of a node network, the user is prompted to change the upstream Merge node properties for Use Blending Colorspace to Enabled.

ID 435508 - With a Multi-Channel layer selected, there is a new option to view Current Material, which shows the Multi-Channel layer applied to a shader of appropriate shader model.

ID 435511 - In the Node Graph, when selecting which output of a Multi-Channel node to view, there is a new option to view the node as the Current Material. This is shown as a separate option at the top of the output selection list named with the Shader Model of the Multi-Channel node.

ID 438631 - A new preference has been added to Preferences > Painting > Pressure which provides new functionality to control brush and pen pressure by using a key or the mouse wheel.

ID 403864 - Nodes can now be connected by using the Pick Up Edge Under Mouse shortcut which allows you to connect ports in one click rather than using drag and drop from port to port.

ID 438632 - Revised the defaults and grouping for the HUD.

ID 437647 - When exporting uniform images with small textures on, Mari now exports small textures even when a UV mask has been baked into an alpha.

ID 461805 - The Example Head and Example Material Design Project now include more recent features.

ID 453075 - The Mari materials shelf has been renamed and is now stored within the Mari shelf group. Additionally, a new Custom Procedural and two new materials have been added to their respective shelves.

ID 445575 - When running a batch baking process, such as Update Upstream Bake Points, pressing Esc now cancels the entire baking process.

ID 441231 - All Shader .xml files have had their shader models updated to include default colors per input that match the look of the Shader when no channels are connected.

ID 445662 - Mari now uses multi-threaded data compression for writing data blocks for faster and smoother data processing. This is now exposed in Mari Preferences > Data > Project > Threaded Compression.

ID 396400 - The Flatten Mask Stack menu item in the Layers palette has been renamed to Convert To Paintable Mask and now operates on both Mask Stacks and Procedural Masks.

ID 414676 - The default option for Merge Selection Groups in the import ABX and FBX dialogs is now named Merge Selection Groups with the Same Name. Also updated the name in the Python API for mari.ProjectManager.create() and mari.GeoManager.load().

ID 443129 - Improvements were made in the following areas:

Clone and Paint Through now puts the source image into the Project's Image Manager for proper management.

Mari now respects source image colorspace for Projectors.

Projectors' Scalar set-up better defaults to the current viewer context.

ID 435640 - The error reporting mechanism of shader baking has been improved.

ID 403868 / 393891 - When working with Multi-Channel Output nodes within a Material group, batch connection and disconnection will now occur. If the Output nodes have existing connections, these streams will be skipped.

ID 397033 - A new Shelf named Custom Procedural has been added to the Mari system shelves group. It includes example Custom Procedural content.

ID 440048 - Mari can now be run in terminal or execute mode using a Mari Batch license, whilst an interactive Mari session is also running.

Note:  The above is an experimental feature.

ID 457994 - When Geo-Channels are missing, Custom Procedural nodes now show an extra tab in the Node Properties which warns the user as to which Geo-Channels are still needed.

ID 430063 - The shipped Mari materials now contain relevant tags which can be used to filter for specific Materials within the Shelf.

ID 458457 - Artists now have the ability to load images directly into the Shelf without having to cycle through the Image Manager.

ID 449222 - Bake Point nodes can now trigger post-process commands on export, matching the functionality of the Export Manager.

ID 403865 - By holding the Ctrl modifier, Backdrop nodes can now be moved independent to their child nodes.

ID 445822 - An additional option called Input Alpha has been added to Projectors to allow the user to control how Mari handles pre-multiplication of imported images.

Bug Fixes

ID 456640 - When presenting the user with the project upgrade dialog, Mari would sometimes crash.

ID 430152 - Certain projects would previously cause Mari to crash on load and save if they contained unused channel data.

ID 457836 - Multi-Channel nodes contained within a project with many patches would bloat the data size of project files and cause Mari to crash.

ID 444477 - When merging Tri-Planar layers within a specific customer project, the Mari application would lock.

ID 422618 - Under certain conditions, switching between Connectedness UV to Connectedness Mesh mode would not correctly update the internal mode.

ID 370320 - On rare occasions, Mari would open a project without displaying the Node Graph, Channels or Layers, for the selected object until an update was triggered.

ID 401739 - When promoting parameters from the Multi-Channel Merge node properties, the promote spanner icon did not always appear.

ID 456398 - A previous fix to clamping behaviour meant that pre-existing Levels nodes were not correctly converted; resulting in a different look than expected.

ID 427120 - Importing UDIMs into Mari 4 was noticeably slower than previous versions due to DDI thread waiting.

ID 459630 - When the user preferences had an erroneous megascansRepoLocation value, the Texture Sets palette would fail to launch and cause other Python modules to not load correctly.

ID 419878 - When transferring very large textures, Mari could crash due to having insufficient memory available

ID 228363 - The color displayed by the Backdrop node in the NodeGraph did not match the selected color swatch.

ID 369353 - Removed usage of deprecated functions from the channels.py example script.

ID 426172 - When working with a gradient containing a value of alpha transparency, dark haloing would appear instead of correct blending.

ID 438481 - When opening a project that is currently viewing a Scalar data node, View Transform toolbar would incorrectly show the Color mode icon instead of the Scalar mode icon.

ID 426531 - When viewing a Multi-Channel Merge in Stream Collapsed state, TAB > creating the equivalent Shader Network node would not trigger a batch connection for vendor shaders.

ID 453682 - Shelf names could previously contain the [/] character which caused inconsistencies and issues when attempting to import items to a grouped Shelf. As a result, naming validation has been made more rigorous for both UI and API interactions.

ID 438422 - Painting > Save Painting would unexpectedly produce overly bright fringing on the resulting image.

ID 454797 - Pressing the [J] key in the NodeGraph would forcibly drop the grabbed edge and not allow the user to jump and connect the grabbed edge to a far away node.

ID 439029 - Changing the value of a hidden node attribute would incorrectly trigger a refresh of the Node Properties palette.

ID 437883 - The preference, Edit > Preferences > Misc > Named Files​, did not contain a tooltip. A more detailed tooltip for this preference has been added.

ID 426158 - When attempting to export a project containing a Multi-Channel Material Layer, launching the Export Session dialog would crash Mari.

ID 454190 - Mari would not correctly set the Use Blending Colorspace properties of merge nodes in a newly created Multi-Channel Merge node.

ID 454392 - Creating a Multi-Channel Bake Point node did not correctly detect the Shader Model of the downstream Shader Network node.

ID 438479 - Painting > Load Painting would incorrectly load the image with a dark fringe.

ID 445513 - Several properties of Bake Point nodes can now register undo steps for changes to them.

ID 442973 - When opening projects containing missing shader files, Mari would print excessive data to the MariLog causing the project to hang indefinitely.

ID 454327 - When exporting a Custom Procedural node, the Export and Thumbnail Paths would mistakenly be stored within the file.

ID 441559 - Converting a Group node to a Custom Procedural node no longer leaves behind a phantom Group node.

ID 441265 - Transforming a rotated object with a scaled parent would previously apply incorrect transformations.

ID 455097 - The following fixes were made to prevent known or potential issues:

Fixed a potential crash in Export.

Fixed a potential issue of Import rejecting 8x8 small images.

Eased the restriction of imported images when possible to scale.

Mari would occasionally apply incorrect colorspace when opening multiple images in the Image Manager.

Improved the error reporting mechanism of shader baking.

When importing, Mari would sometimes crash unexpectedly. A potential crash has been fixed in this area.

ID 454393 - The Multi-Channel Bake Point would mistakenly display some active streams as inactive in the Node Properties UI.

ID 417321 - The Source Grade control would incorrectly clamp values before applying the curve look up.

ID 449518 - Toggling the enable state of a baked Bake Point node would incorrectly show the live upstream nodes rather than the result of the bake.

ID 438500 - Image file names containing unicode characters would not display correct previews in the Node Properties.

ID 246362 - Selecting a Backdrop Node would not clear the previous selection, meaning that both nodes were now selected.

ID 123311 / 50840 - Spawning the Import Session dialog via File > Session > Import Session, would previously incorrectly display System Shaders as importable project data.

ID 371055 - When creating a Material node with a corresponding Shader Network node, the order of Normal, Bump, Vector and Displacement ports did not correctly match up.

ID 416878 - The Textures_Com Material Ingest preset for the Arnold Standard Surface shader had a metallic fallback for its specular channels which did not match other shipped presets.

Developer Notes

These are the changes relevant to developers.

New Features

Customisable Drag & Drop

Ever wanted to turn a web browser image directly into a layer? Mari 4.7's new API hooks allow you to do just that. Artists can create infinite possibilities for their studio pipeline by making use of our customisable drag and drop. These new hooks allow Pipeline TD's to register a callback function that is triggered when a specific type of data is dropped into some of Mari's palette views. Mari will also treat the specified data type as native data whilst the cursor hovers over the palettes, allowing for more seamless integrations into your pipeline.

Python Console Improvements

Mari 4.7v1 welcomes a long-awaited overhaul to our existing Python Console palette. Users will now find not only a fresh new interface update but added support for working with multiple snippet tabs, line numbers, the ability to save current script to file and easy toggling for commenting and indentation.

Feature Enhancements

ID 433923 - The Vector4f node attribute type has been added to the Custom Shader API documentation.

ID 267659 - The QString node attribute type has been added to the Custom Shader API documentation.

ID 433927 - Added mari.NodeGraph.nodeSelectionChanged() signal to the Python API.

ID 432948 - Added mari.Node.hasChanged() signal to the Python API.

ID 433015 - Added the signal inputConnectionChanged() to mari.Node in the Python API.

ID 409923 - The new API function mari.utils.ui.registerDropDataCallBack allows to register a callback for handling a drag and drop event into the Shelf, Image Manager, Node Graph and Layer Stack palettes as well as the Canvas.

ID 438291 - Mari would previously ignore the command line arguments after "--". This change might be useful for passing arguments specifically to a Python script.

ID 455096 - The new function, Channel.updateUvImageSizes(), updates the Channels' UV sizes. This deprecates Channel.addMissingUvImageSizes() function.

ID 445667 - The new Python API class MessageBox provides the ability to display message boxes while being aware of the mode when UI dialogs are not to be displayed.

ID 407322 - The following new methods were added to the Python API:

mari.shelves.groupShelf()

mari.shelves.ungroupShelf()

mari.shelves.search()

mari.Shelf.path()

mari.ShelfItem.tags()

mari.ShelfItem.setTags()

ID 383582 - Added MultiChannelBakePointNode class to the Python API. You can now create MultiChannel Bake Point Nodes through the Python API using mari.NodeGraph.createMultiChannelBakePointNode()

ID 390785 - The Python API now has functions to read/write metadata from/to a Material file on disk.

ID 390787 - The Python API now has functions to interact with a Material file on disk in the following manner:

Read and write tags from/to a Material file.

Read and write the thumbnail image from/to a Material file.

ID 434695 - Added mari.Shelf.isGrouped() method to the Python API.

ID 447678 - You can now clear each of the Python Console panels' text using the buttons in the toolbar.

ID 432048 - Added defaultColor() method to mari.ShaderModelInput. Additionally, the Python API function NodeGraph.createMaterialTemplate() now takes an optional argument for automatic creation of default Color nodes in the Material.

ID 427543 - Signals are now emitted whenever a Material is exported to or imported from File. The signals include details on the Material Node and the file path from which it was exported/imported.

ID 409163 - Backdrop nodes are now their own API class, BackdropNode(). It is now possible to set the size of a backdrop nodes in the node graph view, as well as get a list of their children nodes and select their children nodes via the API.

ID 390786 - When exporting a Material Node to file, metadata is generated and stored within the .MMA file. These include the Material's tags, the names of any Geo-Channels used by the Material and the Material's Shader Model.

ID 438563 - Mari Python API has new Environment class for dynamically setting and getting environment variables

OCIO configs update dynamically according to the change of OCIO environment variables

ID 448695 - You can now toggle the indentation of the selected lines in the Python console using the TAB and SHIFT+TAB keyboard shortcuts; Additionally you can toggle comment selected lines with the keyboard shortcut Ctrl + /

ID 444821 - The Python Console now allows users to work between separate tabs that store contents within their individual Python files.

ID 448414 / 173658 - The Python Console now has line numbers in the input panel

Bug Fixes

ID 268377 - The PYTHONPATH and PYTHONHOME environment variables should have been ignored when Mari was launched in --Safer mode.

ID 275259 - The API functions mari.prefs.set and mari.prefs.get now support FileList type values.

ID 441301 - The setMetadataDefault() and setMetadataStep() API commands weren't working when using a float value

ID 444875 - When pythonically duplicating and flattening a channel which contained a custom node, Mari would crash.

ID 457384 - Some documentation contained legacy Python API examples instead of the expected PySide2 examples.

ID 459011 - mari.MultiChannelBakePointNode was missing the Python docs

ID 459014 - mari.NodeGraph.createMultiChannelBakePointNode() was failing silently when passing None as the Shader Model argument

Known Issues

Graphics Cards

ID 207913 - Mari may crash, or operate with lower than expected performance, when using recent graphics drivers with some AMD cards.

There have been reports that Plays.tv and Raptr, which come bundled with the AMD FirePro drivers, can cause instability in Mari. If you are experiencing instability, please try uninstalling these applications.

ID 16225 / 18457 - Using NVIDIA graphics cards from the Fermi series with drivers older than version 270 results in various rendering issues when the Virtual Texture Type is set to Half or Float.

Note:  To resolve this, please download and install the latest graphics driver for your card from the NVIDIA website.

ID 9404 / 12567 - Enabling Sync to VBlank in NVIDIA settings can drastically reduce Mari’s performance. If you experience very slow interaction, even with low-polygon models, on one of the Tested Workstation Hardware, navigate to:

• Linux: NVIDIA X Server Settings > X Screen 0 > OpenGL Settings and turn off Sync to VBlank.

• Windows: NVIDIA Control Panel > 3D Settings > Manage 3DSettings > Vertical Sync > Force off

Then, restart Mari.

Importing And Exporting

ID 113036 / 49131 - High polygon .obj files, exported using the OBJ Exporter plug-in, cannot be read back in to Mari.

ID 57756 / 29386 - When using the Export for Maya script, Maya’s viewport may incorrectly show some patches as transparent. This can be resolved by selecting High Quality Rendering or Viewport 2.0 from the Renderer menu within Maya.

ID 10157 / 16324 - Windows only: You cannot currently import an image into a channel using a relative file path. To work around this, use an absolute path when importing images.

ID 9854 / 14985 - There may be a slight pause after importing textures when creating new projects, while Mari saves the project.

Layers

ID 383360 - Using Displacement on Shaders may significantly decrease Canvas frame rate whilst navigating. This can be offset by disabling displacement on individual Shaders, or by globally disallowing the Tesselation Allowed setting found under Preferences > GPU > Shaders.

ID 64924 / 34690 - Flattening or caching layers or channels on complex projects may cause Windows to reset the graphics driver due to the long processing time. To work around this issue, you can try to flatten or cache fewer layers at a time, or reduce the value of the Max Render Size For Baking setting. This setting can be found under Preferences > GPU > Baking and Projection.

Reducing this size breaks the flattening or caching operation up into smaller pieces, which individually take less time to calculate, and thereby avoids a Windows graphics driver reset.

ID 53959 / 26460 - Layers - Painting a mask in a Mask Layer Group sometimes results in unexpected paint results. To prevent this from happening, either:

• Use a white “color” layer at the bottom of your mask stack. Any layer used over this initial “color” layer should then be fine, or

• If you want to create a mask in a Mask Layer Group, simply add another layer on your Mask Layer Group instead, and paint white into it to create a mask.

Mari Tools

ID 10046 / 13640 - The Blur tool can be slow to use on the initial stroke. Wait for Mari to process the blur before applying a second stroke.

ID 9567 / 13394 - Using the Select Items tool with the Facing set to Front to select and hide a portion of faces causes some of the faces within the selection to remain visible when zoomed in. To catch all selected faces, either:

• select Facing > Through instead of Front, or

• zoom in closer to the object.

Node Graph

ID 168753 - AIStandard nodes created in Mari3.0v1 are not compatible with Mari 3.0v2, or later. As a workaround, remove the old AIStandard nodes and recreate them in Mari 3.0v2, or later.

ID 126902 / 51462 - Creating a shader and attempting to view it in the Node Graph palette gives the impression that the DiffuseColor input edge is missing from the shader node. The input is present, but is incorrectly hidden. This is related to bug 51263 below

ID 126816 / 51452 - When importing a gizmo, the nodes in the gizmo did not retain their organization if they were created using the item name in the menu.

ID 125961 / 51263 - It is not currently possible to attach the Viewer node to standard Mari shaders, because they are hidden. As a workaround, you can click the View the current channel button above the Node Graph.

ID 125813 / 51247 - Channel transfer doesn't transfer Graph Layers as expected.

ID 124611 / 51082 - The Ambient Occlusion node's properties don't include a generate AO option.

ID 111329 / 48790 - Autoplace does not respect Backdrop nodes.

Nuke<>Mari Bridge

ID 48970 / 23010 - If Mari crashes when receiving incoming components from Nuke when the Virtual Texture Type is set to Float, lower the Virtual Texture Size to a value below 8192x8192.

ID 17678 / 19780 - A projector created in Ortho view in Mari does not re-project correctly in Nuke.

Ptex

ID 13600 / 17626 - It can take a long time to import very large or very high polygon count ptex models. The workaround is to assign a small uniform face size (1x1 or 2x2) on import, and then upres the relevant bits of the model as necessary after loading.

ID 13531 / 17618 - Ptex does not bake properly if the resolution of the face is too small. The workaround is to increase the resolution of the selected faces you are having problems with.

Shaders

ID 424786 - Sufficiently complex shaders would cause OSX graphics drivers to crash on MacOS 10.15 Catalina. Several optimizations to shader compilation and shader compilation triggers have been made to address this, benefiting all platforms, however it is still possible to create a shader complex enough to cause a crash on Catalina. We recommend using bake points and caching to help alleviate this.

ID 64961 / 34729 - Mari displays a rendering error on the canvas when it is unable to create a shader. More information has been included to help you determine the cause of the error. Some solutions might be to hide groups and layers, or to cache parts of your layer stack until a shader can be created

ID 64911 / 34679 - On extremely large projects, issues can arise with shader limits, and reaching the maximum allowed texture slots available. To avoid reaching these shader limits on large projects, try the following workarounds:

• hide groups and layers, or

• cache groups and layers.

Miscellaneous

ID 360737 - Linux only: When using the Select Color dialog, the colors picked with the eye dropper Pick Screen Pixels option may be incorrect due to an OS driven behaviour of darkening the rest of the Mari application.

To stop this behaviour the following preference can be disabled:

- CentOS 7: Applications > Utilities > Tweak Tool > Windows > Attached Modal Dialogues

This also disables other desktop manager specific effects.

ID 308268 - Windows only: When working on multiple monitors, palettes sometimes cannot be docked.

ID 200836 - Scrolling in the Brush Editor or Tool Properties palette makes the scratch pad go blank.

ID 194832 - Bake times were significantly increased when baking into channels containing non-linear data.

ID 167883 / 51934 - When a project that contains a Tiled procedural is upgraded from 2.6 to 3.0, the frame rate drops drastically. To avoid this, replace the image in the Tiled procedural once the project has been upgraded.

ID 129292 / 51771 - Removing, changing, or hiding subdivided objects takes a long time.

ID 126389 / 51370 - Heavier projects are initially slower to render when colorspace is enabled.

ID 126164 / 51322 - Modo Render: The preview occasionally fails to update fully.

ID 125437 / 51199 - The AiStandard, RedshiftArchitectural, and VRayMtl shaders are not connected to the Current Channel automatically.

ID 125319 / 51185 - PythonAPI: Mari's Paint node does not appear in typeList(). To add a Paint node Pythonically, call:

ng = mari.geo.current().nodeGraph()

ng.createPaintNode(width, height, bitDepth)

ID 124614 / 51084 - Animated objects can take a long time to subdivide.

ID 124233 / 51049 - Texture transfer does not take object transformation into account

ID 123532 / 50898 - Existing subdivision calculations are lost when recalculating, even if recalculation fails.

ID 123514 / 50886 - Imported shaders don't have channels assigned.

ID 121276 / 50548 - Modo Render: Only camera moves are respected by live update.

ID 121139 / 50520 - Although faces with degenerate UVs can be loaded into Mari, they can cause issues in some cases. They do not occupy any space in UV, so it's impossible to properly paint on such faces. There is also the risk that some shaders may show undesirable lighting effects on faces with degenerate UVs.

ID 100303 / 46600 - Ambient Occlusion must be updated after any OpenSubdiv calculation.

ID 99115 / 46223 - The Sponge Desaturate mode does not work through the full dynamic range as it uses HSL for desaturation. HSL cannot be used with HDR because HSL works well only in LDR values.

ID 90144 / 43020 - Mac OS X with retina screens only: When a hidden menu is unfurled over the canvas, the canvas zooms in dramatically.

ID 86007 / 41573 - Windows 8 only: The Windows key (Meta key) does not disengage when used in conjunction with a Wacom pen.

ID 75576 / 37140 - Mac OS X only: By default, when you first install Mac OS 10.8 or higher, the security preferences are set so that any applications not downloaded from the Apple App Store can’t be installed.

Note:  To ensure that Mari installs correctly, navigate to System Preferences > Security & Privacy on your Mac and select Anywhere for the Allow applications download from field.

ID 62668 / 33293 - Linux: Launching Mari with the language set to one without certain character symbols resulted in Mari failing with an error that the specified transform could not be loaded. To work around this, set the locale (language) to English.

ID 60643 / 31946 - Sometimes paint is not baked because of memory management issues on the graphics card. This can be due to issues such as a high resolution paint buffer, a high bit-depth paint buffer, large virtual texture size, or even a large scale value on the paint buffer transform. These issues can usually be identified by glError: 0x505 out of memory messages in the log. Try reducing any or all of these values to prevent it happening. Graphics drivers are continually improving, so it’s also worth checking whether upgrading your drivers resolves the problem.

ID 45590 / 20510 - If you find that the startup time for Mari is longer than usual, please check that the LIC files in your RLM licensing data folder do not refer to obsolete server ports. If they do, place them in another directory and restart Mari.

ID 37066 / 20021 - Textures in the canvas intermittently switch between lower and higher resolutions. This issue is more likely to occur if your virtual texture resolution is low, and you're working on a complex model with displacement. Possible workarounds include increasing your virtual texture size, reducing the number of channels Mari has to access at once (for example, by reducing the number of channels required for the current shader), to reduce the patch resolution of patches in the channels used in the shader, or to use a smaller canvas window or monitor.

ID 9758 / 14201 - Linux only: Mari becomes unresponsive after the system is woken from sleep.

ID 9631 / 13700 - Adjusting the Camera > Perspective settings for a Projector is not reflected on the canvas until the Projector is made Current.

ID 9363 / 12102 - Current brush settings do not get saved as part of the project. Instead, Mari reverts to the default settings when you close and relaunch it.

ID 9342 / 11874 - Mari doesn’t recognize 3-digit padded .obj sequences as animation

ID 8030 / 13571 - Launching a new version of Mari for the first time, when a config file exists from a previous version, sometimes results in an object not appearing in the Ortho view.

To solve this, close Mari, delete the following config file and relaunch Mari:

Linux: ~/.config/TheFoundry/Mari.conf

Windows: C:/Users//.mari/TheFoundry/Mari.ini

ID 7945 / 13294 - Windows: Mari sometimes crashes when trying to load data on large projects due to the program exhausting all window manager objects.

To reconfigure the user object limit:

1.   Open regedit and navigate to HKEY_LOCAL_ MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\Windows, and
2.   Edit USERProcessHandleQuota to a larger number.

Note:  If this number gets too large, you may also have to modify GDIProcessHandleQuota.