|
@@ -1,4 +1,8 @@
|
|
|
+import { Color } from '../math/Color.js';
|
|
|
import { Vector2 } from '../math/Vector2.js';
|
|
|
+import { Vector3 } from '../math/Vector3.js';
|
|
|
+import { Vector4 } from '../math/Vector4.js';
|
|
|
+import { Matrix4 } from '../math/Matrix4.js';
|
|
|
import { FileLoader } from './FileLoader.js';
|
|
|
import { DefaultLoadingManager } from './LoadingManager.js';
|
|
|
import * as Materials from '../materials/Materials.js';
|
|
@@ -106,7 +110,37 @@ Object.assign( MaterialLoader.prototype, {
|
|
|
var uniform = json.uniforms[ name ];
|
|
|
|
|
|
material.uniforms[ name ] = {};
|
|
|
- material.uniforms[ name ].value = ( uniform.type === 't' ) ? getTexture( uniform.value ) : uniform.value;
|
|
|
+
|
|
|
+ switch ( uniform.type ) {
|
|
|
+
|
|
|
+ case 't':
|
|
|
+ material.uniforms[ name ].value = getTexture( uniform.value );
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 'c':
|
|
|
+ material.uniforms[ name ].value = new Color().setHex( uniform.value );
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 'v2':
|
|
|
+ material.uniforms[ name ].value = new Vector2().fromArray( uniform.value );
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 'v3':
|
|
|
+ material.uniforms[ name ].value = new Vector3().fromArray( uniform.value );
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 'v4':
|
|
|
+ material.uniforms[ name ].value = new Vector4().fromArray( uniform.value );
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 'm4':
|
|
|
+ material.uniforms[ name ].value = new Matrix4().fromArray( uniform.value );
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ material.uniforms[ name ].value = uniform.value;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|