Selaa lähdekoodia

WebGPURenderer: Fix Hardware Clipping issues (#30083)

* WebGPURenderer: Fix Hardware Clipping with vertexNode

* fix compilation missing argument
Renaud Rohlinger 1 vuosi sitten
vanhempi
sitoutus
8ac75e9265

BIN
examples/screenshots/webgpu_clipping.jpg


+ 2 - 2
src/materials/nodes/NodeMaterial.js

@@ -110,6 +110,8 @@ class NodeMaterial extends Material {
 
 		builder.stack.outputNode = this.vertexNode || this.setupPosition( builder );
 
+		this.setupHardwareClipping( builder );
+
 		if ( this.geometryNode !== null ) {
 
 			builder.stack.outputNode = builder.stack.outputNode.bypass( this.geometryNode );
@@ -354,8 +356,6 @@ class NodeMaterial extends Material {
 
 		}
 
-		this.setupHardwareClipping( builder );
-
 		const mvp = modelViewProjection();
 
 		builder.context.vertex = builder.removeStack();

+ 3 - 1
src/renderers/common/Renderer.js

@@ -1766,9 +1766,11 @@ class Renderer {
 
 	}
 
-	_createObjectPipeline( object, material, scene, camera, lightsNode, clippingContext, passId ) {
+	_createObjectPipeline( object, material, scene, camera, lightsNode, group, clippingContext, passId ) {
 
 		const renderObject = this._objects.get( object, material, scene, camera, lightsNode, this._currentRenderContext, clippingContext, passId );
+		renderObject.drawRange = object.geometry.drawRange;
+		renderObject.group = group;
 
 		//
 

粤ICP备19079148号