添加关照、全局等高线、修改图层问题
This commit is contained in:
		
							
								
								
									
										140
									
								
								static/sdk/three/jsm/renderers/common/Uniform.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								static/sdk/three/jsm/renderers/common/Uniform.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,140 @@ | ||||
| import { Color, Matrix3, Matrix4, Vector2, Vector3, Vector4 } from 'three'; | ||||
|  | ||||
| class Uniform { | ||||
|  | ||||
| 	constructor( name, value = null ) { | ||||
|  | ||||
| 		this.name = name; | ||||
| 		this.value = value; | ||||
|  | ||||
| 		this.boundary = 0; // used to build the uniform buffer according to the STD140 layout | ||||
| 		this.itemSize = 0; | ||||
|  | ||||
| 		this.offset = 0; // this property is set by WebGPUUniformsGroup and marks the start position in the uniform buffer | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	setValue( value ) { | ||||
|  | ||||
| 		this.value = value; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	getValue() { | ||||
|  | ||||
| 		return this.value; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| class FloatUniform extends Uniform { | ||||
|  | ||||
| 	constructor( name, value = 0 ) { | ||||
|  | ||||
| 		super( name, value ); | ||||
|  | ||||
| 		this.isFloatUniform = true; | ||||
|  | ||||
| 		this.boundary = 4; | ||||
| 		this.itemSize = 1; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| class Vector2Uniform extends Uniform { | ||||
|  | ||||
| 	constructor( name, value = new Vector2() ) { | ||||
|  | ||||
| 		super( name, value ); | ||||
|  | ||||
| 		this.isVector2Uniform = true; | ||||
|  | ||||
| 		this.boundary = 8; | ||||
| 		this.itemSize = 2; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| class Vector3Uniform extends Uniform { | ||||
|  | ||||
| 	constructor( name, value = new Vector3() ) { | ||||
|  | ||||
| 		super( name, value ); | ||||
|  | ||||
| 		this.isVector3Uniform = true; | ||||
|  | ||||
| 		this.boundary = 16; | ||||
| 		this.itemSize = 3; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| class Vector4Uniform extends Uniform { | ||||
|  | ||||
| 	constructor( name, value = new Vector4() ) { | ||||
|  | ||||
| 		super( name, value ); | ||||
|  | ||||
| 		this.isVector4Uniform = true; | ||||
|  | ||||
| 		this.boundary = 16; | ||||
| 		this.itemSize = 4; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| class ColorUniform extends Uniform { | ||||
|  | ||||
| 	constructor( name, value = new Color() ) { | ||||
|  | ||||
| 		super( name, value ); | ||||
|  | ||||
| 		this.isColorUniform = true; | ||||
|  | ||||
| 		this.boundary = 16; | ||||
| 		this.itemSize = 3; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| class Matrix3Uniform extends Uniform { | ||||
|  | ||||
| 	constructor( name, value = new Matrix3() ) { | ||||
|  | ||||
| 		super( name, value ); | ||||
|  | ||||
| 		this.isMatrix3Uniform = true; | ||||
|  | ||||
| 		this.boundary = 48; | ||||
| 		this.itemSize = 12; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| class Matrix4Uniform extends Uniform { | ||||
|  | ||||
| 	constructor( name, value = new Matrix4() ) { | ||||
|  | ||||
| 		super( name, value ); | ||||
|  | ||||
| 		this.isMatrix4Uniform = true; | ||||
|  | ||||
| 		this.boundary = 64; | ||||
| 		this.itemSize = 16; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| export { | ||||
| 	FloatUniform, | ||||
| 	Vector2Uniform, Vector3Uniform, Vector4Uniform, ColorUniform, | ||||
| 	Matrix3Uniform, Matrix4Uniform | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user