2022.3.0
Material improvements
UsdPreviewSurface
UsdPreviewSurface now supports unit-less emissive texture map values. Previously, the RTX and Iray renderers assumed that map values were in Nits. Emissive units is not specified in the USD specification and in HdStorm and other renderers, the textured value is often the final exposed RGB value in the image.
In 2022.3.0 emissive values are scaled such that their value is equal to the output RGB image for our default camera Exposure
Camera Exposure |
Values
|
---|---|
ISO |
100
|
Shutter |
50
|
f-stop |
5.0
|
UsdPreviewSurface supports UsdTransform2d and UsdPrimvarReader nodes
MDL Reloading
Omniverse will now dynamically re-load changes to MDL source, updating the MDL database and re-compile the material.
OmniPBRBase
Omniverse adds the base OmniPBR template model to the Material Editor. You can now map and modify inputs directly to the base material model to create custom MDL materials.
Material Editor
Authors can now add their own materials and functions to the Material Editor Node List.
MaterialX Read Support
Omniverse supports reading of .mtlx material documents.
MDL Path Resolution Changes
Summary of the changes for resolving MDL paths:
MDL built-in paths (i.e OmniPBR.mdl, OmniPBR_ClearCoat.mdl, OmniSurface, nvidia/aux_definitions.mdl, nvidia/core_definitions.mdl, OmniUE4Base.mdl, etc.) will no longer be anchored to their referencing layer URL (i.e omniverse://nucleus-server/some/stage.usd or https://server/some/other/stage.usd). These MDL built-in paths will still resolve correctly if they live next to the referencing layer URL but that is completely handled by the client-library and not USD
MDL paths not prefixed with “./” or “../” can still be anchored relative to the referencing layer if they exist and the referencing layer is a URL or file path on disk
MDL built-in paths are no longer considered search paths
MDL built-in paths are no longer considered relative paths unless prefixed with “./” or “../”
This behavior works through SdfAssetPath type Attributes without modifying Sdf
This behavior can be enabled / disabled by setting the environment variable OMNI_USD_RESOLVER_MDL_BUILTIN_BYPASS or in <APPLICATION>/kit/extscore/omni.usd.config/omni/usd_config/extension.py
At the moment, this resolve behavior is disabled by default by can be easily switched