Mugen87 1 год назад
Родитель
Сommit
8b66f66c21

+ 14 - 2
build/three.cjs

@@ -47016,20 +47016,32 @@ function WebGLState( gl, extensions ) {
 
 	function setCullFace( cullFace ) {
 
-		{
+		if ( cullFace !== CullFaceNone ) {
 
 			enable( gl.CULL_FACE );
 
 			if ( cullFace !== currentCullFace ) {
 
-				{
+				if ( cullFace === CullFaceBack ) {
 
 					gl.cullFace( gl.BACK );
 
+				} else if ( cullFace === CullFaceFront ) {
+
+					gl.cullFace( gl.FRONT );
+
+				} else {
+
+					gl.cullFace( gl.FRONT_AND_BACK );
+
 				}
 
 			}
 
+		} else {
+
+			disable( gl.CULL_FACE );
+
 		}
 
 		currentCullFace = cullFace;

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
build/three.module.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
build/three.module.min.js


+ 19 - 2
build/three.webgpu.js

@@ -966,7 +966,9 @@ var NodeUtils = /*#__PURE__*/Object.freeze({
  * @property {string} FRAGMENT The fragment shader stage.
  */
 const NodeShaderStage = {
-	VERTEX: 'vertex'};
+	VERTEX: 'vertex',
+	FRAGMENT: 'fragment'
+};
 
 /**
  * Update types of a node.
@@ -49550,9 +49552,16 @@ class Renderer {
 		// a clear operation clears the intermediate renderTarget texture, but should not update the screen canvas.
 
 		const currentAutoClear = this.autoClear;
+		const currentXR = this.xr.enabled;
+
 		this.autoClear = false;
+		this.xr.enabled = false;
+
 		this._renderScene( quad, quad.camera, false );
+
 		this.autoClear = currentAutoClear;
+		this.xr.enabled = currentXR;
+
 
 	}
 
@@ -50150,7 +50159,7 @@ class Renderer {
 	 */
 	get isOutputTarget() {
 
-		return this._renderTarget === this._outputRenderTarget;
+		return this._renderTarget === this._outputRenderTarget || this._renderTarget === null;
 
 	}
 
@@ -65927,6 +65936,14 @@ class WebGPUPipelineUtils {
 
 			}
 
+			if ( material.polygonOffset === true ) {
+
+				depthStencil.depthBias = material.polygonOffsetUnits;
+				depthStencil.depthBiasSlopeScale = material.polygonOffsetFactor;
+				depthStencil.depthBiasClamp = 0; // three.js does not provide an API to configure this value
+
+			}
+
 			pipelineDescriptor.depthStencil = depthStencil;
 
 		}

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
build/three.webgpu.min.js


+ 19 - 2
build/three.webgpu.nodes.js

@@ -966,7 +966,9 @@ var NodeUtils = /*#__PURE__*/Object.freeze({
  * @property {string} FRAGMENT The fragment shader stage.
  */
 const NodeShaderStage = {
-	VERTEX: 'vertex'};
+	VERTEX: 'vertex',
+	FRAGMENT: 'fragment'
+};
 
 /**
  * Update types of a node.
@@ -49550,9 +49552,16 @@ class Renderer {
 		// a clear operation clears the intermediate renderTarget texture, but should not update the screen canvas.
 
 		const currentAutoClear = this.autoClear;
+		const currentXR = this.xr.enabled;
+
 		this.autoClear = false;
+		this.xr.enabled = false;
+
 		this._renderScene( quad, quad.camera, false );
+
 		this.autoClear = currentAutoClear;
+		this.xr.enabled = currentXR;
+
 
 	}
 
@@ -50150,7 +50159,7 @@ class Renderer {
 	 */
 	get isOutputTarget() {
 
-		return this._renderTarget === this._outputRenderTarget;
+		return this._renderTarget === this._outputRenderTarget || this._renderTarget === null;
 
 	}
 
@@ -65927,6 +65936,14 @@ class WebGPUPipelineUtils {
 
 			}
 
+			if ( material.polygonOffset === true ) {
+
+				depthStencil.depthBias = material.polygonOffsetUnits;
+				depthStencil.depthBiasSlopeScale = material.polygonOffsetFactor;
+				depthStencil.depthBiasClamp = 0; // three.js does not provide an API to configure this value
+
+			}
+
 			pipelineDescriptor.depthStencil = depthStencil;
 
 		}

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
build/three.webgpu.nodes.min.js


Некоторые файлы не были показаны из-за большого количества измененных файлов

粤ICP备19079148号