Ver código fonte

WebGPURenderer: RenderBundle use RenderList light (#30700)

Renaud Rohlinger 11 meses atrás
pai
commit
1d70848233
1 arquivos alterados com 6 adições e 5 exclusões
  1. 6 5
      src/renderers/common/Renderer.js

+ 6 - 5
src/renderers/common/Renderer.js

@@ -1041,8 +1041,9 @@ class Renderer {
 	 * @private
 	 * @private
 	 * @param {Object} bundle - Render bundle data.
 	 * @param {Object} bundle - Render bundle data.
 	 * @param {Scene} sceneRef - The scene the render bundle belongs to.
 	 * @param {Scene} sceneRef - The scene the render bundle belongs to.
+	 * @param {LightsNode} lightsNode - The lights node.
 	 */
 	 */
-	_renderBundle( bundle, sceneRef ) {
+	_renderBundle( bundle, sceneRef, lightsNode ) {
 
 
 		const { bundleGroup, camera, renderList } = bundle;
 		const { bundleGroup, camera, renderList } = bundle;
 
 
@@ -1075,7 +1076,6 @@ class Renderer {
 			this._currentRenderBundle = renderBundle;
 			this._currentRenderBundle = renderBundle;
 
 
 			const {
 			const {
-				lightsNode,
 				transparentDoublePass: transparentDoublePassObjects,
 				transparentDoublePass: transparentDoublePassObjects,
 				transparent: transparentObjects,
 				transparent: transparentObjects,
 				opaque: opaqueObjects
 				opaque: opaqueObjects
@@ -1408,7 +1408,7 @@ class Renderer {
 			opaque: opaqueObjects
 			opaque: opaqueObjects
 		} = renderList;
 		} = renderList;
 
 
-		if ( bundles.length > 0 ) this._renderBundles( bundles, sceneRef );
+		if ( bundles.length > 0 ) this._renderBundles( bundles, sceneRef, lightsNode );
 		if ( this.opaque === true && opaqueObjects.length > 0 ) this._renderObjects( opaqueObjects, camera, sceneRef, lightsNode );
 		if ( this.opaque === true && opaqueObjects.length > 0 ) this._renderObjects( opaqueObjects, camera, sceneRef, lightsNode );
 		if ( this.transparent === true && transparentObjects.length > 0 ) this._renderTransparents( transparentObjects, transparentDoublePassObjects, camera, sceneRef, lightsNode );
 		if ( this.transparent === true && transparentObjects.length > 0 ) this._renderTransparents( transparentObjects, transparentDoublePassObjects, camera, sceneRef, lightsNode );
 
 
@@ -2642,12 +2642,13 @@ class Renderer {
 	 * @private
 	 * @private
 	 * @param {Array<Object>} bundles - Array with render bundle data.
 	 * @param {Array<Object>} bundles - Array with render bundle data.
 	 * @param {Scene} sceneRef - The scene the render bundles belong to.
 	 * @param {Scene} sceneRef - The scene the render bundles belong to.
+	 * @param {LightsNode} lightsNode - The current lights node.
 	 */
 	 */
-	_renderBundles( bundles, sceneRef ) {
+	_renderBundles( bundles, sceneRef, lightsNode ) {
 
 
 		for ( const bundle of bundles ) {
 		for ( const bundle of bundles ) {
 
 
-			this._renderBundle( bundle, sceneRef );
+			this._renderBundle( bundle, sceneRef, lightsNode );
 
 
 		}
 		}
 
 

粤ICP备19079148号