@@ -25,7 +25,7 @@ const colorSpaceLib = {
25
25
mx_srgb_texture_to_lin_rec709
26
26
} ;
27
27
28
- class MtlXElement {
28
+ class MXElement {
29
29
30
30
constructor ( name , nodeFunc , params = null ) {
31
31
@@ -39,41 +39,41 @@ class MtlXElement {
39
39
40
40
// Ref: https://github.com/mrdoob/three.js/issues/24674
41
41
42
- const MtlXElements = [
42
+ const MXElements = [
43
43
44
44
// << Math >>
45
- new MtlXElement ( 'add' , add , [ 'in1' , 'in2' ] ) ,
46
- new MtlXElement ( 'subtract' , sub , [ 'in1' , 'in2' ] ) ,
47
- new MtlXElement ( 'multiply' , mul , [ 'in1' , 'in2' ] ) ,
48
- new MtlXElement ( 'divide' , div , [ 'in1' , 'in2' ] ) ,
49
- new MtlXElement ( 'modulo' , mod , [ 'in1' , 'in2' ] ) ,
50
- new MtlXElement ( 'absval' , abs , [ 'in1' , 'in2' ] ) ,
51
- new MtlXElement ( 'sign' , sign , [ 'in1' , 'in2' ] ) ,
52
- new MtlXElement ( 'floor' , floor , [ 'in1' , 'in2' ] ) ,
53
- new MtlXElement ( 'ceil' , ceil , [ 'in1' , 'in2' ] ) ,
54
- new MtlXElement ( 'round' , round , [ 'in1' , 'in2' ] ) ,
55
- new MtlXElement ( 'power' , pow , [ 'in1' , 'in2' ] ) ,
56
- new MtlXElement ( 'sin' , sin , [ 'in' ] ) ,
57
- new MtlXElement ( 'cos' , cos , [ 'in' ] ) ,
58
- new MtlXElement ( 'tan' , tan , [ 'in' ] ) ,
59
- new MtlXElement ( 'asin' , asin , [ 'in' ] ) ,
60
- new MtlXElement ( 'acos' , acos , [ 'in' ] ) ,
61
- new MtlXElement ( 'atan2' , atan2 , [ 'in1' , 'in2' ] ) ,
62
- new MtlXElement ( 'sqrt' , sqrt , [ 'in' ] ) ,
45
+ new MXElement ( 'add' , add , [ 'in1' , 'in2' ] ) ,
46
+ new MXElement ( 'subtract' , sub , [ 'in1' , 'in2' ] ) ,
47
+ new MXElement ( 'multiply' , mul , [ 'in1' , 'in2' ] ) ,
48
+ new MXElement ( 'divide' , div , [ 'in1' , 'in2' ] ) ,
49
+ new MXElement ( 'modulo' , mod , [ 'in1' , 'in2' ] ) ,
50
+ new MXElement ( 'absval' , abs , [ 'in1' , 'in2' ] ) ,
51
+ new MXElement ( 'sign' , sign , [ 'in1' , 'in2' ] ) ,
52
+ new MXElement ( 'floor' , floor , [ 'in1' , 'in2' ] ) ,
53
+ new MXElement ( 'ceil' , ceil , [ 'in1' , 'in2' ] ) ,
54
+ new MXElement ( 'round' , round , [ 'in1' , 'in2' ] ) ,
55
+ new MXElement ( 'power' , pow , [ 'in1' , 'in2' ] ) ,
56
+ new MXElement ( 'sin' , sin , [ 'in' ] ) ,
57
+ new MXElement ( 'cos' , cos , [ 'in' ] ) ,
58
+ new MXElement ( 'tan' , tan , [ 'in' ] ) ,
59
+ new MXElement ( 'asin' , asin , [ 'in' ] ) ,
60
+ new MXElement ( 'acos' , acos , [ 'in' ] ) ,
61
+ new MXElement ( 'atan2' , atan2 , [ 'in1' , 'in2' ] ) ,
62
+ new MXElement ( 'sqrt' , sqrt , [ 'in' ] ) ,
63
63
//new MtlXElement( 'ln', ... ),
64
- new MtlXElement ( 'exp' , exp , [ 'in' ] ) ,
65
- new MtlXElement ( 'clamp' , clamp , [ 'in' , 'low' , 'high' ] ) ,
66
- new MtlXElement ( 'min' , min , [ 'in1' , 'in2' ] ) ,
67
- new MtlXElement ( 'max' , max , [ 'in1' , 'in2' ] ) ,
68
- new MtlXElement ( 'normalize' , normalize , [ 'in' ] ) ,
69
- new MtlXElement ( 'magnitude' , length , [ 'in1' , 'in2' ] ) ,
70
- new MtlXElement ( 'dotproduct' , dot , [ 'in1' , 'in2' ] ) ,
71
- new MtlXElement ( 'crossproduct' , cross , [ 'in' ] ) ,
64
+ new MXElement ( 'exp' , exp , [ 'in' ] ) ,
65
+ new MXElement ( 'clamp' , clamp , [ 'in' , 'low' , 'high' ] ) ,
66
+ new MXElement ( 'min' , min , [ 'in1' , 'in2' ] ) ,
67
+ new MXElement ( 'max' , max , [ 'in1' , 'in2' ] ) ,
68
+ new MXElement ( 'normalize' , normalize , [ 'in' ] ) ,
69
+ new MXElement ( 'magnitude' , length , [ 'in1' , 'in2' ] ) ,
70
+ new MXElement ( 'dotproduct' , dot , [ 'in1' , 'in2' ] ) ,
71
+ new MXElement ( 'crossproduct' , cross , [ 'in' ] ) ,
72
72
//new MtlXElement( 'transformpoint', ... ),
73
73
//new MtlXElement( 'transformvector', ... ),
74
74
//new MtlXElement( 'transformnormal', ... ),
75
75
//new MtlXElement( 'transformmatrix', ... ),
76
- new MtlXElement ( 'normalmap' , normalMap , [ 'in' , 'scale' ] ) ,
76
+ new MXElement ( 'normalmap' , normalMap , [ 'in' , 'scale' ] ) ,
77
77
//new MtlXElement( 'transpose', ... ),
78
78
//new MtlXElement( 'determinant', ... ),
79
79
//new MtlXElement( 'invertmatrix', ... ),
@@ -83,44 +83,44 @@ const MtlXElements = [
83
83
//new MtlXElement( 'dot', ... ),
84
84
85
85
// << Adjustment >>
86
- new MtlXElement ( 'remap' , remap , [ 'in' , 'inlow' , 'inhigh' , 'outlow' , 'outhigh' ] ) ,
87
- new MtlXElement ( 'smoothstep' , smoothstep , [ 'in' , 'low' , 'high' ] ) ,
86
+ new MXElement ( 'remap' , remap , [ 'in' , 'inlow' , 'inhigh' , 'outlow' , 'outhigh' ] ) ,
87
+ new MXElement ( 'smoothstep' , smoothstep , [ 'in' , 'low' , 'high' ] ) ,
88
88
//new MtlXElement( 'curveadjust', ... ),
89
89
//new MtlXElement( 'curvelookup', ... ),
90
- new MtlXElement ( 'luminance' , luminance , [ 'in' , 'lumacoeffs' ] ) ,
91
- new MtlXElement ( 'rgbtohsv' , mx_rgbtohsv , [ 'in' ] ) ,
92
- new MtlXElement ( 'hsvtorgb' , mx_hsvtorgb , [ 'in' ] ) ,
90
+ new MXElement ( 'luminance' , luminance , [ 'in' , 'lumacoeffs' ] ) ,
91
+ new MXElement ( 'rgbtohsv' , mx_rgbtohsv , [ 'in' ] ) ,
92
+ new MXElement ( 'hsvtorgb' , mx_hsvtorgb , [ 'in' ] ) ,
93
93
94
94
// << Mix >>
95
- new MtlXElement ( 'mix' , mix , [ 'bg' , 'fg' , 'mix' ] ) ,
95
+ new MXElement ( 'mix' , mix , [ 'bg' , 'fg' , 'mix' ] ) ,
96
96
97
97
// << Channel >>
98
- new MtlXElement ( 'combine2' , vec2 , [ 'in1' , 'in2' ] ) ,
99
- new MtlXElement ( 'combine3' , vec3 , [ 'in1' , 'in2' , 'in3' ] ) ,
100
- new MtlXElement ( 'combine4' , vec4 , [ 'in1' , 'in2' , 'in3' , 'in4' ] ) ,
98
+ new MXElement ( 'combine2' , vec2 , [ 'in1' , 'in2' ] ) ,
99
+ new MXElement ( 'combine3' , vec3 , [ 'in1' , 'in2' , 'in3' ] ) ,
100
+ new MXElement ( 'combine4' , vec4 , [ 'in1' , 'in2' , 'in3' , 'in4' ] ) ,
101
101
102
102
// << Procedural >>
103
- new MtlXElement ( 'ramplr' , mx_ramplr , [ 'valuel' , 'valuer' , 'texcoord' ] ) ,
104
- new MtlXElement ( 'ramptb' , mx_ramptb , [ 'valuet' , 'valueb' , 'texcoord' ] ) ,
105
- new MtlXElement ( 'splitlr' , mx_splitlr , [ 'valuel' , 'valuer' , 'texcoord' ] ) ,
106
- new MtlXElement ( 'splittb' , mx_splittb , [ 'valuet' , 'valueb' , 'texcoord' ] ) ,
107
- new MtlXElement ( 'noise2d' , mx_noise_float , [ 'texcoord' , 'amplitude' , 'pivot' ] ) ,
108
- new MtlXElement ( 'noise3d' , mx_noise_float , [ 'texcoord' , 'amplitude' , 'pivot' ] ) ,
109
- new MtlXElement ( 'fractal3d' , mx_fractal_noise_float , [ 'position' , 'octaves' , 'lacunarity' , 'diminish' , 'amplitude' ] ) ,
110
- new MtlXElement ( 'cellnoise2d' , mx_cell_noise_float , [ 'texcoord' ] ) ,
111
- new MtlXElement ( 'cellnoise3d' , mx_cell_noise_float , [ 'texcoord' ] ) ,
112
- new MtlXElement ( 'worleynoise2d' , mx_worley_noise_float , [ 'texcoord' , 'jitter' ] ) ,
113
- new MtlXElement ( 'worleynoise3d' , mx_worley_noise_float , [ 'texcoord' , 'jitter' ] ) ,
103
+ new MXElement ( 'ramplr' , mx_ramplr , [ 'valuel' , 'valuer' , 'texcoord' ] ) ,
104
+ new MXElement ( 'ramptb' , mx_ramptb , [ 'valuet' , 'valueb' , 'texcoord' ] ) ,
105
+ new MXElement ( 'splitlr' , mx_splitlr , [ 'valuel' , 'valuer' , 'texcoord' ] ) ,
106
+ new MXElement ( 'splittb' , mx_splittb , [ 'valuet' , 'valueb' , 'texcoord' ] ) ,
107
+ new MXElement ( 'noise2d' , mx_noise_float , [ 'texcoord' , 'amplitude' , 'pivot' ] ) ,
108
+ new MXElement ( 'noise3d' , mx_noise_float , [ 'texcoord' , 'amplitude' , 'pivot' ] ) ,
109
+ new MXElement ( 'fractal3d' , mx_fractal_noise_float , [ 'position' , 'octaves' , 'lacunarity' , 'diminish' , 'amplitude' ] ) ,
110
+ new MXElement ( 'cellnoise2d' , mx_cell_noise_float , [ 'texcoord' ] ) ,
111
+ new MXElement ( 'cellnoise3d' , mx_cell_noise_float , [ 'texcoord' ] ) ,
112
+ new MXElement ( 'worleynoise2d' , mx_worley_noise_float , [ 'texcoord' , 'jitter' ] ) ,
113
+ new MXElement ( 'worleynoise3d' , mx_worley_noise_float , [ 'texcoord' , 'jitter' ] ) ,
114
114
115
115
// << Supplemental >>
116
116
//new MtlXElement( 'tiledimage', ... ),
117
117
//new MtlXElement( 'triplanarprojection', triplanarTextures, [ 'filex', 'filey', 'filez' ] ),
118
118
//new MtlXElement( 'ramp4', ... ),
119
119
//new MtlXElement( 'place2d', mx_place2d, [ 'texcoord', 'pivot', 'scale', 'rotate', 'offset' ] ),
120
- new MtlXElement ( 'safepower' , mx_safepower , [ 'in1' , 'in2' ] ) ,
121
- new MtlXElement ( 'contrast' , mx_contrast , [ 'in' , 'amount' , 'pivot' ] ) ,
120
+ new MXElement ( 'safepower' , mx_safepower , [ 'in1' , 'in2' ] ) ,
121
+ new MXElement ( 'contrast' , mx_contrast , [ 'in' , 'amount' , 'pivot' ] ) ,
122
122
//new MtlXElement( 'hsvadjust', ... ),
123
- new MtlXElement ( 'saturate' , saturation , [ 'in' , 'amount' ] ) ,
123
+ new MXElement ( 'saturate' , saturation , [ 'in' , 'amount' ] ) ,
124
124
//new MtlXElement( 'extract', ... ),
125
125
//new MtlXElement( 'separate2', ... ),
126
126
//new MtlXElement( 'separate3', ... ),
@@ -129,7 +129,7 @@ const MtlXElements = [
129
129
] ;
130
130
131
131
const MtlXLibrary = { } ;
132
- MtlXElements . forEach ( element => MtlXLibrary [ element . name ] = element ) ;
132
+ MXElements . forEach ( element => MtlXLibrary [ element . name ] = element ) ;
133
133
134
134
class MaterialXLoader extends Loader {
135
135
0 commit comments