Просмотр исходного кода

WebGPURenderer: Add `onBeforeShadow` and `onAfterShadow` (#30032)

Renaud Rohlinger 1 год назад
Родитель
Сommit
ae90867ef6
1 измененных файлов с 6 добавлено и 2 удалено
  1. 6 2
      src/nodes/lighting/ShadowNode.js

+ 6 - 2
src/nodes/lighting/ShadowNode.js

@@ -488,11 +488,15 @@ class ShadowNode extends Node {
 
 
 		renderer.setMRT( null );
 		renderer.setMRT( null );
 
 
-		renderer.setRenderObjectFunction( ( object, ...params ) => {
+		renderer.setRenderObjectFunction( ( object, scene, _camera, geometry, material, group, ...params ) => {
 
 
 			if ( object.castShadow === true || ( object.receiveShadow && shadowType === VSMShadowMap ) ) {
 			if ( object.castShadow === true || ( object.receiveShadow && shadowType === VSMShadowMap ) ) {
 
 
-				renderer.renderObject( object, ...params );
+				object.onBeforeShadow( renderer, object, camera, shadow.camera, geometry, scene.overrideMaterial, group );
+
+				renderer.renderObject( object, scene, _camera, geometry, material, group, ...params );
+
+				object.onAfterShadow( renderer, object, camera, shadow.camera, geometry, scene.overrideMaterial, group );
 
 
 			}
 			}
 
 

粤ICP备19079148号