Explorar o código

ShaderMaterial: Added Matrix3 to .toJSON().

Mugen87 %!s(int64=6) %!d(string=hai) anos
pai
achega
a3a0f73d3a
Modificáronse 2 ficheiros con 11 adicións e 0 borrados
  1. 4 0
      src/loaders/MaterialLoader.js
  2. 7 0
      src/materials/ShaderMaterial.js

+ 4 - 0
src/loaders/MaterialLoader.js

@@ -2,6 +2,7 @@ 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 { Matrix3 } from '../math/Matrix3.js';
 import { Matrix4 } from '../math/Matrix4.js';
 import { FileLoader } from './FileLoader.js';
 import { DefaultLoadingManager } from './LoadingManager.js';
@@ -129,6 +130,9 @@ Object.assign( MaterialLoader.prototype, {
 						material.uniforms[ name ].value = new Vector4().fromArray( uniform.value );
 						break;
 
+					case 'm3':
+						material.uniforms[ name ].value = new Matrix3().fromArray( uniform.value );
+
 					case 'm4':
 						material.uniforms[ name ].value = new Matrix4().fromArray( uniform.value );
 						break;

+ 7 - 0
src/materials/ShaderMaterial.js

@@ -158,6 +158,13 @@ ShaderMaterial.prototype.toJSON = function ( meta ) {
 				value: value.toArray()
 			};
 
+		} else if ( value && value.isMatrix3 ) {
+
+			data.uniforms[ name ] = {
+				type: 'm3',
+				value: value.toArray()
+			};
+
 		} else if ( value && value.isMatrix4 ) {
 
 			data.uniforms[ name ] = {