sunag 1 день назад
Родитель
Сommit
8a3fd84a9d
1 измененных файлов с 8 добавлено и 5 удалено
  1. 8 5
      examples/webgpu_compute_rasterizer_ibl.html

+ 8 - 5
examples/webgpu_compute_rasterizer_ibl.html

@@ -193,8 +193,8 @@
 					{ ratio: 0.55, error: 0.004, weights: [ 0.2, 0.2, 0.2, 0.35, 0.35 ], flags: [ 'RegularizeLight' ] },
 					{ ratio: 0.25, error: 0.015, weights: [ 0.12, 0.12, 0.12, 0.2, 0.2 ], flags: [ 'RegularizeLight' ] },
 					{ ratio: 0.1, error: 0.05, weights: [ 0.08, 0.08, 0.08, 0.12, 0.12 ], flags: [ 'RegularizeLight' ] },
-					{ ratio: 0.04, error: 0.14, weights: [ 0.04, 0.04, 0.04, 0.06, 0.06 ], flags: [ 'Regularize' ] },
-					{ ratio: 0.015, error: 0.3, weights: [ 0.02, 0.02, 0.02, 0.03, 0.03 ], flags: [ 'Regularize' ] }
+					{ ratio: 0.04, error: 0.14, weights: [ 0.04, 0.04, 0.04, 0.06, 0.06 ], flags: [ 'Regularize', 'Permissive' ] },
+					{ ratio: 0.015, error: 0.3, weights: [ 0.02, 0.02, 0.02, 0.03, 0.03 ], flags: [ 'Regularize', 'Permissive' ] }
 				];
 
 				const geom = sourceMesh.geometry;
@@ -404,7 +404,8 @@
 
 				const timeScale = uniform( 1.0 );
 
-				const occlusionBiasUniform = uniform( 0.0000 );
+				const occlusionBiasUniform = uniform( 0.0008 );
+				const lodThresholdUniform = uniform( 3.0 );
 
 				const parameterGroup = renderer.inspector.createParameters( 'Parameters' );
 
@@ -424,6 +425,8 @@
 
 				parameterGroup.add( occlusionBiasUniform, 'value', 0.0, 0.0008 ).name( 'Occlusion Bias' ).step( 0.000001 );
 
+				parameterGroup.add( lodThresholdUniform, 'value', 1, 15.0 ).name( 'LOD Threshold' ).step( 0.1 );
+
 				parameterGroup.add( timeScale, 'value', 0.0, 1.0 ).name( 'Animation Speed' );
 
 				// Packed visibility buffers — depth in the high bits, payload in the low bits,
@@ -457,6 +460,7 @@
 
 						}
 
+						//camera.position.set( 0, 800, 3000 );
 						camera.position.set( 0, 8, 30 );
 						controls.target.set( 0, - 1, 0 );
 
@@ -746,8 +750,7 @@
 						let lodSelection = null;
 						for ( let i = lods.length - 1; i > 0; i -- ) {
 
-							const pixelErrorThreshold = 1.0;
-							const checkLod = float( lods[ i ].error ).mul( scale ).mul( pixelFactor ).lessThanEqual( pixelErrorThreshold );
+							const checkLod = float( lods[ i ].error ).mul( scale ).mul( pixelFactor ).lessThanEqual( lodThresholdUniform );
 
 							if ( lodSelection === null ) {
 

粤ICP备19079148号