-
-
Notifications
You must be signed in to change notification settings - Fork 35.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ShaderNode: MaterialX Nodes #24674
Comments
There’s 3 other sets of nodes to consider that are already in the standards, and deployed. Material X Physical Based Shading NodesI think this has some crossover with the full spec but I haven’t checked yet. MaterialX Supplemental NodesThese are listed as not core/critical but are supported and there are some useful ones, triplanarProjection for one.. MaterialX Lama Layering / bxdfThese are apart of the Pixar standard and are actually in the standard package/shaderGen now, although not as clearly documented… The layering is a bit confusing and I haven’t tried the webViewer on a model that utilizes it (all Pixar USDs are MASSIVE) I’m not advocating the support or necessity of any nodes at this point, but wanted to make sure the list was complete and accurate.. |
@DennisSmolek Thank you for the informations! |
There's new NPR (non-photorealistic rendering) nodes in MaterialX 1.39, which have often been requested and allow to create effects like fresnel: The current set includes the following nodes:
|
Document with the purpose of comparing Three.js
ShaderNode
withMaterialX
.https://materialx.org/assets/MaterialX.v1.38.Spec.pdf
Geometric
Position
positionGeometry
positionLocal
positionWorld
Normal
normalGeometry
normalLocal
normalWorld
Tangent
tangentGeometry
tangentLocal
tangentWorld
Bitangent
bitangentGeometry
bitangentLocal
bitangentWorld
Texture coordinate
uv( index )
Geometry attribute
attribute( 'color', 'vec3' )
attribute( value, type )
Application
frameId
timeLocal()
Math
add( in1, in2 )
sub( in1, in2 )
mul( in1, in2 )
div( in1, in2 )
mod( in1, in2 )
abs( in )
sign( in )
floor( in )
ceil( in )
round( in )
pow( in1, in2 )
sin( in )
cos( in )
tan( in )
asin( in )
acos( in )
atan2( in1, in2 )
sqrt( in )
exp( in )
clamp( in, low = 0, high = 1 )
min( in1, in2 )
max( in1, in2 )
normalize( in )
length( in )
dot( in1, in2 )
cross( in )
transformDirection( in, mat )
normalMap( in, ... )
rotateUV( in, degToRad( amount ) )
Adjustment
remap( in, inlow, inHigh, outLow, outHigh )
smoothstep( in, low, high )
luminance( in, lumacoeffs = lumeCoeffs )
mx_rgbtohsv( rgb )
mx_hsvtorgb( hsv )
Compositing
Premult
Blend
add( b, f )
sub( b, f )
difference( b, f )
burn( b, f )
dodge( b, f )
overlay( b, f )
Merge
Masking
Mix
mix( x, y, a )
Conditional
cond( greaterThan( in1, in2 ), value1, value2 )
cond( greaterThanEqual( in1, in2 ), value1, value2 )
cond( equal( in1, in2 ), value1, value2 )
Channel
vec*( in )
ortype*( in )
node.xyzw
ornode.rgba
vec2( in1, in2 )
vec3( in1, in2, in3 )
vec4( in1, in2, in3, in4 )
Convolution
Procedural
float( value )
,vec2( value )
,vec3( value )
, ...mx_ramplr( valuel, valuer, texcoord )
mx_ramptb( valuet, valueb, texcoord )
mx_splitlr( valuel, valuer, center, texcoord )
mx_splittb( valuet, valueb, texcoord )
mx_noise_float( vec2( texcoord ), amplitude = 1, pivot = 0 )
mx_noise_float( vec3( texcoord ), amplitude = 1, pivot = 0 )
mx_fractal_noise_float( position, octaves = 3, lacunarity = 2, diminish = .5, amplitude = 1 )
mx_cell_noise_float( vec2( texcoord ) )
mx_cell_noise_float( vec3( texcoord ) )
mx_worley_noise_float(.vec2( texcoord ), jitter = 1 )
mx_worley_noise_float(.vec3( texcoord ), jitter = 1 )
Global
Color Management
colorspace()
Supplemental
triplanarTextures( filex, filey, filez )
add( mul( in, amount ), pivot )
saturation( in, amount )
node[ 0 ]
,node[ 1 ]
, .. orelement( node, index )
node.x
,node.y
node.x
,node.y
,node.z
node.x
,node.y
,node.z
,node.w
The text was updated successfully, but these errors were encountered: