|
|
@@ -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;
|
|
|
|
|
|
}
|