---
title: "MaterialX Supported Features"
canonical: "https://documentation.chaos.com/space/VMAYA/111738887/MaterialX%20Supported%20Features"
format: markdown
---
This page provides information on the supported features with MaterialX in V-Ray for Maya.


## **Overview**

---

<span style="color: #272727">MaterialX is an open-source standard for representing shading networks. MaterialX shading networks can be used across different applications and renderers.</span>

<span style="color: #272727">V-Ray offers the </span><span style="color: #272727">[VRayMaterialX](https://docs-chaos.atlassian.net/wiki/spaces/VMAYA/pages/111740372)</span><span style="color: #272727"> node that loads .mtlx files to render. </span>


## **Supported Nodes**

---


| **Category** | **MtlX Shader Name** | **Node Name** | **USD id** | **V-Ray Plugin** | **CPU Support** | **GPU Support** |
| --- | --- | --- | --- | --- | --- | --- |
| **Adjustment** | MtlX Adjust as HSV | mtlxhsvadjust | ND_hsvadjust |  | :check_mark: | :cross_mark: |
| MtlX Contrast | mtlxcontrast | ND_contrast | TexMayaContrast | :check_mark: | :check_mark: |
| MtlX Curveadjust | mtlxcurveadjust | ND_curveadjust |  | :cross_mark: | :cross_mark: |
| MtlX HSV to RGB | mtlxhsvtorgb | ND_hsvtorgb |  | :check_mark: | :cross_mark: |
| MtlX Luminance | mtlxluminance | ND_luminance | TexLuminance | :check_mark: | :check_mark: |
| MtlX Range | mtlxrange | ND_range |  | :check_mark: | :check_mark: |
| MtlX Remap | mtlxremap | ND_remap | TexSetRange / TexRemapFloat | :check_mark: | :check_mark: |
| MtlX RGB to HSV | mtlxrgbtohsv | ND_rgbtohsv |  | :check_mark: | :cross_mark: |
| MtlX Saturate | mtlxsaturate | ND_saturate |  | :check_mark: | :cross_mark: |
| MtlX Smoothstep | mtlxsmoothstep | ND_smoothstep |  | :check_mark: | :cross_mark: |
|  |  |
| **Application** | MtlX Frame | mtlxframe | ND_frame_float | TexSampler | :check_mark: | :cross_mark: |
| MtlX Time | mtlxtime | ND_time_float | multiple | :check_mark: | :cross_mark: |
|  |  |
| **Channel** | MtlX Combine2 | mtlxcombine2 | ND_combine2 |  | :check_mark: | :check_mark: |
| MtlX Combine3 | mtlxcombine3 | ND_combine3 | TexRgbaCombine | :check_mark: | :check_mark: |
| MtlX Combine4 | mtlxcombine4 | ND_combine4 | TexRgbaCombine | :check_mark: | :check_mark: |
| MtlX Convert | mtlxconvert | ND_convert | multiple | :check_mark: | :check_mark: |
| MtlX Extract | mtlxextract | ND_extract | TexAColorChannel | :check_mark: | :check_mark: |
| MtlX Separate2 | mtlxseparate2 | ND_separate2 |  | :check_mark: | :check_mark: |
| MtlX Separate Color 3 | mtlxseparate3c | ND_separate3 | TexAColorOp | :check_mark: | :check_mark: |
| MtlX Separate Vector 3 | mtlxseparate3v | ND_separate3 | TexAColorOp | :check_mark: | :check_mark: |
| MtlX Separate Color 4 | mtlxseparate4c | ND_separate4 | TexAColorOp | :check_mark: | :check_mark: |
| MtlX Separate Vector 4 | mtlxseparate4v | ND_separate4 | TexAColorOp | :check_mark: | :check_mark: |
| MtlX Swizzle | mtlxswizzle | ND_swizzle |  | :check_mark: | :cross_mark: |
|  |  |
| **Compositing** | MtlX Burn | mtlxburn | ND_burn | multiple | :check_mark: | :check_mark: |
| MtlX Difference | mtlxdifference | ND_difference | multiple | :check_mark: | :check_mark: |
| MtlX Disjoint Over | mtlxdisjointover | ND_disjointover | multiple | :check_mark: | :check_mark: |
| MtlX Dodge | mtlxdodge | ND_dodge | multiple | :check_mark: | :cross_mark: |
| MtlX In | mtlxin | ND_in | multiple | :check_mark: | :check_mark: |
| MtlX Inside | mtlxinside | ND_inside | TexMaskMax | :check_mark: | :check_mark: |
| MtlX Mask | mtlxmask | ND_mask | multiple | :check_mark: | :check_mark: |
| MtlX Matte | mtlxmatte | ND_matte | multiple | :check_mark: | :check_mark: |
| MtlX Minus | mtlxminus | ND_minus | multiple | :check_mark: | :check_mark: |
| MtlX Mix | mtlxmix | ND_mix | TexMix | :check_mark: | :check_mark: |
| MtlX Out | mtlxout | ND_out | multiple | :check_mark: | :check_mark: |
| MtlX Outside | mtlxoutside | ND_outside | TexMaskMax | :check_mark: | :check_mark: |
| MtlX Over | mtlxover | ND_over | multiple | :check_mark: | :cross_mark: |
| MtlX Overlay | mtlxoverlay | ND_overlay | multiple | :check_mark: | :cross_mark: |
| MtlX Plus | mtlxplus | ND_plus | multiple | :check_mark: | :check_mark: |
| MtlX Premult | mtlxpremult | ND_premult |  | :cross_mark: | :cross_mark: |
| MtlX Screen | mtlxscreen | ND_screen | multiple | :check_mark: | :check_mark: |
| MtlX Un-Premult | mtlxunpremult | ND_unpremult |  | :check_mark: | :check_mark: |
|  |  |
| **Conditional** | MtlX If Equal | mtlxifequal | ND_ifequal | TexCondition2 | :check_mark: | :check_mark: |
| MtlX If Greater | mtlxifgreater | ND_ifgreater | TexCondition2 | :check_mark: | :check_mark: |
| MtlX If Greater or Equal | mtlxifgreatereq | ND_ifgreatereq | TexCondition2 | :check_mark: | :check_mark: |
| MtlX Switch | mtlxswitch | ND_switch | TexMulti | :check_mark: | :check_mark: |
|  |  |
| **Convolution2D** | MtlX Blur | mtlxblur |  |  | :check_mark: | :cross_mark: |
| MtlX Height to Normal | mtlxheighttonormal | ND_heighttonormal |  | :check_mark: | :cross_mark: |
|  |  |
| **Geometric** | MtlX Bitangent | mtlxbitangent | ND_bitangent |  | :cross_mark: | :cross_mark: |
| Mtlx Bump | mtlxbump | ND_bump_vector3 | ND_bump_vector3 | :check_mark: | :check_mark: |
| MtlX Geometry Color | mtlxgeomcolor | ND_geomcolor | TexUserColor | :check_mark: | :check_mark: |
| MtlX Geometry Property Value | mtlxgeompropvalue | ND_geompropvalue | multiple | :check_mark: | :cross_mark: |
| MtlX Normal | mtlxnormal | ND_normal_vector3 | TexSampler | :check_mark: | :cross_mark: |
| MtlX Position | mtlxposition | ND_position_vector3 | TexSampler | :check_mark: | :cross_mark: |
| MtlX Tangent | mtlxtangent | ND_tangent_vector3 |  | :check_mark: | :cross_mark: |
| MtlX Texcoord | mtlxtexcoord | ND_texcoord_vector3 |  | :check_mark: | :cross_mark: |
|  |  |
| **Global** | MtlX Ambient Occlusion | mtlxambientocclusion | ND_ambientocclusion_float | TexDirt | :cross_mark: | :cross_mark: |
|  |  |
| **Houdini** | MtlX Bias | hmtlxbias | ND_hmtlxbias_float |  | :cross_mark: | :cross_mark: |
| MtlX Facing Ratio | hmtlxfacingratio | ND_hmtlxfacingratio_float |  | :cross_mark: | :cross_mark: |
| MtlX Gain | hmtlxgain | ND_hmtlxgain_float |  | :cross_mark: | :cross_mark: |
| MtlX Hcatmullrom | hmtlxhcatmullrom | ND_hcatmullrom |  | :cross_mark: | :cross_mark: |
| MtlX Hinvlinear | hmtlxhinvlinear | ND_hinvlinear_float |  | :check_mark: | :check_mark: |
| MtlX Huniformcubic | hmtlxhuniformcubic | ND_huniformcubic |  | :check_mark: | :check_mark: |
| MtlX Huniformramp | hmtlxhuniformramp | ND_huniformramp |  | :check_mark: | :check_mark: |
|  |  |
| **Light** | MtlX Directional Light | mtlxdirectional_light |  |  | :cross_mark: | :cross_mark: |
| MtlX Point Light | mtlxpoint_light |  |  | :cross_mark: | :cross_mark: |
| MtlX Spot Light | mtlxspot_light |  |  | :cross_mark: | :cross_mark: |
|  |  |
| **Material** | MtlX Surface Material | mtlxsurfacematerial |  |  | :cross_mark: | :cross_mark: |
| MtlX Volume Material | mtlxvolumematerial |  |  | :cross_mark: | :cross_mark: |
|  |  |
| **Procedural** | MtlX Color Cubic Ramp | hmtlxcubicrampc |  | multiple | :cross_mark: | :cross_mark: |
| MtlX Color Ramp | hmtlxrampc |  | multiple | :cross_mark: | :cross_mark: |
| MtlX Constant | mtlxconstant | ND_constant | multiple | :check_mark: | :check_mark: |
| MtlX Float Cubic Ramp | hmtlxcubicrampf |  | multiple | :cross_mark: | :cross_mark: |
| MtlX Float Ramp | hmtlxrampf |  | multiple | :cross_mark: | :cross_mark: |
|  |  |
| **Procedural2D** | MtlX Cell Noise 2D | mtlxcellnoise2d | ND_cellnoise2d_float | multiple | :check_mark: | :cross_mark: |
| MtlX Noise2D | mtlxnoise2d | ND_noise2d | TexNoiseMaya | :check_mark: | :cross_mark: |
| MtlX Ramp4 | mtlxramp4 | ND_ramp4 | TexRamp | :check_mark: | :cross_mark: |
| MtlX Ramplr | mtlxramplr | ND_ramplr | TexRamp | :check_mark: | :cross_mark: |
| MtlX Ramptb | mtlxramptb | ND_ramptb | TexRamp | :check_mark: | :cross_mark: |
| MtlX Splitlr | mtlxsplitlr | ND_splitlr |  | :check_mark: | :cross_mark: |
| MtlX Splittb | mtlxsplittb | ND_splittb |  | :check_mark: | :cross_mark: |
| MtlX Worley Noise 2D | mtlxworleynoise2d | ND_worleynoise2d |  | :check_mark: | :cross_mark: |
|  |  |
| **Procedural3D** | MtlX Cell Noise 3D | mtlxcellnoise3d | ND_cellnoise3d_float | multiple | :check_mark: | :cross_mark: |
| MtlX Fractal3D | mtlxfractal3d | ND_fractal3d |  | :check_mark: | :cross_mark: |
| MtlX Noise3D | mtlxnoise3d | ND_noise3d |  | :check_mark: | :cross_mark: |
| MtlX Worley Noise 3D | mtlxworleynoise3d | ND_worleynoise3d |  | :check_mark: | :cross_mark: |
|  |  |
| **Texture2D** | MtlX Image | mtlximage | ND_image | multiple | :check_mark: | :cross_mark: |
| MtlX Tiled Image | mtlxtiledimage | ND_tiledimage | multiple | :check_mark: | :cross_mark: |
|  |  |
| **Texture3D** | MtlX Triplanar Projection | mtlxtriplanarprojection | ND_triplanarprojection |  | :check_mark: | :cross_mark: |
|  |  |
| **Math** | MtlX Absval | mtlxabsval | ND_absval | TexFloatOp / TexAColorOp | :check_mark: | :check_mark: |
| MtlX Acos | mtlxacos | ND_acos | multiple | :check_mark: | :cross_mark: |
| MtlX Add | mtlxadd | ND_add | TexFloatOp / TexAColorOp | :check_mark: | :check_mark: |
| MtlX Array Append | mtlxarrayappend | ND_arrayappend |  | :cross_mark: | :cross_mark: |
| MtlX Asin | mtlxasin | ND_asin_float | multiple | :check_mark: | :cross_mark: |
| MtlX Atan2 | mtlxatan2 | ND_atan2_float | multiple | :check_mark: | :cross_mark: |
| MtlX Ceil | mtlxceil | ND_ceil_float | multiple | :check_mark: | :cross_mark: |
| MtlX Clamp | mtlxclamp | ND_clamp | TexClamp | :check_mark: | :check_mark: |
| MtlX Cos | mtlxcos | ND_cos | multiple | :check_mark: | :cross_mark: |
| MtlX Cross Product | mtlxcrossproduct | ND_crossproduct_vector3 | TexVectorOp | :check_mark: | :check_mark: |
| MtlX Determinant | mtlxdeterminant | ND_determinant |  | :check_mark: | :cross_mark: |
| MtlX Divide | mtlxdivide | ND_divide | multiple | :check_mark: | :cross_mark: |
| MtlX Dot Product | mtlxdotproduct | ND_dotproduct_vector3 | TexVectorOp | :check_mark: | :check_mark: |
| MtlX Exp | mtlxexp | ND_exp | multiple | :check_mark: | :cross_mark: |
| MtlX Floor | mtlxfloor | ND_floor | multiple | :check_mark: | :cross_mark: |
| MtlX Invert | mtlxinvert | ND_invert | TexFloatOp / TexAColorOp | :check_mark: | :check_mark: |
| MtlX Invert Matrix | mtlxinvertmatrix |  |  | :check_mark: | :cross_mark: |
| MtlX Ln | mtlxln | ND_ln | multiple | :check_mark: | :cross_mark: |
| MtlX Magnitude | mtlxmagnitude | ND_magnitude | multiple | :check_mark: | :cross_mark: |
| MtlX Max | mtlxmax | ND_max | TexFloatOp / TexAColorOp | :check_mark: | :check_mark: |
| MtlX Min | mtlxmin | ND_min | TexFloatOp / TexAColorOp | :check_mark: | :check_mark: |
| MtlX Modulo | mtlxmodulo | ND_modulo |  | :check_mark: | :cross_mark: |
| MtlX Multiply | mtlxmultiply | ND_multiply | TexFloatOp / TexAColorOp | :check_mark: | :check_mark: |
| MtlX Normalize | mtlxnormalize | ND_normalize | TexVectorProduct | :check_mark: | :check_mark: |
| MtlX Normalmap | mtlxnormalmap | ND_normalmap |  | :check_mark: | :check_mark: |
| MtlX Place2D | mtlxplace2d | ND_place2d_vector2 |  | :check_mark: | :check_mark: |
| MtlX Power | mtlxpower | ND_power |  | :check_mark: | :cross_mark: |
| MtlX Rotate2D | mtlxrotate2d | ND_rotate2d_vector2 |  | :check_mark: | :check_mark: |
| MtlX Rotate3D | mtlxrotate3d | ND_rotate3d_vector3 |  | :check_mark: | :check_mark: |
| MtlX Sign | mtlxsign | ND_sign | multiple | :check_mark: | :cross_mark: |
| MtlX Sin | mtlxsin | ND_sin | multiple | :check_mark: | :cross_mark: |
| MtlX Sqrt | mtlxsqrt | ND_sqrt | multiple | :check_mark: | :cross_mark: |
| MtlX Subtract | mtlxsubtract | ND_subtract |  | :check_mark: | :cross_mark: |
| MtlX Tan | mtlxtan | ND_tan | multiple | :check_mark: | :cross_mark: |
| MtlX Transform Matrix | mtlxtransformmatrix | ND_transformmatrix |  | :check_mark: | :cross_mark: |
| MtlX Transform Normal | mtlxtransformnormal | ND_transformnormal_vector3 |  | :cross_mark: | :cross_mark: |
| MtlX Transform Point | mtlxtransformpoint | ND_transformpoint_vector3 |  | :cross_mark: | :cross_mark: |
| MtlX Transform Vector | mtlxtransformvector | ND_transformvector_vector3 |  | :cross_mark: | :cross_mark: |
| MtlX Transpose | mtlxtranspose | ND_transpose |  | :check_mark: | :cross_mark: |
|  |  |
| **Pbr** | MtlX Blackbody | mtlxblackbody | ND_blackbody |  | :cross_mark: | :cross_mark: |