---
title: "MaterialX"
canonical: "https://documentation.chaos.com/space/LAV/124653677/MaterialX"
format: markdown
---
This page provides information about MaterialX support in Chaos Vantage.


## **Overview**

---

MaterialX is an open-source standard for representing shading networks. MaterialX shading networks can be used across different applications and renderers.

See the [MaterialX and V-Ray blog post](https://blog.chaos.com/materialx-and-v-ray-crafting-the-next-chapter-in-3d-creativity) for more information.


## **Supported Nodes**

---


| **Category** | **MtlX Shader Name** | **Node Name** | **USD id** | **Support** |
| --- | --- | --- | --- | --- |
| **Adjustment** | MtlX Adjust as HSV | mtlxhsvadjust | ND_hsvadjust | :cross_mark: |
| MtlX Color Correct | mtlxcolorcorrect | ND_colorcorrect | :check_mark: |
| MtlX Contrast | mtlxcontrast | ND_contrast | :check_mark: |
| MtlX Curveadjust | mtlxcurveadjust | ND_curveadjust | :cross_mark: |
| MtlX HSV to RGB | mtlxhsvtorgb | ND_hsvtorgb | :check_mark: |
| MtlX Luminance | mtlxluminance | ND_luminance:<br>ND_luminance_color3<br>ND_luminance_color4 | :check_mark:<br>:check_mark: |
| MtlX Range | mtlxrange | ND_range | :check_mark: |
| MtlX Remap | mtlxremap | ND_remap | :check_mark: |
| MtlX RGB to HSV | mtlxrgbtohsv | ND_rgbtohsv | :check_mark: |
| MtlX Saturate | mtlxsaturate | ND_saturate | :check_mark: |
| MtlX Smoothstep | mtlxsmoothstep | ND_smoothstep:<br>ND_smoothstep_float<br>ND_smoothstep_vector2<br>ND_smoothstep_vector3<br>ND_smoothstep_vector4<br>ND_smoothstep_color3<br>ND_smoothstep_color4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
|  |
| **Application** | MtlX Frame | mtlxframe | ND_frame | :check_mark: |
| MtlX Time | mtlxtime | ND_time_float | :cross_mark: |
|  |
| **Channel** | MtlX Combine2 | mtlxcombine2 | ND_combine2 | :check_mark: |
| MtlX Combine3 | mtlxcombine3 | ND_combine3 | :check_mark: |
| MtlX Combine4 | mtlxcombine4 | ND_combine4 | :check_mark: |
| MtlX Convert | mtlxconvert | ND_convert | :check_mark: |
| MtlX Extract | mtlxextract | ND_:<br>ND__vector2<br>ND_extract_vector3<br>ND_extract_vector4<br>ND_extract_color3<br>ND_extract_color4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Separate | mtlxseparate | ND_separate | :check_mark: |
| MtlX Swizzle | mtlxswizzle | ND_swizzle | :cross_mark: |
|  |
| **Compositing** | MtlX Burn | mtlxburn | ND_burn | :check_mark: |
| MtlX Difference | mtlxdifference | ND_difference:<br>ND_difference_float<br>ND_difference_color3<br>ND_difference_color4 | :check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Disjoint Over | mtlxdisjointover | ND_disjointover | :check_mark: |
| MtlX Dodge | mtlxdodge | ND_dodge | :cross_mark: |
| MtlX In | mtlxin | ND_in | :check_mark: |
| MtlX Inside | mtlxinside | ND_inside | :check_mark: |
| MtlX Mask | mtlxmask | ND_mask | :check_mark: |
| MtlX Matte | mtlxmatte | ND_matte | :check_mark: |
| MtlX Minus | mtlxminus | ND_minus | :check_mark: |
| MtlX Mix | mtlxmix | ND_mix | :check_mark: |
| MtlX Out | mtlxout | ND_out | :check_mark: |
| MtlX Outside | mtlxoutside | ND_outside | :check_mark: |
| MtlX Over | mtlxover | ND_over | :check_mark: |
| MtlX Overlay | mtlxoverlay | ND_overlay | :check_mark: |
| MtlX Plus | mtlxplus | ND_plus | :check_mark: |
| MtlX Premult | mtlxpremult | ND_premult | :cross_mark: |
| MtlX Screen | mtlxscreen | ND_screen | :check_mark: |
| MtlX Un-Premult | mtlxunpremult | ND_unpremult | :cross_mark: |
|  |
| **Conditional** | MtlX If Equal | mtlxifequal | ND_ifequal | :check_mark: |
| MtlX If Greater | mtlxifgreater | ND_ifgreater | :check_mark: |
| MtlX If Greater or Equal | mtlxifgreatereq | ND_ifgreatereq | :check_mark: |
| MtlX Switch | mtlxswitch | ND_switch | :check_mark: |
|  |
| **Convolution2D** | MtlX Blur | mtlxblur |  | :cross_mark: |
| MtlX Height to Normal | mtlxheighttonormal | ND_heighttonormal | :cross_mark: |
|  |
| **Geometric** | MtlX Bitangent | mtlxbitangent | ND_bitangent:<br>ND_bitangent_vector3 | :check_mark: |
| MtlX Geometry Color | mtlxgeomcolor | ND_geomcolor | :cross_mark: |
| MtlX Geometry Property Value | mtlxgeompropvalue | ND_geompropvalue | :cross_mark: |
| MtlX Normal | mtlxnormal | ND_normal:<br>ND_normal_vector3 | :check_mark: |
| MtlX Position | mtlxposition | ND_position_vector3 | :check_mark: |
| MtlX Tangent | mtlxtangent | ND_tangent_vector3 | :cross_mark: |
| MtlX Texcoord | mtlxtexcoord | ND_texcoord:<br>ND_texcoord_vector2 | :check_mark: |
|  |
| **Global** | MtlX Ambient Occlusion | mtlxambientocclusion | ND_ambientocclusion_float | :cross_mark: |
|  |
| **Houdini** | MtlX Bias | hmtlxbias | ND_hmtlxbias_float | :cross_mark: |
| MtlX Facing Ratio | hmtlxfacingratio | ND_hmtlxfacingratio_float | :cross_mark: |
| MtlX Gain | hmtlxgain | ND_hmtlxgain_float | :cross_mark: |
| MtlX Hcatmullrom | hmtlxhcatmullrom | ND_hcatmullrom | :cross_mark: |
| MtlX Hinvlinear | hmtlxhinvlinear | ND_hinvlinear_float | :cross_mark: |
| MtlX Huniformcubic | hmtlxhuniformcubic | ND_huniformcubic | :cross_mark: |
| MtlX Huniformramp | hmtlxhuniformramp | ND_huniformramp | :cross_mark: |
|  |
| **Light** | MtlX Directional Light | mtlxdirectional_light |  | :cross_mark: |
| MtlX Point Light | mtlxpoint_light |  | :cross_mark: |
| MtlX Spot Light | mtlxspot_light |  | :cross_mark: |
|  |
| **Material** | MtlX Surface Material | mtlxsurfacematerial |  | :cross_mark: |
| MtlX Volume Material | mtlxvolumematerial |  | :cross_mark: |
|  |
| **Procedural** | MtlX Color Cubic Ramp | hmtlxcubicrampc |  | :cross_mark: |
| MtlX Color Ramp | hmtlxrampc |  | :cross_mark: |
| MtlX Constant | mtlxconstant | ND_constant | :check_mark: |
| MtlX Float Cubic Ramp | hmtlxcubicrampf |  | :cross_mark: |
| MtlX Float Ramp | hmtlxrampf |  | :cross_mark: |
| MtlX Random Float | mtlxrandomfloat |  | :cross_mark: |
|  |
| **Procedural2D** | MtlX Cell Noise 2D | mtlxcellnoise2d | ND_cellnoise2d_float | :check_mark: |
| MtlX Checkerboard | mtlxcheckerboard |  | :cross_mark: |
| MtlX Circle | mtlxcircle | ND_circle | :check_mark: |
| MtlX Circles2D | hmtlxcircles2d |  | :cross_mark: |
| MtlX Cloverleaf | mtlxcloverleaf | <span style="color: #292a2e">ND_cloverleaf</span> | :check_mark: |
| MtlX Crosshatch | mtlxcrosshatch |  | :cross_mark: |
| MtlX Grid | mtlxgrid | <span style="color: #292a2e">ND_grid</span> | :check_mark: |
| MtlX Hexagon | mtlxhexagon | <span style="color: #292a2e">ND_hexagon</span> | :check_mark: |
| MtlX Line | mtlxline | <span style="color: #292a2e">ND_line</span> | :check_mark: |
| MtlX Noise2D | mtlxnoise2d | ND_noise2d:<br>ND_noise2d_float<br>ND_noise2d_vector2<br>ND_noise2d_vector2FA<br>ND_noise2d_vector3<br>ND_noise2d_vector3FA<br>ND_noise2d_vector4<br>ND_noise2d_vector4FA<br>ND_noise2d_color3<br>ND_noise2d_color3FA<br>ND_noise2d_color4<br>ND_noise2d_color4FA | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Place2D | mtlxplace2d | ND_place2d | :check_mark: |
| MtlX Ramp | mtlxramp | ND_ramp | :check_mark: |
| MtlX Ramp4 | mtlxramp4 | ND_ramp4 | :check_mark: |
| MtlX Ramplr | mtlxramplr | ND_ramplr | :check_mark: |
| MtlX Ramptb | mtlxramptb | ND_ramptb | :check_mark: |
| MtlX Splitlr | mtlxsplitlr | ND_splitlr | :check_mark: |
| MtlX Splittb | mtlxsplittb | ND_splittb | :check_mark: |
| MtlX Tiled Circles | mtlxtiledcircles | <span style="color: #292a2e">ND_tiledcircles</span> | :check_mark: |
| MtlX Tiled Cloverleafs | mtlxtiledcloverleafs | <span style="color: #292a2e">ND_tiledcloverleafs</span> | :check_mark: |
| MtlX Tiled Hexagons | mtlxtiledhexagons | <span style="color: #292a2e">ND_tiledhexagons</span> | :check_mark: |
| MtlX Unified Noise 2D | mtlxunifiednoise2d |  | :cross_mark: |
| MtlX Worley Noise 2D | mtlxworleynoise2d | ND_worley:<br>ND_worleynoise2d_float<br>ND_worleynoise2d_vector2<br>ND_worleynoise2d_vector3 | :check_mark:<br>:check_mark:<br>:check_mark: |
|  |
| **Procedural3D** | MtlX Cell Noise 3D | mtlxcellnoise3d | ND_cellnoise3d_float | :check_mark: |
| MtlX Fractal3D | mtlxfractal3d | ND_fractal3d:<br>ND_fractal3d_float<br>ND_fractal3d_vector2<br>ND_fractal3d_vector2FA<br>ND_fractal3d_vector3<br>ND_fractal3d_vector3FA<br>ND_fractal3d_vector4<br>ND_fractal3d_vector4FA<br>ND_fractal3d_color3<br>ND_fractal3d_color3FA<br>ND_fractal3d_color4<br>ND_fractal3d_color4FA | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Noise3D | mtlxnoise3d | ND_noise3d:<br>ND_noise3d_float<br>ND_noise3d_vector2<br>ND_noise3d_vector2FA<br>ND_noise3d_vector3<br>ND_noise3d_vector3FA<br>ND_noise3d_vector4<br>ND_noise3d_vector4FA<br>ND_noise3d_color3<br>ND_noise3d_color3FA<br>ND_noise3d_color4<br>ND_noise3d_color4FA | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Random Color | mtlxrandomcolor | ND_randomcolor | :cross_mark: |
| MtlX Unified Noise 3D | mtlxunifiednoise3D |  | :cross_mark: |
| MtlX Worley Noise 3D | mtlxworleynoise3d | ND_worleynoise3d | :check_mark: |
|  |
| **Texture2D** | MtlX Image | mtlximage | ND_image | :check_mark: |
| MtlX Tiled Image | mtlxtiledimage | ND_tiledimage | :check_mark: |
|  |
| **Texture3D** | MtlX Triplanar Projection | mtlxtriplanarprojection | ND_triplanarprojection | :cross_mark: |
|  |
| **Math**<br>** ** | MtlX Absval | mtlxabsval | ND_absval | :check_mark: |
| MtlX Acos |  | ND_acos:<br>ND_acos_float<br>ND_acos_vector2<br>ND_acos_vector3<br>ND_acos_vector4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Add | mtlxadd | ND_add | :check_mark: |
| MtlX Array Append | mtlxarrayappend | ND_arrayappend | :cross_mark: |
| MtlX Asin | mtlxasin | ND_asin:<br>ND_asin_float<br>ND_asin_vector2<br>ND_asin_vector3<br>ND_asin_vector4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Atan2 | mtlxatan2 | ND_atan2:<br>ND_atan2_float<br>ND_atan2_vector2<br>ND_atan2_vector3<br>ND_atan2_vector4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Ceil | mtlxceil | ND_ceil_float | :check_mark: |
| MtlX Clamp | mtlxclamp | ND_clamp | :check_mark: |
| MtlX Cos | mtlxcos | ND_cos:<br>ND_cos_float<br>ND_cos_vector2<br>ND_cos_vector3<br>ND_cos_vector4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Cross Product | mtlxcrossproduct | ND_crossproduct | :check_mark: |
| MtlX Distance | mtlxdistance |  | :cross_mark: |
| MtlX Divide | mtlxdivide | ND_divide | :check_mark: |
| MtlX Dot Product | mtlxdotproduct | ND_dotproduct | :check_mark: |
| MtlX Exp | mtlxexp | ND_exp | :check_mark: |
| MtlX Floor | mtlxfloor | ND_floor | :check_mark: |
| MtlX Invert | mtlxinvert | ND_invert | :check_mark: |
| MtlX Ln | mtlxln | ND_ln:<br>ND_ln_float<br>ND_ln_vector2<br>ND_ln_vector3<br>ND_ln_vector4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Magnitude | mtlxmagnitude | ND_magnitude | :cross_mark: |
| MtlX Max | mtlxmax | ND_max | :check_mark: |
| MtlX Min | mtlxmin | ND_min | :check_mark: |
| MtlX Modulo | mtlxmodulo | ND_modulo | :check_mark: |
| MtlX Multiply | mtlxmultiply | ND_multiply | :check_mark: |
| MtlX Normalize | mtlxnormalize | ND_normalize | :check_mark: |
| MtlX Normalmap | mtlxnormalmap | ND_normalmap | :check_mark: |
| MtlX Power | mtlxpower | ND_power | :check_mark: |
| MtlX Reflect |  | ND_reflect | :check_mark: |
| MtlX Refract |  | ND_refract | :check_mark: |
| MtlX Round |  | ND_round:<br>ND_round_float<br>ND_round_color3<br>ND_round_color4<br>ND_round_vector2<br>ND_round_vector3<br>ND_round_vector4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Rotate3D | mtlxrotate3d | ND_rotate3d | :check_mark: |
| MtlX Safe Power |  | ND_safepower:<br>ND_safepower_float<br>ND_safepower_vector2<br>ND_safepower_vector3<br>ND_safepower_vector4<br>ND_safepower_color3<br>ND_safepower_color4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Sign | mtlxsign | ND_sign | :check_mark: |
| MtlX Sin | mtlxsin | ND_sin:<br>ND_sin_float<br>ND_sin_vector2<br>ND_sin_vector3<br>ND_sin_vector4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Sqrt | mtlxsqrt | ND_sqrt | :check_mark: |
| MtlX Subtract | mtlxsubtract | ND_subtract | :check_mark: |
| MtlX Tan | mtlxtan | ND_tan | :check_mark: |
| MtlX Transform Matrix | mtlxtransformmatrix | ND_transformmatrix | :cross_mark: |
| MtlX Transform Normal | mtlxtransformnormal | ND_transformnormal_vector3 | :cross_mark: |
| MtlX Transform Point | mtlxtransformpoint | ND_transformpoint_vector3 | :cross_mark: |
| MtlX Transform Vector | mtlxtransformvector | ND_transformvector_vector3 | :cross_mark: |
| MtlX Triangle Wave | mtlxtrianglewave | ND_trianglewave | :check_mark: |
|  |
| **Npr** | MtlX View Direction |  | ND_viewdirection_vector3 | :check_mark: |
| MtlX Facing Ratio |  | ND_facingratio_float | :check_mark: |
|  |
| **Pbr** | MtlX Standard Surface |  | <span style="color: #292a2e">ND_openpbr_surface</span> | :check_mark: |
|  |
| **Shader**<br>** ** | MtlX Convert | mtlxconvert | ND_convert:<br>ND_convert_boolean_float<br>ND_convert_integer_float<br>ND_convert_float_vector2<br>ND_convert_float_vector3<br>ND_convert_float_vector4<br>ND_convert_float_color3<br>ND_convert_float_color4<br>ND_convert_color3_vector2<br>ND_convert_color3_vector3<br>ND_convert_color3_vector4<br>ND_convert_color3_color4<br>ND_convert_color4_vector3<br>ND_convert_color4_vector4<br>ND_convert_color4_color3<br>ND_convert_vector2_vector3<br>ND_convert_vector2_vector4<br>ND_convert_vector2_color3<br>ND_convert_vector2_color4<br>ND_convert_vector3_vector2<br>ND_convert_vector3_vector4<br>ND_convert_vector3_color3<br>ND_convert_vector3_color4<br>ND_convert_vector4_vector2<br>ND_convert_vector4_vector3<br>ND_convert_vector4_color3<br>ND_convert_vector4_color4 | :check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark:<br>:check_mark: |
| MtlX Surface Unlit | mtlxsurface_unlit |  | :cross_mark: |


## **Reference**

---

- MaterialX website: [https://materialx.org/](https://materialx.org/)
- Alexander Yolov and Gosho Genchev, MaterialX and V-Ray: Crafting the next chapter in 3D creativity, August 22, 2025: [https://blog.chaos.com/materialx-and-v-ray-crafting-the-next-chapter-in-3d-creativity](https://blog.chaos.com/materialx-and-v-ray-crafting-the-next-chapter-in-3d-creativity)
- Doug Smythe (Industrial Light & Magic) and Jonathan Stone (Lucasfilm Advanced Development Group), MaterialX: An Open Standard for Network-Based CG Object Looks (Version 1.38), March 1, 2021: [https://materialx.org/assets/MaterialX.v1.38.Spec.pdf](https://materialx.org/assets/MaterialX.v1.38.Spec.pdf)
- Niklas Harrysson (Autodesk), Doug Smythe (Industrial Light & Magic), Jonathan Stone (Lucasfilm Advanced Development Group), MaterialX Physically Based Shading Nodes (Version 1.38), February 2, 2021: [https://materialx.org/assets/MaterialX.v1.38.PBRSpec.pdf](https://materialx.org/assets/MaterialX.v1.38.PBRSpec.pdf)
- Doug Smythe (Industrial Light & Magic), Jonathan Stone (Lucasfilm Advanced Development Group), MaterialX: Supplemental Notes (Version 1.38) , February 2, 2021: [https://materialx.org/assets/MaterialX.v1.38.Supplement.pdf](https://materialx.org/assets/MaterialX.v1.38.Supplement.pdf)
- SideFX documentation: [https://www.sidefx.com/docs/houdini/nodes/vop/mtlxabsorption_vdf.html](https://www.sidefx.com/docs/houdini/nodes/vop/mtlxabsorption_vdf.html)


---