소스 검색

LightShadow: Renamed shadowOffset to shadowBias.

Mr.doob 5 년 전
부모
커밋
54119884be

+ 1 - 1
docs/api/en/lights/shadows/LightShadow.html

@@ -40,7 +40,7 @@
 			The default is 0. Very tiny adjustments here (in the order of 0.0001) may help reduce artefacts in shadows
 			The default is 0. Very tiny adjustments here (in the order of 0.0001) may help reduce artefacts in shadows
 		</p>
 		</p>
 
 
-		<h3>[property:Float normalOffset]</h3>
+		<h3>[property:Float normalBias]</h3>
 		<p>Defines how much the position used to query the shadow map is offset along the object normal.</p>
 		<p>Defines how much the position used to query the shadow map is offset along the object normal.</p>
 		<p>The default is 0. Increasing this value can be used to reduce shadow acne especially in large scenes where light shines onto geometry at a shallow angle. The cost is that shadows may appear distorted.</p>
 		<p>The default is 0. Increasing this value can be used to reduce shadow acne especially in large scenes where light shines onto geometry at a shallow angle. The cost is that shadows may appear distorted.</p>
 
 

+ 1 - 1
docs/api/zh/lights/shadows/LightShadow.html

@@ -38,7 +38,7 @@
 			默认值为0.此处非常小的调整(大约0.0001)可能有助于减少阴影中的伪影
 			默认值为0.此处非常小的调整(大约0.0001)可能有助于减少阴影中的伪影
 		</p>
 		</p>
 
 
-		<h3>[property:Float normalOffset]</h3>
+		<h3>[property:Float normalBias]</h3>
 		<p>Defines how much the position used to query the shadow map is offset along the object normal.</p>
 		<p>Defines how much the position used to query the shadow map is offset along the object normal.</p>
 		<p>The default is 0. Increasing this value can be used to reduce shadow acne especially in large scenes where light shines onto geometry at a shallow angle. The cost is that shadows may appear distorted.</p>
 		<p>The default is 0. Increasing this value can be used to reduce shadow acne especially in large scenes where light shines onto geometry at a shallow angle. The cost is that shadows may appear distorted.</p>
 
 

+ 9 - 9
editor/js/Sidebar.Object.js

@@ -315,14 +315,14 @@ function SidebarObject( editor ) {
 
 
 	// shadow normal offset
 	// shadow normal offset
 
 
-	var objectShadowNormalOffsetRow = new UIRow();
+	var objectShadowNormalBiasRow = new UIRow();
 
 
-	objectShadowNormalOffsetRow.add( new UIText( strings.getKey( 'sidebar/object/shadowNormalOffset' ) ).setWidth( '90px' ) );
+	objectShadowNormalBiasRow.add( new UIText( strings.getKey( 'sidebar/object/shadowNormalBias' ) ).setWidth( '90px' ) );
 
 
-	var objectShadowNormalOffset = new UINumber( 0 ).onChange( update );
-	objectShadowNormalOffsetRow.add( objectShadowNormalOffset );
+	var objectShadowNormalBias = new UINumber( 0 ).onChange( update );
+	objectShadowNormalBiasRow.add( objectShadowNormalBias );
 
 
-	container.add( objectShadowNormalOffsetRow );
+	container.add( objectShadowNormalBiasRow );
 
 
 	// shadow radius
 	// shadow radius
 
 
@@ -611,9 +611,9 @@ function SidebarObject( editor ) {
 
 
 				}
 				}
 
 
-				if ( object.shadow.normalOffset !== objectShadowNormalOffset.getValue() ) {
+				if ( object.shadow.normalBias !== objectShadowNormalBias.getValue() ) {
 
 
-					editor.execute( new SetValueCommand( editor, object.shadow, 'normalOffset', objectShadowNormalOffset.getValue() ) );
+					editor.execute( new SetValueCommand( editor, object.shadow, 'normalBias', objectShadowNormalBias.getValue() ) );
 
 
 				}
 				}
 
 
@@ -663,7 +663,7 @@ function SidebarObject( editor ) {
 			'decay': objectDecayRow,
 			'decay': objectDecayRow,
 			'castShadow': objectShadowRow,
 			'castShadow': objectShadowRow,
 			'receiveShadow': objectReceiveShadow,
 			'receiveShadow': objectReceiveShadow,
-			'shadow': [ objectShadowBiasRow, objectShadowNormalOffsetRow, objectShadowRadiusRow ]
+			'shadow': [ objectShadowBiasRow, objectShadowNormalBiasRow, objectShadowRadiusRow ]
 		};
 		};
 
 
 		for ( var property in properties ) {
 		for ( var property in properties ) {
@@ -858,7 +858,7 @@ function SidebarObject( editor ) {
 		if ( object.shadow !== undefined ) {
 		if ( object.shadow !== undefined ) {
 
 
 			objectShadowBias.setValue( object.shadow.bias );
 			objectShadowBias.setValue( object.shadow.bias );
-			objectShadowNormalOffset.setValue( object.shadow.normalOffset );
+			objectShadowNormalBias.setValue( object.shadow.normalBias );
 			objectShadowRadius.setValue( object.shadow.radius );
 			objectShadowRadius.setValue( object.shadow.radius );
 
 
 		}
 		}

+ 3 - 3
editor/js/Strings.js

@@ -112,7 +112,7 @@ function Strings( config ) {
 			'sidebar/object/decay': 'Decay',
 			'sidebar/object/decay': 'Decay',
 			'sidebar/object/shadow': 'Shadow',
 			'sidebar/object/shadow': 'Shadow',
 			'sidebar/object/shadowBias': 'Shadow Bias',
 			'sidebar/object/shadowBias': 'Shadow Bias',
-			'sidebar/object/shadowNormalOffset': 'Shadow Normal Offset',
+			'sidebar/object/shadowNormalBias': 'Shadow Normal Bias',
 			'sidebar/object/shadowRadius': 'Shadow Radius',
 			'sidebar/object/shadowRadius': 'Shadow Radius',
 			'sidebar/object/cast': 'cast',
 			'sidebar/object/cast': 'cast',
 			'sidebar/object/receive': 'receive',
 			'sidebar/object/receive': 'receive',
@@ -430,7 +430,7 @@ function Strings( config ) {
 			'sidebar/object/decay': 'Affaiblissement',
 			'sidebar/object/decay': 'Affaiblissement',
 			'sidebar/object/shadow': 'Ombre',
 			'sidebar/object/shadow': 'Ombre',
 			'sidebar/object/shadowBias': 'Biais directionnel des ombres',
 			'sidebar/object/shadowBias': 'Biais directionnel des ombres',
-			'sidebar/object/shadowNormalOffset': 'Shadow Normal Offset',
+			'sidebar/object/shadowNormalBias': 'Shadow Normal Bias',
 			'sidebar/object/shadowRadius': 'Rayon de l\'ombre',
 			'sidebar/object/shadowRadius': 'Rayon de l\'ombre',
 			'sidebar/object/cast': 'Projète',
 			'sidebar/object/cast': 'Projète',
 			'sidebar/object/receive': 'Reçoit',
 			'sidebar/object/receive': 'Reçoit',
@@ -748,7 +748,7 @@ function Strings( config ) {
 			'sidebar/object/decay': '衰减',
 			'sidebar/object/decay': '衰减',
 			'sidebar/object/shadow': '阴影',
 			'sidebar/object/shadow': '阴影',
 			'sidebar/object/shadowBias': '阴影偏移',
 			'sidebar/object/shadowBias': '阴影偏移',
-			'sidebar/object/shadowNormalOffset': '阴影法线偏移',
+			'sidebar/object/shadowNormalBias': 'Shadow Normal Bias',
 			'sidebar/object/shadowRadius': '阴影半径',
 			'sidebar/object/shadowRadius': '阴影半径',
 			'sidebar/object/cast': '产生',
 			'sidebar/object/cast': '产生',
 			'sidebar/object/receive': '接受',
 			'sidebar/object/receive': '接受',

+ 1 - 1
src/lights/LightShadow.d.ts

@@ -11,7 +11,7 @@ export class LightShadow {
 
 
 	camera: Camera;
 	camera: Camera;
 	bias: number;
 	bias: number;
-	normalOffset: number;
+	normalBias: number;
 	radius: number;
 	radius: number;
 	mapSize: Vector2;
 	mapSize: Vector2;
 	map: RenderTarget;
 	map: RenderTarget;

+ 2 - 2
src/lights/LightShadow.js

@@ -13,7 +13,7 @@ function LightShadow( camera ) {
 	this.camera = camera;
 	this.camera = camera;
 
 
 	this.bias = 0;
 	this.bias = 0;
-	this.normalOffset = 0;
+	this.normalBias = 0;
 	this.radius = 1;
 	this.radius = 1;
 
 
 	this.mapSize = new Vector2( 512, 512 );
 	this.mapSize = new Vector2( 512, 512 );
@@ -121,7 +121,7 @@ Object.assign( LightShadow.prototype, {
 		const object = {};
 		const object = {};
 
 
 		if ( this.bias !== 0 ) object.bias = this.bias;
 		if ( this.bias !== 0 ) object.bias = this.bias;
-		if ( this.normalOffset !== 0 ) object.normalOffset = this.normalOffset;
+		if ( this.normalBias !== 0 ) object.normalBias = this.normalBias;
 		if ( this.radius !== 1 ) object.radius = this.radius;
 		if ( this.radius !== 1 ) object.radius = this.radius;
 		if ( this.mapSize.x !== 512 || this.mapSize.y !== 512 ) object.mapSize = this.mapSize.toArray();
 		if ( this.mapSize.x !== 512 || this.mapSize.y !== 512 ) object.mapSize = this.mapSize.toArray();
 
 

+ 1 - 1
src/loaders/ObjectLoader.js

@@ -928,7 +928,7 @@ ObjectLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
 		if ( data.shadow ) {
 		if ( data.shadow ) {
 
 
 			if ( data.shadow.bias !== undefined ) object.shadow.bias = data.shadow.bias;
 			if ( data.shadow.bias !== undefined ) object.shadow.bias = data.shadow.bias;
-			if ( data.shadow.normalOffset !== undefined ) object.shadow.normalOffset = data.shadow.normalOffset;
+			if ( data.shadow.normalBias !== undefined ) object.shadow.normalBias = data.shadow.normalBias;
 			if ( data.shadow.radius !== undefined ) object.shadow.radius = data.shadow.radius;
 			if ( data.shadow.radius !== undefined ) object.shadow.radius = data.shadow.radius;
 			if ( data.shadow.mapSize !== undefined ) object.shadow.mapSize.fromArray( data.shadow.mapSize );
 			if ( data.shadow.mapSize !== undefined ) object.shadow.mapSize.fromArray( data.shadow.mapSize );
 			if ( data.shadow.camera !== undefined ) object.shadow.camera = this.parseObject( data.shadow.camera );
 			if ( data.shadow.camera !== undefined ) object.shadow.camera = this.parseObject( data.shadow.camera );

+ 3 - 3
src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js

@@ -8,7 +8,7 @@ export default /* glsl */`
 
 
 		struct DirectionalLightShadow {
 		struct DirectionalLightShadow {
 			float shadowBias;
 			float shadowBias;
-			float shadowNormalOffset;
+			float shadowNormalBias;
 			float shadowRadius;
 			float shadowRadius;
 			vec2 shadowMapSize;
 			vec2 shadowMapSize;
 		};
 		};
@@ -24,7 +24,7 @@ export default /* glsl */`
 
 
 		struct SpotLightShadow {
 		struct SpotLightShadow {
 			float shadowBias;
 			float shadowBias;
-			float shadowNormalOffset;
+			float shadowNormalBias;
 			float shadowRadius;
 			float shadowRadius;
 			vec2 shadowMapSize;
 			vec2 shadowMapSize;
 		};
 		};
@@ -40,7 +40,7 @@ export default /* glsl */`
 
 
 		struct PointLightShadow {
 		struct PointLightShadow {
 			float shadowBias;
 			float shadowBias;
-			float shadowNormalOffset;
+			float shadowNormalBias;
 			float shadowRadius;
 			float shadowRadius;
 			vec2 shadowMapSize;
 			vec2 shadowMapSize;
 			float shadowCameraNear;
 			float shadowCameraNear;

+ 3 - 3
src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js

@@ -8,7 +8,7 @@ export default /* glsl */`
 
 
 		struct DirectionalLightShadow {
 		struct DirectionalLightShadow {
 			float shadowBias;
 			float shadowBias;
-			float shadowNormalOffset;
+			float shadowNormalBias;
 			float shadowRadius;
 			float shadowRadius;
 			vec2 shadowMapSize;
 			vec2 shadowMapSize;
 		};
 		};
@@ -24,7 +24,7 @@ export default /* glsl */`
 
 
 		struct SpotLightShadow {
 		struct SpotLightShadow {
 			float shadowBias;
 			float shadowBias;
-			float shadowNormalOffset;
+			float shadowNormalBias;
 			float shadowRadius;
 			float shadowRadius;
 			vec2 shadowMapSize;
 			vec2 shadowMapSize;
 		};
 		};
@@ -40,7 +40,7 @@ export default /* glsl */`
 
 
 		struct PointLightShadow {
 		struct PointLightShadow {
 			float shadowBias;
 			float shadowBias;
-			float shadowNormalOffset;
+			float shadowNormalBias;
 			float shadowRadius;
 			float shadowRadius;
 			vec2 shadowMapSize;
 			vec2 shadowMapSize;
 			float shadowCameraNear;
 			float shadowCameraNear;

+ 3 - 3
src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js

@@ -14,7 +14,7 @@ export default /* glsl */`
 	#pragma unroll_loop_start
 	#pragma unroll_loop_start
 	for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
 	for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
 
 
-		shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalOffset, 0 );
+		shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );
 		vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;
 		vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;
 
 
 	}
 	}
@@ -27,7 +27,7 @@ export default /* glsl */`
 	#pragma unroll_loop_start
 	#pragma unroll_loop_start
 	for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {
 	for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {
 
 
-		shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalOffset, 0 );
+		shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );
 		vSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;
 		vSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;
 
 
 	}
 	}
@@ -40,7 +40,7 @@ export default /* glsl */`
 	#pragma unroll_loop_start
 	#pragma unroll_loop_start
 	for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
 	for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
 
 
-		shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalOffset, 0 );
+		shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );
 		vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;
 		vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;
 
 
 	}
 	}

+ 3 - 3
src/renderers/shaders/UniformsLib.d.ts

@@ -73,7 +73,7 @@ export let UniformsLib: {
 			value: any[];
 			value: any[];
 			properties: {
 			properties: {
 				shadowBias: {};
 				shadowBias: {};
-				shadowNormalOffset: {};
+				shadowNormalBias: {};
 				shadowRadius: {};
 				shadowRadius: {};
 				shadowMapSize: {};
 				shadowMapSize: {};
 			};
 			};
@@ -96,7 +96,7 @@ export let UniformsLib: {
 			value: any[];
 			value: any[];
 			properties: {
 			properties: {
 				shadowBias: {};
 				shadowBias: {};
-				shadowNormalOffset: {};
+				shadowNormalBias: {};
 				shadowRadius: {};
 				shadowRadius: {};
 				shadowMapSize: {};
 				shadowMapSize: {};
 			};
 			};
@@ -116,7 +116,7 @@ export let UniformsLib: {
 			value: any[];
 			value: any[];
 			properties: {
 			properties: {
 				shadowBias: {};
 				shadowBias: {};
-				shadowNormalOffset: {};
+				shadowNormalBias: {};
 				shadowRadius: {};
 				shadowRadius: {};
 				shadowMapSize: {};
 				shadowMapSize: {};
 			};
 			};

+ 3 - 3
src/renderers/shaders/UniformsLib.js

@@ -119,7 +119,7 @@ const UniformsLib = {
 
 
 		directionalLightShadows: { value: [], properties: {
 		directionalLightShadows: { value: [], properties: {
 			shadowBias: {},
 			shadowBias: {},
-			shadowNormalOffset: {},
+			shadowNormalBias: {},
 			shadowRadius: {},
 			shadowRadius: {},
 			shadowMapSize: {}
 			shadowMapSize: {}
 		} },
 		} },
@@ -139,7 +139,7 @@ const UniformsLib = {
 
 
 		spotLightShadows: { value: [], properties: {
 		spotLightShadows: { value: [], properties: {
 			shadowBias: {},
 			shadowBias: {},
-			shadowNormalOffset: {},
+			shadowNormalBias: {},
 			shadowRadius: {},
 			shadowRadius: {},
 			shadowMapSize: {}
 			shadowMapSize: {}
 		} },
 		} },
@@ -156,7 +156,7 @@ const UniformsLib = {
 
 
 		pointLightShadows: { value: [], properties: {
 		pointLightShadows: { value: [], properties: {
 			shadowBias: {},
 			shadowBias: {},
-			shadowNormalOffset: {},
+			shadowNormalBias: {},
 			shadowRadius: {},
 			shadowRadius: {},
 			shadowMapSize: {},
 			shadowMapSize: {},
 			shadowCameraNear: {},
 			shadowCameraNear: {},

+ 6 - 6
src/renderers/webgl/WebGLLights.js

@@ -103,7 +103,7 @@ function ShadowUniformsCache() {
 				case 'DirectionalLight':
 				case 'DirectionalLight':
 					uniforms = {
 					uniforms = {
 						shadowBias: 0,
 						shadowBias: 0,
-						shadowNormalOffset: 0,
+						shadowNormalBias: 0,
 						shadowRadius: 1,
 						shadowRadius: 1,
 						shadowMapSize: new Vector2()
 						shadowMapSize: new Vector2()
 					};
 					};
@@ -112,7 +112,7 @@ function ShadowUniformsCache() {
 				case 'SpotLight':
 				case 'SpotLight':
 					uniforms = {
 					uniforms = {
 						shadowBias: 0,
 						shadowBias: 0,
-						shadowNormalOffset: 0,
+						shadowNormalBias: 0,
 						shadowRadius: 1,
 						shadowRadius: 1,
 						shadowMapSize: new Vector2()
 						shadowMapSize: new Vector2()
 					};
 					};
@@ -121,7 +121,7 @@ function ShadowUniformsCache() {
 				case 'PointLight':
 				case 'PointLight':
 					uniforms = {
 					uniforms = {
 						shadowBias: 0,
 						shadowBias: 0,
-						shadowNormalOffset: 0,
+						shadowNormalBias: 0,
 						shadowRadius: 1,
 						shadowRadius: 1,
 						shadowMapSize: new Vector2(),
 						shadowMapSize: new Vector2(),
 						shadowCameraNear: 1,
 						shadowCameraNear: 1,
@@ -261,7 +261,7 @@ function WebGLLights() {
 					const shadowUniforms = shadowCache.get( light );
 					const shadowUniforms = shadowCache.get( light );
 
 
 					shadowUniforms.shadowBias = shadow.bias;
 					shadowUniforms.shadowBias = shadow.bias;
-					shadowUniforms.shadowNormalOffset = shadow.normalOffset;
+					shadowUniforms.shadowNormalBias = shadow.normalBias;
 					shadowUniforms.shadowRadius = shadow.radius;
 					shadowUniforms.shadowRadius = shadow.radius;
 					shadowUniforms.shadowMapSize = shadow.mapSize;
 					shadowUniforms.shadowMapSize = shadow.mapSize;
 
 
@@ -303,7 +303,7 @@ function WebGLLights() {
 					const shadowUniforms = shadowCache.get( light );
 					const shadowUniforms = shadowCache.get( light );
 
 
 					shadowUniforms.shadowBias = shadow.bias;
 					shadowUniforms.shadowBias = shadow.bias;
-					shadowUniforms.shadowNormalOffset = shadow.normalOffset;
+					shadowUniforms.shadowNormalBias = shadow.normalBias;
 					shadowUniforms.shadowRadius = shadow.radius;
 					shadowUniforms.shadowRadius = shadow.radius;
 					shadowUniforms.shadowMapSize = shadow.mapSize;
 					shadowUniforms.shadowMapSize = shadow.mapSize;
 
 
@@ -369,7 +369,7 @@ function WebGLLights() {
 					const shadowUniforms = shadowCache.get( light );
 					const shadowUniforms = shadowCache.get( light );
 
 
 					shadowUniforms.shadowBias = shadow.bias;
 					shadowUniforms.shadowBias = shadow.bias;
-					shadowUniforms.shadowNormalOffset = shadow.normalOffset;
+					shadowUniforms.shadowNormalBias = shadow.normalBias;
 					shadowUniforms.shadowRadius = shadow.radius;
 					shadowUniforms.shadowRadius = shadow.radius;
 					shadowUniforms.shadowMapSize = shadow.mapSize;
 					shadowUniforms.shadowMapSize = shadow.mapSize;
 					shadowUniforms.shadowCameraNear = shadow.camera.near;
 					shadowUniforms.shadowCameraNear = shadow.camera.near;