super-three 0.173.3 → 0.173.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/three.cjs +783 -270
- package/build/three.core.js +174 -159
- package/build/three.core.min.js +1 -1
- package/build/three.module.js +610 -112
- package/build/three.module.min.js +1 -1
- package/build/three.webgpu.js +90 -90
- package/build/three.webgpu.nodes.js +90 -90
- package/package.json +1 -1
- package/src/renderers/webxr/WebXRManager.js +2 -2
|
@@ -604,7 +604,7 @@ function getCacheKey$1( object, force = false ) {
|
|
|
604
604
|
|
|
605
605
|
for ( const { property, childNode } of getNodeChildren( object ) ) {
|
|
606
606
|
|
|
607
|
-
values.push( cyrb53( property.slice( 0, -
|
|
607
|
+
values.push( cyrb53( property.slice( 0, -4 ) ), childNode.getCacheKey( force ) );
|
|
608
608
|
|
|
609
609
|
}
|
|
610
610
|
|
|
@@ -827,7 +827,7 @@ function getValueType( value ) {
|
|
|
827
827
|
*/
|
|
828
828
|
function getValueFromType( type, ...params ) {
|
|
829
829
|
|
|
830
|
-
const last4 = type ? type.slice( -
|
|
830
|
+
const last4 = type ? type.slice( -4 ) : undefined;
|
|
831
831
|
|
|
832
832
|
if ( params.length === 1 ) { // ensure same behaviour as in NodeBuilder.format()
|
|
833
833
|
|
|
@@ -3290,7 +3290,7 @@ class ShaderNodeInternal extends Node {
|
|
|
3290
3290
|
|
|
3291
3291
|
const bools = [ false, true ];
|
|
3292
3292
|
const uints = [ 0, 1, 2, 3 ];
|
|
3293
|
-
const ints = [ -
|
|
3293
|
+
const ints = [ -1, -2 ];
|
|
3294
3294
|
const floats = [ 0.5, 1.5, 1 / 3, 1e-6, 1e6, Math.PI, Math.PI * 2, 1 / Math.PI, 2 / Math.PI, 1 / ( Math.PI * 2 ), Math.PI / 2 ];
|
|
3295
3295
|
|
|
3296
3296
|
const boolsCacheMap = new Map();
|
|
@@ -17164,7 +17164,7 @@ class Line2NodeMaterial extends NodeMaterial {
|
|
|
17164
17164
|
|
|
17165
17165
|
const a = cameraProjectionMatrix.element( 2 ).element( 2 ); // 3nd entry in 3th column
|
|
17166
17166
|
const b = cameraProjectionMatrix.element( 3 ).element( 2 ); // 3nd entry in 4th column
|
|
17167
|
-
const nearEstimate = b.mul( -
|
|
17167
|
+
const nearEstimate = b.mul( -0.5 ).div( a );
|
|
17168
17168
|
|
|
17169
17169
|
const alpha = nearEstimate.sub( start.z ).div( end.z.sub( start.z ) );
|
|
17170
17170
|
|
|
@@ -17218,7 +17218,7 @@ class Line2NodeMaterial extends NodeMaterial {
|
|
|
17218
17218
|
// but we need to perform ndc-space calculations in the shader, so we must address this issue directly
|
|
17219
17219
|
// perhaps there is a more elegant solution -- WestLangley
|
|
17220
17220
|
|
|
17221
|
-
const perspective = cameraProjectionMatrix.element( 2 ).element( 3 ).equal( -
|
|
17221
|
+
const perspective = cameraProjectionMatrix.element( 2 ).element( 3 ).equal( -1 ); // 4th entry in the 3rd column
|
|
17222
17222
|
|
|
17223
17223
|
If( perspective, () => {
|
|
17224
17224
|
|
|
@@ -17376,7 +17376,7 @@ class Line2NodeMaterial extends NodeMaterial {
|
|
|
17376
17376
|
|
|
17377
17377
|
const vLineDistance = varyingProperty( 'float', 'lineDistance' );
|
|
17378
17378
|
|
|
17379
|
-
vUv.y.lessThan( -
|
|
17379
|
+
vUv.y.lessThan( -1 ).or( vUv.y.greaterThan( 1.0 ) ).discard(); // discard endcaps
|
|
17380
17380
|
vLineDistance.mod( dashSize.add( gapSize ) ).greaterThan( dashSize ).discard(); // todo - FIX
|
|
17381
17381
|
|
|
17382
17382
|
}
|
|
@@ -17679,7 +17679,7 @@ class EquirectUVNode extends TempNode {
|
|
|
17679
17679
|
const dir = this.dirNode;
|
|
17680
17680
|
|
|
17681
17681
|
const u = dir.z.atan( dir.x ).mul( 1 / ( Math.PI * 2 ) ).add( 0.5 );
|
|
17682
|
-
const v = dir.y.clamp( -
|
|
17682
|
+
const v = dir.y.clamp( -1, 1.0 ).asin().mul( 1 / Math.PI ).add( 0.5 );
|
|
17683
17683
|
|
|
17684
17684
|
return vec2( u, v );
|
|
17685
17685
|
|
|
@@ -18391,7 +18391,7 @@ const F_Schlick = /*@__PURE__*/ Fn( ( { f0, f90, dotVH } ) => {
|
|
|
18391
18391
|
|
|
18392
18392
|
// Optimized variant (presented by Epic at SIGGRAPH '13)
|
|
18393
18393
|
// https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf
|
|
18394
|
-
const fresnel = dotVH.mul( -
|
|
18394
|
+
const fresnel = dotVH.mul( -5.55473 ).sub( 6.98316 ).mul( dotVH ).exp2();
|
|
18395
18395
|
|
|
18396
18396
|
return f0.mul( fresnel.oneMinus() ).add( f90.mul( fresnel ) );
|
|
18397
18397
|
|
|
@@ -18874,15 +18874,15 @@ const BRDF_GGX = /*@__PURE__*/ Fn( ( inputs ) => {
|
|
|
18874
18874
|
// https://www.unrealengine.com/blog/physically-based-shading-on-mobile
|
|
18875
18875
|
const DFGApprox = /*@__PURE__*/ Fn( ( { roughness, dotNV } ) => {
|
|
18876
18876
|
|
|
18877
|
-
const c0 = vec4( -
|
|
18877
|
+
const c0 = vec4( -1, -0.0275, -0.572, 0.022 );
|
|
18878
18878
|
|
|
18879
|
-
const c1 = vec4( 1, 0.0425, 1.04, -
|
|
18879
|
+
const c1 = vec4( 1, 0.0425, 1.04, -0.04 );
|
|
18880
18880
|
|
|
18881
18881
|
const r = roughness.mul( c0 ).add( c1 );
|
|
18882
18882
|
|
|
18883
|
-
const a004 = r.x.mul( r.x ).min( dotNV.mul( -
|
|
18883
|
+
const a004 = r.x.mul( r.x ).min( dotNV.mul( -9.28 ).exp2() ).mul( r.x ).add( r.y );
|
|
18884
18884
|
|
|
18885
|
-
const fab = vec2( -
|
|
18885
|
+
const fab = vec2( -1.04, 1.04 ).mul( a004 ).add( r.zw );
|
|
18886
18886
|
|
|
18887
18887
|
return fab;
|
|
18888
18888
|
|
|
@@ -19110,7 +19110,7 @@ const w0 = ( a ) => mul( bC, mul( a, mul( a, a.negate().add( 3.0 ) ).sub( 3.0 )
|
|
|
19110
19110
|
|
|
19111
19111
|
const w1 = ( a ) => mul( bC, mul( a, mul( a, mul( 3.0, a ).sub( 6.0 ) ) ).add( 4.0 ) );
|
|
19112
19112
|
|
|
19113
|
-
const w2 = ( a ) => mul( bC, mul( a, mul( a, mul( -
|
|
19113
|
+
const w2 = ( a ) => mul( bC, mul( a, mul( a, mul( -3, a ).add( 3.0 ) ).add( 3.0 ) ).add( 1.0 ) );
|
|
19114
19114
|
|
|
19115
19115
|
const w3 = ( a ) => mul( bC, pow( a, 3 ) );
|
|
19116
19116
|
|
|
@@ -19119,7 +19119,7 @@ const g0 = ( a ) => w0( a ).add( w1( a ) );
|
|
|
19119
19119
|
const g1 = ( a ) => w2( a ).add( w3( a ) );
|
|
19120
19120
|
|
|
19121
19121
|
// h0 and h1 are the two offset functions
|
|
19122
|
-
const h0 = ( a ) => add( -
|
|
19122
|
+
const h0 = ( a ) => add( -1, w1( a ).div( w0( a ).add( w1( a ) ) ) );
|
|
19123
19123
|
|
|
19124
19124
|
const h1 = ( a ) => add( 1.0, w3( a ).div( w2( a ).add( w3( a ) ) ) );
|
|
19125
19125
|
|
|
@@ -19339,9 +19339,9 @@ const getIBLVolumeRefraction = /*@__PURE__*/ Fn( ( [ n, v, roughness, diffuseCol
|
|
|
19339
19339
|
|
|
19340
19340
|
// XYZ to linear-sRGB color space
|
|
19341
19341
|
const XYZ_TO_REC709 = /*@__PURE__*/ mat3(
|
|
19342
|
-
3.2404542, -
|
|
19343
|
-
-
|
|
19344
|
-
-
|
|
19342
|
+
3.2404542, -0.969266, 0.0556434,
|
|
19343
|
+
-1.5371385, 1.8760108, -0.2040259,
|
|
19344
|
+
-0.4985314, 0.0415560, 1.0572252
|
|
19345
19345
|
);
|
|
19346
19346
|
|
|
19347
19347
|
// Assume air interface for top
|
|
@@ -19370,7 +19370,7 @@ const evalSensitivity = ( OPD, shift ) => {
|
|
|
19370
19370
|
const pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );
|
|
19371
19371
|
const VAR = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );
|
|
19372
19372
|
|
|
19373
|
-
const x = float( 9.7470e-14 * Math.sqrt( 2.0 * Math.PI * 4.5282e+09 ) ).mul( phase.mul( 2.2399e+06 ).add( shift.x ).cos() ).mul( phase.pow2().mul( -
|
|
19373
|
+
const x = float( 9.7470e-14 * Math.sqrt( 2.0 * Math.PI * 4.5282e+09 ) ).mul( phase.mul( 2.2399e+06 ).add( shift.x ).cos() ).mul( phase.pow2().mul( -45282e5 ).exp() );
|
|
19374
19374
|
|
|
19375
19375
|
let xyz = val.mul( VAR.mul( 2.0 * Math.PI ).sqrt() ).mul( pos.mul( phase ).add( shift ).cos() ).mul( phase.pow2().negate().mul( VAR ).exp() );
|
|
19376
19376
|
xyz = vec3( xyz.x.add( x ), xyz.y, xyz.z ).div( 1.0685e-7 );
|
|
@@ -19471,8 +19471,8 @@ const IBLSheenBRDF = /*@__PURE__*/ Fn( ( { normal, viewDir, roughness } ) => {
|
|
|
19471
19471
|
|
|
19472
19472
|
const a = select(
|
|
19473
19473
|
roughness.lessThan( 0.25 ),
|
|
19474
|
-
float( -
|
|
19475
|
-
float( -
|
|
19474
|
+
float( -339.2 ).mul( r2 ).add( float( 161.4 ).mul( roughness ) ).sub( 25.9 ),
|
|
19475
|
+
float( -8.48 ).mul( r2 ).add( float( 14.3 ).mul( roughness ) ).sub( 9.95 )
|
|
19476
19476
|
);
|
|
19477
19477
|
|
|
19478
19478
|
const b = select(
|
|
@@ -19883,7 +19883,7 @@ class PhysicalLightingModel extends LightingModel {
|
|
|
19883
19883
|
const dotNV = transformedNormalView.dot( positionViewDirection ).clamp(); // @ TODO: Move to core dotNV
|
|
19884
19884
|
|
|
19885
19885
|
const aoNV = dotNV.add( ambientOcclusion );
|
|
19886
|
-
const aoExp = roughness.mul( -
|
|
19886
|
+
const aoExp = roughness.mul( -16 ).oneMinus().negate().exp2();
|
|
19887
19887
|
|
|
19888
19888
|
const aoNode = ambientOcclusion.sub( aoNV.pow( aoExp ).oneMinus() ).clamp();
|
|
19889
19889
|
|
|
@@ -19947,9 +19947,9 @@ class PhysicalLightingModel extends LightingModel {
|
|
|
19947
19947
|
// These defines must match with PMREMGenerator
|
|
19948
19948
|
|
|
19949
19949
|
const cubeUV_r0 = /*@__PURE__*/ float( 1.0 );
|
|
19950
|
-
const cubeUV_m0 = /*@__PURE__*/ float( -
|
|
19950
|
+
const cubeUV_m0 = /*@__PURE__*/ float( -2 );
|
|
19951
19951
|
const cubeUV_r1 = /*@__PURE__*/ float( 0.8 );
|
|
19952
|
-
const cubeUV_m1 = /*@__PURE__*/ float( -
|
|
19952
|
+
const cubeUV_m1 = /*@__PURE__*/ float( -1 );
|
|
19953
19953
|
const cubeUV_r4 = /*@__PURE__*/ float( 0.4 );
|
|
19954
19954
|
const cubeUV_m4 = /*@__PURE__*/ float( 2.0 );
|
|
19955
19955
|
const cubeUV_r5 = /*@__PURE__*/ float( 0.305 );
|
|
@@ -19967,7 +19967,7 @@ const cubeUV_minTileSize = /*@__PURE__*/ float( 16.0 );
|
|
|
19967
19967
|
const getFace = /*@__PURE__*/ Fn( ( [ direction ] ) => {
|
|
19968
19968
|
|
|
19969
19969
|
const absDirection = vec3( abs( direction ) ).toVar();
|
|
19970
|
-
const face = float( -
|
|
19970
|
+
const face = float( -1 ).toVar();
|
|
19971
19971
|
|
|
19972
19972
|
If( absDirection.x.greaterThan( absDirection.z ), () => {
|
|
19973
19973
|
|
|
@@ -20069,7 +20069,7 @@ const roughnessToMip = /*@__PURE__*/ Fn( ( [ roughness ] ) => {
|
|
|
20069
20069
|
|
|
20070
20070
|
} ).Else( () => {
|
|
20071
20071
|
|
|
20072
|
-
mip.assign( float( -
|
|
20072
|
+
mip.assign( float( -2 ).mul( log2( mul( 1.16, roughness ) ) ) ); // 1.16 = 1.79^0.25
|
|
20073
20073
|
|
|
20074
20074
|
} );
|
|
20075
20075
|
|
|
@@ -20097,25 +20097,25 @@ const getDirection = /*@__PURE__*/ Fn( ( [ uv_immutable, face ] ) => {
|
|
|
20097
20097
|
} ).ElseIf( face.equal( 1.0 ), () => {
|
|
20098
20098
|
|
|
20099
20099
|
direction.assign( direction.xzy );
|
|
20100
|
-
direction.xz.mulAssign( -
|
|
20100
|
+
direction.xz.mulAssign( -1 ); // ( -u, 1, -v ) pos y
|
|
20101
20101
|
|
|
20102
20102
|
} ).ElseIf( face.equal( 2.0 ), () => {
|
|
20103
20103
|
|
|
20104
|
-
direction.x.mulAssign( -
|
|
20104
|
+
direction.x.mulAssign( -1 ); // ( -u, v, 1 ) pos z
|
|
20105
20105
|
|
|
20106
20106
|
} ).ElseIf( face.equal( 3.0 ), () => {
|
|
20107
20107
|
|
|
20108
20108
|
direction.assign( direction.zyx );
|
|
20109
|
-
direction.xz.mulAssign( -
|
|
20109
|
+
direction.xz.mulAssign( -1 ); // ( -1, v, -u ) neg x
|
|
20110
20110
|
|
|
20111
20111
|
} ).ElseIf( face.equal( 4.0 ), () => {
|
|
20112
20112
|
|
|
20113
20113
|
direction.assign( direction.xzy );
|
|
20114
|
-
direction.xy.mulAssign( -
|
|
20114
|
+
direction.xy.mulAssign( -1 ); // ( -u, -1, v ) neg y
|
|
20115
20115
|
|
|
20116
20116
|
} ).ElseIf( face.equal( 5.0 ), () => {
|
|
20117
20117
|
|
|
20118
|
-
direction.z.mulAssign( -
|
|
20118
|
+
direction.z.mulAssign( -1 ); // ( u, v, -1 ) neg zS
|
|
20119
20119
|
|
|
20120
20120
|
} );
|
|
20121
20121
|
|
|
@@ -20218,7 +20218,7 @@ const blur = /*@__PURE__*/ Fn( ( { n, latitudinal, poleAxis, outputDirection, we
|
|
|
20218
20218
|
} );
|
|
20219
20219
|
|
|
20220
20220
|
const theta = float( dTheta.mul( float( i ) ) ).toVar();
|
|
20221
|
-
gl_FragColor.addAssign( weights.element( i ).mul( getSample( { theta: theta.mul( -
|
|
20221
|
+
gl_FragColor.addAssign( weights.element( i ).mul( getSample( { theta: theta.mul( -1 ), axis, outputDirection, mipInt, envMap, CUBEUV_TEXEL_WIDTH, CUBEUV_TEXEL_HEIGHT, CUBEUV_MAX_MIP } ) ) );
|
|
20222
20222
|
gl_FragColor.addAssign( weights.element( i ).mul( getSample( { theta, axis, outputDirection, mipInt, envMap, CUBEUV_TEXEL_WIDTH, CUBEUV_TEXEL_HEIGHT, CUBEUV_MAX_MIP } ) ) );
|
|
20223
20223
|
|
|
20224
20224
|
} );
|
|
@@ -20263,7 +20263,7 @@ function _getPMREMFromTexture( texture ) {
|
|
|
20263
20263
|
|
|
20264
20264
|
let cacheTexture = _cache.get( texture );
|
|
20265
20265
|
|
|
20266
|
-
const pmremVersion = cacheTexture !== undefined ? cacheTexture.pmremVersion : -
|
|
20266
|
+
const pmremVersion = cacheTexture !== undefined ? cacheTexture.pmremVersion : -1;
|
|
20267
20267
|
|
|
20268
20268
|
if ( pmremVersion !== texture.pmremVersion ) {
|
|
20269
20269
|
|
|
@@ -20459,7 +20459,7 @@ class PMREMNode extends TempNode {
|
|
|
20459
20459
|
|
|
20460
20460
|
let pmrem = this._pmrem;
|
|
20461
20461
|
|
|
20462
|
-
const pmremVersion = pmrem ? pmrem.pmremVersion : -
|
|
20462
|
+
const pmremVersion = pmrem ? pmrem.pmremVersion : -1;
|
|
20463
20463
|
const texture = this._value;
|
|
20464
20464
|
|
|
20465
20465
|
if ( pmremVersion !== texture.pmremVersion ) {
|
|
@@ -22366,23 +22366,23 @@ const normal = Fn( ( { texture, uv } ) => {
|
|
|
22366
22366
|
|
|
22367
22367
|
} ).ElseIf( uv.x.greaterThan( 1 - epsilon ), () => {
|
|
22368
22368
|
|
|
22369
|
-
ret.assign( vec3( -
|
|
22369
|
+
ret.assign( vec3( -1, 0, 0 ) );
|
|
22370
22370
|
|
|
22371
22371
|
} ).ElseIf( uv.y.greaterThan( 1 - epsilon ), () => {
|
|
22372
22372
|
|
|
22373
|
-
ret.assign( vec3( 0, -
|
|
22373
|
+
ret.assign( vec3( 0, -1, 0 ) );
|
|
22374
22374
|
|
|
22375
22375
|
} ).ElseIf( uv.z.greaterThan( 1 - epsilon ), () => {
|
|
22376
22376
|
|
|
22377
|
-
ret.assign( vec3( 0, 0, -
|
|
22377
|
+
ret.assign( vec3( 0, 0, -1 ) );
|
|
22378
22378
|
|
|
22379
22379
|
} ).Else( () => {
|
|
22380
22380
|
|
|
22381
22381
|
const step = 0.01;
|
|
22382
22382
|
|
|
22383
|
-
const x = texture.sample( uv.add( vec3( -
|
|
22384
|
-
const y = texture.sample( uv.add( vec3( 0.0, -
|
|
22385
|
-
const z = texture.sample( uv.add( vec3( 0.0, 0.0, -
|
|
22383
|
+
const x = texture.sample( uv.add( vec3( -0.01, 0.0, 0.0 ) ) ).r.sub( texture.sample( uv.add( vec3( step, 0.0, 0.0 ) ) ).r );
|
|
22384
|
+
const y = texture.sample( uv.add( vec3( 0.0, -0.01, 0.0 ) ) ).r.sub( texture.sample( uv.add( vec3( 0.0, step, 0.0 ) ) ).r );
|
|
22385
|
+
const z = texture.sample( uv.add( vec3( 0.0, 0.0, -0.01 ) ) ).r.sub( texture.sample( uv.add( vec3( 0.0, 0.0, step ) ) ).r );
|
|
22386
22386
|
|
|
22387
22387
|
ret.assign( vec3( x, y, z ) );
|
|
22388
22388
|
|
|
@@ -22627,7 +22627,7 @@ class VolumeNodeMaterial extends NodeMaterial {
|
|
|
22627
22627
|
|
|
22628
22628
|
const hitBox = Fn( ( { orig, dir } ) => {
|
|
22629
22629
|
|
|
22630
|
-
const box_min = vec3( -
|
|
22630
|
+
const box_min = vec3( -0.5 );
|
|
22631
22631
|
const box_max = vec3( 0.5 );
|
|
22632
22632
|
|
|
22633
22633
|
const inv_dir = dir.reciprocal();
|
|
@@ -27612,7 +27612,7 @@ function getTextureIndex( textures, name ) {
|
|
|
27612
27612
|
|
|
27613
27613
|
}
|
|
27614
27614
|
|
|
27615
|
-
return -
|
|
27615
|
+
return -1;
|
|
27616
27616
|
|
|
27617
27617
|
}
|
|
27618
27618
|
|
|
@@ -27961,7 +27961,7 @@ class FunctionOverloadingNode extends Node {
|
|
|
27961
27961
|
if ( candidateFnCall === null ) {
|
|
27962
27962
|
|
|
27963
27963
|
let candidateFn = null;
|
|
27964
|
-
let candidateScore = -
|
|
27964
|
+
let candidateScore = -1;
|
|
27965
27965
|
|
|
27966
27966
|
for ( const functionNode of this.functionNodes ) {
|
|
27967
27967
|
|
|
@@ -28487,7 +28487,7 @@ const _normal = new Vector3();
|
|
|
28487
28487
|
const _reflectorWorldPosition = new Vector3();
|
|
28488
28488
|
const _cameraWorldPosition = new Vector3();
|
|
28489
28489
|
const _rotationMatrix = new Matrix4();
|
|
28490
|
-
const _lookAtPosition = new Vector3( 0, 0, -
|
|
28490
|
+
const _lookAtPosition = new Vector3( 0, 0, -1 );
|
|
28491
28491
|
const clipPlane = new Vector4();
|
|
28492
28492
|
|
|
28493
28493
|
const _view = new Vector3();
|
|
@@ -28864,7 +28864,7 @@ class ReflectorBaseNode extends Node {
|
|
|
28864
28864
|
|
|
28865
28865
|
_rotationMatrix.extractRotation( camera.matrixWorld );
|
|
28866
28866
|
|
|
28867
|
-
_lookAtPosition.set( 0, 0, -
|
|
28867
|
+
_lookAtPosition.set( 0, 0, -1 );
|
|
28868
28868
|
_lookAtPosition.applyMatrix4( _rotationMatrix );
|
|
28869
28869
|
_lookAtPosition.add( _cameraWorldPosition );
|
|
28870
28870
|
|
|
@@ -28898,7 +28898,7 @@ class ReflectorBaseNode extends Node {
|
|
|
28898
28898
|
|
|
28899
28899
|
_q.x = ( Math.sign( clipPlane.x ) + projectionMatrix.elements[ 8 ] ) / projectionMatrix.elements[ 0 ];
|
|
28900
28900
|
_q.y = ( Math.sign( clipPlane.y ) + projectionMatrix.elements[ 9 ] ) / projectionMatrix.elements[ 5 ];
|
|
28901
|
-
_q.z = -
|
|
28901
|
+
_q.z = -1;
|
|
28902
28902
|
_q.w = ( 1.0 + projectionMatrix.elements[ 10 ] ) / projectionMatrix.elements[ 14 ];
|
|
28903
28903
|
|
|
28904
28904
|
// Calculate the scaled plane vector
|
|
@@ -28962,7 +28962,7 @@ class ReflectorBaseNode extends Node {
|
|
|
28962
28962
|
*/
|
|
28963
28963
|
const reflector = ( parameters ) => nodeObject( new ReflectorNode( parameters ) );
|
|
28964
28964
|
|
|
28965
|
-
const _camera = /*@__PURE__*/ new OrthographicCamera( -
|
|
28965
|
+
const _camera = /*@__PURE__*/ new OrthographicCamera( -1, 1, 1, -1, 0, 1 );
|
|
28966
28966
|
|
|
28967
28967
|
/**
|
|
28968
28968
|
* The purpose of this special geometry is to fill the entire viewport with a single triangle.
|
|
@@ -28983,9 +28983,9 @@ class QuadGeometry extends BufferGeometry {
|
|
|
28983
28983
|
|
|
28984
28984
|
super();
|
|
28985
28985
|
|
|
28986
|
-
const uv = flipY === false ? [ 0, -
|
|
28986
|
+
const uv = flipY === false ? [ 0, -1, 0, 1, 2, 1 ] : [ 0, 2, 0, 0, 2, 0 ];
|
|
28987
28987
|
|
|
28988
|
-
this.setAttribute( 'position', new Float32BufferAttribute( [ -
|
|
28988
|
+
this.setAttribute( 'position', new Float32BufferAttribute( [ -1, 3, 0, -1, -1, 0, 3, -1, 0 ], 3 ) );
|
|
28989
28989
|
this.setAttribute( 'uv', new Float32BufferAttribute( uv, 2 ) );
|
|
28990
28990
|
|
|
28991
28991
|
}
|
|
@@ -30313,7 +30313,7 @@ class SceneNode extends Node {
|
|
|
30313
30313
|
_e1.copy( scene.backgroundRotation );
|
|
30314
30314
|
|
|
30315
30315
|
// accommodate left-handed frame
|
|
30316
|
-
_e1.x *= -
|
|
30316
|
+
_e1.x *= -1; _e1.y *= -1; _e1.z *= -1;
|
|
30317
30317
|
|
|
30318
30318
|
_m1.makeRotationFromEuler( _e1 );
|
|
30319
30319
|
|
|
@@ -31104,7 +31104,7 @@ const vibrance = /*@__PURE__*/ Fn( ( [ color, adjustment = float( 1 ) ] ) => {
|
|
|
31104
31104
|
const average = add( color.r, color.g, color.b ).div( 3.0 );
|
|
31105
31105
|
|
|
31106
31106
|
const mx = color.r.max( color.g.max( color.b ) );
|
|
31107
|
-
const amt = mx.sub( average ).mul( adjustment ).mul( -
|
|
31107
|
+
const amt = mx.sub( average ).mul( adjustment ).mul( -3 );
|
|
31108
31108
|
|
|
31109
31109
|
return mix( color.rgb, mx, amt );
|
|
31110
31110
|
|
|
@@ -32196,9 +32196,9 @@ const acesFilmicToneMapping = /*@__PURE__*/ Fn( ( [ color, exposure ] ) => {
|
|
|
32196
32196
|
|
|
32197
32197
|
// ODT_SAT => XYZ => D60_2_D65 => sRGB
|
|
32198
32198
|
const ACESOutputMat = mat3(
|
|
32199
|
-
1.60475, -
|
|
32200
|
-
-
|
|
32201
|
-
-
|
|
32199
|
+
1.60475, -0.53108, -0.07367,
|
|
32200
|
+
-0.10208, 1.10813, -605e-5,
|
|
32201
|
+
-327e-5, -0.07276, 1.07602
|
|
32202
32202
|
);
|
|
32203
32203
|
|
|
32204
32204
|
color = color.mul( exposure ).div( 0.6 );
|
|
@@ -32222,7 +32222,7 @@ const acesFilmicToneMapping = /*@__PURE__*/ Fn( ( [ color, exposure ] ) => {
|
|
|
32222
32222
|
]
|
|
32223
32223
|
} );
|
|
32224
32224
|
|
|
32225
|
-
const LINEAR_REC2020_TO_LINEAR_SRGB = /*@__PURE__*/ mat3( vec3( 1.6605, -
|
|
32225
|
+
const LINEAR_REC2020_TO_LINEAR_SRGB = /*@__PURE__*/ mat3( vec3( 1.6605, -0.1246, -0.0182 ), vec3( -0.5876, 1.1329, -0.1006 ), vec3( -0.0728, -83e-4, 1.1187 ) );
|
|
32226
32226
|
const LINEAR_SRGB_TO_LINEAR_REC2020 = /*@__PURE__*/ mat3( vec3( 0.6274, 0.0691, 0.0164 ), vec3( 0.3293, 0.9195, 0.0880 ), vec3( 0.0433, 0.0113, 0.8956 ) );
|
|
32227
32227
|
|
|
32228
32228
|
const agxDefaultContrastApprox = /*@__PURE__*/ Fn( ( [ x_immutable ] ) => {
|
|
@@ -32247,8 +32247,8 @@ const agxToneMapping = /*@__PURE__*/ Fn( ( [ color, exposure ] ) => {
|
|
|
32247
32247
|
|
|
32248
32248
|
const colortone = vec3( color ).toVar();
|
|
32249
32249
|
const AgXInsetMatrix = mat3( vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) );
|
|
32250
|
-
const AgXOutsetMatrix = mat3( vec3( 1.1271005818144368, -
|
|
32251
|
-
const AgxMinEv = float( -
|
|
32250
|
+
const AgXOutsetMatrix = mat3( vec3( 1.1271005818144368, -0.1413297634984383, -0.14132976349843826 ), vec3( -0.11060664309660323, 1.157823702216272, -0.11060664309660294 ), vec3( -0.016493938717834573, -0.016493938717834257, 1.2519364065950405 ) );
|
|
32251
|
+
const AgxMinEv = float( -12.47393 );
|
|
32252
32252
|
const AgxMaxEv = float( 4.026069 );
|
|
32253
32253
|
colortone.mulAssign( exposure );
|
|
32254
32254
|
colortone.assign( LINEAR_SRGB_TO_LINEAR_REC2020.mul( colortone ) );
|
|
@@ -35703,7 +35703,7 @@ const VSMPassVertical = /*@__PURE__*/ Fn( ( { samples, radius, size, shadowPass
|
|
|
35703
35703
|
const squaredMean = float( 0 ).toVar();
|
|
35704
35704
|
|
|
35705
35705
|
const uvStride = samples.lessThanEqual( float( 1 ) ).select( float( 0 ), float( 2 ).div( samples.sub( 1 ) ) );
|
|
35706
|
-
const uvStart = samples.lessThanEqual( float( 1 ) ).select( float( 0 ), float( -
|
|
35706
|
+
const uvStart = samples.lessThanEqual( float( 1 ) ).select( float( 0 ), float( -1 ) );
|
|
35707
35707
|
|
|
35708
35708
|
Loop( { start: int( 0 ), end: int( samples ), type: 'int', condition: '<' }, ( { i } ) => {
|
|
35709
35709
|
|
|
@@ -35740,7 +35740,7 @@ const VSMPassHorizontal = /*@__PURE__*/ Fn( ( { samples, radius, size, shadowPas
|
|
|
35740
35740
|
const squaredMean = float( 0 ).toVar();
|
|
35741
35741
|
|
|
35742
35742
|
const uvStride = samples.lessThanEqual( float( 1 ) ).select( float( 0 ), float( 2 ).div( samples.sub( 1 ) ) );
|
|
35743
|
-
const uvStart = samples.lessThanEqual( float( 1 ) ).select( float( 0 ), float( -
|
|
35743
|
+
const uvStart = samples.lessThanEqual( float( 1 ) ).select( float( 0 ), float( -1 ) );
|
|
35744
35744
|
|
|
35745
35745
|
Loop( { start: int( 0 ), end: int( samples ), type: 'int', condition: '<' }, ( { i } ) => {
|
|
35746
35746
|
|
|
@@ -36587,7 +36587,7 @@ const BasicPointShadowFilter = /*@__PURE__*/ Fn( ( { depthTexture, bd3D, dp, tex
|
|
|
36587
36587
|
const PointShadowFilter = /*@__PURE__*/ Fn( ( { depthTexture, bd3D, dp, texelSize, shadow } ) => {
|
|
36588
36588
|
|
|
36589
36589
|
const radius = reference( 'radius', 'float', shadow ).setGroup( renderGroup );
|
|
36590
|
-
const offset = vec2( -
|
|
36590
|
+
const offset = vec2( -1, 1.0 ).mul( radius ).mul( texelSize.y );
|
|
36591
36591
|
|
|
36592
36592
|
return texture( depthTexture, cubeToUV( bd3D.add( offset.xyy ), texelSize.y ) ).compare( dp )
|
|
36593
36593
|
.add( texture( depthTexture, cubeToUV( bd3D.add( offset.yyy ), texelSize.y ) ).compare( dp ) )
|
|
@@ -37975,9 +37975,9 @@ const mx_worley_noise_float_0 = /*@__PURE__*/ Fn( ( [ p_immutable, jitter_immuta
|
|
|
37975
37975
|
const localpos = vec2( mx_floorfrac( p.x, X ), mx_floorfrac( p.y, Y ) ).toVar();
|
|
37976
37976
|
const sqdist = float( 1e6 ).toVar();
|
|
37977
37977
|
|
|
37978
|
-
Loop( { start: -
|
|
37978
|
+
Loop( { start: -1, end: int( 1 ), name: 'x', condition: '<=' }, ( { x } ) => {
|
|
37979
37979
|
|
|
37980
|
-
Loop( { start: -
|
|
37980
|
+
Loop( { start: -1, end: int( 1 ), name: 'y', condition: '<=' }, ( { y } ) => {
|
|
37981
37981
|
|
|
37982
37982
|
const dist = float( mx_worley_distance( localpos, x, y, X, Y, jitter, metric ) ).toVar();
|
|
37983
37983
|
sqdist.assign( min$1( sqdist, dist ) );
|
|
@@ -38013,9 +38013,9 @@ const mx_worley_noise_vec2_0 = /*@__PURE__*/ Fn( ( [ p_immutable, jitter_immutab
|
|
|
38013
38013
|
const localpos = vec2( mx_floorfrac( p.x, X ), mx_floorfrac( p.y, Y ) ).toVar();
|
|
38014
38014
|
const sqdist = vec2( 1e6, 1e6 ).toVar();
|
|
38015
38015
|
|
|
38016
|
-
Loop( { start: -
|
|
38016
|
+
Loop( { start: -1, end: int( 1 ), name: 'x', condition: '<=' }, ( { x } ) => {
|
|
38017
38017
|
|
|
38018
|
-
Loop( { start: -
|
|
38018
|
+
Loop( { start: -1, end: int( 1 ), name: 'y', condition: '<=' }, ( { y } ) => {
|
|
38019
38019
|
|
|
38020
38020
|
const dist = float( mx_worley_distance( localpos, x, y, X, Y, jitter, metric ) ).toVar();
|
|
38021
38021
|
|
|
@@ -38061,9 +38061,9 @@ const mx_worley_noise_vec3_0 = /*@__PURE__*/ Fn( ( [ p_immutable, jitter_immutab
|
|
|
38061
38061
|
const localpos = vec2( mx_floorfrac( p.x, X ), mx_floorfrac( p.y, Y ) ).toVar();
|
|
38062
38062
|
const sqdist = vec3( 1e6, 1e6, 1e6 ).toVar();
|
|
38063
38063
|
|
|
38064
|
-
Loop( { start: -
|
|
38064
|
+
Loop( { start: -1, end: int( 1 ), name: 'x', condition: '<=' }, ( { x } ) => {
|
|
38065
38065
|
|
|
38066
|
-
Loop( { start: -
|
|
38066
|
+
Loop( { start: -1, end: int( 1 ), name: 'y', condition: '<=' }, ( { y } ) => {
|
|
38067
38067
|
|
|
38068
38068
|
const dist = float( mx_worley_distance( localpos, x, y, X, Y, jitter, metric ) ).toVar();
|
|
38069
38069
|
|
|
@@ -38115,11 +38115,11 @@ const mx_worley_noise_float_1 = /*@__PURE__*/ Fn( ( [ p_immutable, jitter_immuta
|
|
|
38115
38115
|
const localpos = vec3( mx_floorfrac( p.x, X ), mx_floorfrac( p.y, Y ), mx_floorfrac( p.z, Z ) ).toVar();
|
|
38116
38116
|
const sqdist = float( 1e6 ).toVar();
|
|
38117
38117
|
|
|
38118
|
-
Loop( { start: -
|
|
38118
|
+
Loop( { start: -1, end: int( 1 ), name: 'x', condition: '<=' }, ( { x } ) => {
|
|
38119
38119
|
|
|
38120
|
-
Loop( { start: -
|
|
38120
|
+
Loop( { start: -1, end: int( 1 ), name: 'y', condition: '<=' }, ( { y } ) => {
|
|
38121
38121
|
|
|
38122
|
-
Loop( { start: -
|
|
38122
|
+
Loop( { start: -1, end: int( 1 ), name: 'z', condition: '<=' }, ( { z } ) => {
|
|
38123
38123
|
|
|
38124
38124
|
const dist = float( mx_worley_distance( localpos, x, y, z, X, Y, Z, jitter, metric ) ).toVar();
|
|
38125
38125
|
sqdist.assign( min$1( sqdist, dist ) );
|
|
@@ -38159,11 +38159,11 @@ const mx_worley_noise_vec2_1 = /*@__PURE__*/ Fn( ( [ p_immutable, jitter_immutab
|
|
|
38159
38159
|
const localpos = vec3( mx_floorfrac( p.x, X ), mx_floorfrac( p.y, Y ), mx_floorfrac( p.z, Z ) ).toVar();
|
|
38160
38160
|
const sqdist = vec2( 1e6, 1e6 ).toVar();
|
|
38161
38161
|
|
|
38162
|
-
Loop( { start: -
|
|
38162
|
+
Loop( { start: -1, end: int( 1 ), name: 'x', condition: '<=' }, ( { x } ) => {
|
|
38163
38163
|
|
|
38164
|
-
Loop( { start: -
|
|
38164
|
+
Loop( { start: -1, end: int( 1 ), name: 'y', condition: '<=' }, ( { y } ) => {
|
|
38165
38165
|
|
|
38166
|
-
Loop( { start: -
|
|
38166
|
+
Loop( { start: -1, end: int( 1 ), name: 'z', condition: '<=' }, ( { z } ) => {
|
|
38167
38167
|
|
|
38168
38168
|
const dist = float( mx_worley_distance( localpos, x, y, z, X, Y, Z, jitter, metric ) ).toVar();
|
|
38169
38169
|
|
|
@@ -38213,11 +38213,11 @@ const mx_worley_noise_vec3_1 = /*@__PURE__*/ Fn( ( [ p_immutable, jitter_immutab
|
|
|
38213
38213
|
const localpos = vec3( mx_floorfrac( p.x, X ), mx_floorfrac( p.y, Y ), mx_floorfrac( p.z, Z ) ).toVar();
|
|
38214
38214
|
const sqdist = vec3( 1e6, 1e6, 1e6 ).toVar();
|
|
38215
38215
|
|
|
38216
|
-
Loop( { start: -
|
|
38216
|
+
Loop( { start: -1, end: int( 1 ), name: 'x', condition: '<=' }, ( { x } ) => {
|
|
38217
38217
|
|
|
38218
|
-
Loop( { start: -
|
|
38218
|
+
Loop( { start: -1, end: int( 1 ), name: 'y', condition: '<=' }, ( { y } ) => {
|
|
38219
38219
|
|
|
38220
|
-
Loop( { start: -
|
|
38220
|
+
Loop( { start: -1, end: int( 1 ), name: 'z', condition: '<=' }, ( { z } ) => {
|
|
38221
38221
|
|
|
38222
38222
|
const dist = float( mx_worley_distance( localpos, x, y, z, X, Y, Z, jitter, metric ) ).toVar();
|
|
38223
38223
|
|
|
@@ -38486,7 +38486,7 @@ const getParallaxCorrectNormal = /*@__PURE__*/ Fn( ( [ normal, cubeSize, cubePos
|
|
|
38486
38486
|
|
|
38487
38487
|
const nDir = normalize( normal ).toVar( 'nDir' );
|
|
38488
38488
|
const rbmax = sub( float( 0.5 ).mul( cubeSize.sub( cubePos ) ), positionWorld ).div( nDir ).toVar( 'rbmax' );
|
|
38489
|
-
const rbmin = sub( float( -
|
|
38489
|
+
const rbmin = sub( float( -0.5 ).mul( cubeSize.sub( cubePos ) ), positionWorld ).div( nDir ).toVar( 'rbmin' );
|
|
38490
38490
|
const rbminmax = vec3().toVar( 'rbminmax' );
|
|
38491
38491
|
rbminmax.x = nDir.x.greaterThan( float( 0 ) ).select( rbmax.x, rbmin.x );
|
|
38492
38492
|
rbminmax.y = nDir.y.greaterThan( float( 0 ) ).select( rbmax.y, rbmin.y );
|
|
@@ -40614,7 +40614,7 @@ const EXTRA_LOD_SIGMA = [ 0.125, 0.215, 0.35, 0.446, 0.526, 0.582 ];
|
|
|
40614
40614
|
// samples and exit early, but not recompile the shader.
|
|
40615
40615
|
const MAX_SAMPLES = 20;
|
|
40616
40616
|
|
|
40617
|
-
const _flatCamera = /*@__PURE__*/ new OrthographicCamera( -
|
|
40617
|
+
const _flatCamera = /*@__PURE__*/ new OrthographicCamera( -1, 1, 1, -1, 0, 1 );
|
|
40618
40618
|
const _cubeCamera = /*@__PURE__*/ new PerspectiveCamera( 90, 1 );
|
|
40619
40619
|
const _clearColor = /*@__PURE__*/ new Color();
|
|
40620
40620
|
let _oldTarget = null;
|
|
@@ -40634,9 +40634,9 @@ const _axisDirections = [
|
|
|
40634
40634
|
/*@__PURE__*/ new Vector3( INV_PHI, 0, PHI ),
|
|
40635
40635
|
/*@__PURE__*/ new Vector3( 0, PHI, - INV_PHI ),
|
|
40636
40636
|
/*@__PURE__*/ new Vector3( 0, PHI, INV_PHI ),
|
|
40637
|
-
/*@__PURE__*/ new Vector3( -
|
|
40638
|
-
/*@__PURE__*/ new Vector3( 1, 1, -
|
|
40639
|
-
/*@__PURE__*/ new Vector3( -
|
|
40637
|
+
/*@__PURE__*/ new Vector3( -1, 1, -1 ),
|
|
40638
|
+
/*@__PURE__*/ new Vector3( 1, 1, -1 ),
|
|
40639
|
+
/*@__PURE__*/ new Vector3( -1, 1, 1 ),
|
|
40640
40640
|
/*@__PURE__*/ new Vector3( 1, 1, 1 )
|
|
40641
40641
|
];
|
|
40642
40642
|
|
|
@@ -41036,8 +41036,8 @@ class PMREMGenerator {
|
|
|
41036
41036
|
cubeCamera.far = far;
|
|
41037
41037
|
|
|
41038
41038
|
// px, py, pz, nx, ny, nz
|
|
41039
|
-
const upSign = [ 1, 1, 1, 1, -
|
|
41040
|
-
const forwardSign = [ 1, -
|
|
41039
|
+
const upSign = [ 1, 1, 1, 1, -1, 1 ];
|
|
41040
|
+
const forwardSign = [ 1, -1, 1, -1, 1, -1 ];
|
|
41041
41041
|
|
|
41042
41042
|
const renderer = this._renderer;
|
|
41043
41043
|
|
|
@@ -41358,7 +41358,7 @@ function _createPlanes( lodMax ) {
|
|
|
41358
41358
|
for ( let face = 0; face < cubeFaces; face ++ ) {
|
|
41359
41359
|
|
|
41360
41360
|
const x = ( face % 3 ) * 2 / 3 - 1;
|
|
41361
|
-
const y = face > 2 ? 0 : -
|
|
41361
|
+
const y = face > 2 ? 0 : -1;
|
|
41362
41362
|
const coordinates = [
|
|
41363
41363
|
x, y, 0,
|
|
41364
41364
|
x + 2 / 3, y, 0,
|
|
@@ -43455,7 +43455,7 @@ class NodeBuilder {
|
|
|
43455
43455
|
*/
|
|
43456
43456
|
removeFlowTab() {
|
|
43457
43457
|
|
|
43458
|
-
this.tab = this.tab.slice( 0, -
|
|
43458
|
+
this.tab = this.tab.slice( 0, -1 );
|
|
43459
43459
|
|
|
43460
43460
|
return this;
|
|
43461
43461
|
|
|
@@ -45061,7 +45061,7 @@ const parse$1 = ( source ) => {
|
|
|
45061
45061
|
|
|
45062
45062
|
const pragmaMainIndex = source.indexOf( pragmaMain );
|
|
45063
45063
|
|
|
45064
|
-
const mainCode = pragmaMainIndex !== -
|
|
45064
|
+
const mainCode = pragmaMainIndex !== -1 ? source.slice( pragmaMainIndex + pragmaMain.length ) : source;
|
|
45065
45065
|
|
|
45066
45066
|
const declaration = mainCode.match( declarationRegexp$1 );
|
|
45067
45067
|
|
|
@@ -45130,7 +45130,7 @@ const parse$1 = ( source ) => {
|
|
|
45130
45130
|
|
|
45131
45131
|
const precision = declaration[ 1 ] !== undefined ? declaration[ 1 ] : '';
|
|
45132
45132
|
|
|
45133
|
-
const headerCode = pragmaMainIndex !== -
|
|
45133
|
+
const headerCode = pragmaMainIndex !== -1 ? source.slice( 0, pragmaMainIndex ) : '';
|
|
45134
45134
|
|
|
45135
45135
|
return {
|
|
45136
45136
|
type,
|
|
@@ -47528,7 +47528,7 @@ function setProjectionFromUnion( camera, cameraL, cameraR ) {
|
|
|
47528
47528
|
camera.matrixWorldInverse.copy( camera.matrixWorld ).invert();
|
|
47529
47529
|
|
|
47530
47530
|
// Check if the projection uses an infinite far plane.
|
|
47531
|
-
if ( projL[ 10 ] === -
|
|
47531
|
+
if ( projL[ 10 ] === -1 ) {
|
|
47532
47532
|
|
|
47533
47533
|
// Use the projection matrix from the left eye.
|
|
47534
47534
|
// The camera offset is sufficient to include the view volumes
|
|
@@ -47619,7 +47619,7 @@ function onSessionEvent( event ) {
|
|
|
47619
47619
|
|
|
47620
47620
|
const controllerIndex = this._controllerInputSources.indexOf( event.inputSource );
|
|
47621
47621
|
|
|
47622
|
-
if ( controllerIndex === -
|
|
47622
|
+
if ( controllerIndex === -1 ) {
|
|
47623
47623
|
|
|
47624
47624
|
return;
|
|
47625
47625
|
|
|
@@ -47721,7 +47721,7 @@ function onInputSourcesChange( event ) {
|
|
|
47721
47721
|
|
|
47722
47722
|
let controllerIndex = controllerInputSources.indexOf( inputSource );
|
|
47723
47723
|
|
|
47724
|
-
if ( controllerIndex === -
|
|
47724
|
+
if ( controllerIndex === -1 ) {
|
|
47725
47725
|
|
|
47726
47726
|
// Assign input source a controller that currently has no input source
|
|
47727
47727
|
|
|
@@ -47745,7 +47745,7 @@ function onInputSourcesChange( event ) {
|
|
|
47745
47745
|
|
|
47746
47746
|
// If all controllers do currently receive input we ignore new ones
|
|
47747
47747
|
|
|
47748
|
-
if ( controllerIndex === -
|
|
47748
|
+
if ( controllerIndex === -1 ) break;
|
|
47749
47749
|
|
|
47750
47750
|
}
|
|
47751
47751
|
|
|
@@ -51048,7 +51048,7 @@ class UniformsGroup extends UniformBuffer {
|
|
|
51048
51048
|
|
|
51049
51049
|
const index = this.uniforms.indexOf( uniform );
|
|
51050
51050
|
|
|
51051
|
-
if ( index !== -
|
|
51051
|
+
if ( index !== -1 ) {
|
|
51052
51052
|
|
|
51053
51053
|
this.uniforms.splice( index, 1 );
|
|
51054
51054
|
|
package/package.json
CHANGED
|
@@ -179,6 +179,8 @@ class WebXRManager extends EventDispatcher {
|
|
|
179
179
|
|
|
180
180
|
// restore framebuffer/rendering state
|
|
181
181
|
|
|
182
|
+
scope.isPresenting = false;
|
|
183
|
+
|
|
182
184
|
renderer.setRenderTarget( initialRenderTarget );
|
|
183
185
|
|
|
184
186
|
glBaseLayer = null;
|
|
@@ -191,8 +193,6 @@ class WebXRManager extends EventDispatcher {
|
|
|
191
193
|
|
|
192
194
|
animation.stop();
|
|
193
195
|
|
|
194
|
-
scope.isPresenting = false;
|
|
195
|
-
|
|
196
196
|
renderer.setPixelRatio( currentPixelRatio );
|
|
197
197
|
renderer.setSize( currentSize.width, currentSize.height, false );
|
|
198
198
|
|