Kit 106.0#

Release Date: May 2024

Added#

  • This update primarily prioritizes stability and bug fixes

  • Enabled MDL search paths in the USD asset resolver, without needing to load the rtx.renderer module

  • Appearance eXchange Format™, from X-Rite support in RTX.

AxF files provide a way to capture, store, edit, and communicate complex material characteristics using numerical data throughout the digital design workflow. This is particularly useful for representing complex materials such as sophisticated automotive paints. AXF Data can be exported to MDL using X-Rites Pantora software and rendered in RTX.

AXF based carbon fiber

Download a carbon fiber AXF material (as shown above)

Improved#

  • Material Graph nodes support multiple outputs from MDL Functions. MDL Material Graph nodes can use the new MDL 1.8 annotation node_output_port_default and node_port_mode to control how single value struct returns from MDL function integrate with multiple output ports in the Material Editor.

When the annotations are applied to a compound return type of a MDL function or user-defined struct, the Material Editor can output either:

  • The single value of the return as an output port called out.

  • Each field of the compound is returned as an output port called by its field name.

  • Both the compound single value of the return as an output port called out and each field of the compound is returned as an output port called by its field name.

For more information, please refer to MDL Specification 1.9, page 108

Example MDL code for struct unrolling
This snippet is written in MDL#
mdl 1.8;
import ::anno::*;

export struct TestStruct
{
      int i = 1;
      float f = 0.2;
};

export TestStruct
[[

      anno::node_output_port_default(anno::node_port_value_only)
]]
test_annotation_struct_value_and_fields
(
      TestStruct pStruct = TestStruct()
)
{
      return pStruct;
}

export TestStruct
[[
      anno::node_output_port_default(anno::node_port_fields_only)
]]
test_annotation_struct_fields_only
(
      TestStruct pStruct = TestStruct()
)
{
      return pStruct;
}

export TestStruct
[[

      anno::node_output_port_default(anno::node_port_value_and_fields)
]]
test_annotation_struct_value_only
(
      TestStruct pStruct = TestStruct()
)
{
      return pStruct;
}

The image below shows the how this will appear in the material graph.

Struct Unrolling


  • RTX RT: MDL Distilling - Production Ready.

    Distilling takes complex shading BSDF’s designed for physically accurate ray tracing, and creates a simplified representation suitable for real time application. The goal is to achieve an acceptable balance between visual quality and performance. The following image shows RT rendering with distilling on (1) and off (2).

RT distilling

Fixed#

  • Fixed various crashes and instability issues

  • Fixed various issues related to regressions, pathing, parameters

Known Issues#

  • When encountering issues run the Asset Validator