rayzee 7.6.0 → 7.7.0
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/README.md +1 -1
- package/dist/rayzee.es.js +104 -105
- package/dist/rayzee.es.js.map +1 -1
- package/dist/rayzee.umd.js +3 -3
- package/dist/rayzee.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/Processor/ShaderBuilder.js +0 -3
- package/src/Stages/PathTracer.js +0 -3
- package/src/TSL/FinalWriteKernel.js +5 -2
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Rayzee Engine
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/rayzee)
|
|
4
|
-
[](https://www.npmjs.com/package/rayzee)
|
|
5
5
|
[](https://www.npmjs.com/package/rayzee)
|
|
6
6
|
[](https://www.jsdelivr.com/package/npm/rayzee)
|
|
7
7
|
|
package/dist/rayzee.es.js
CHANGED
|
@@ -3128,7 +3128,7 @@ var Fo = /* @__PURE__ */ f(([e, t]) => {
|
|
|
3128
3128
|
}), a;
|
|
3129
3129
|
}), Ro = /* @__PURE__ */ K("\n fn sphQuadSolidAngle( o: vec3f, s: vec3f, ex: vec3f, ey: vec3f ) -> f32 {\n let PI = 3.141592653589793f;\n let exl = length( ex );\n let eyl = length( ey );\n let x = ex / max( exl, 1e-12f );\n let y = ey / max( eyl, 1e-12f );\n var z = cross( x, y );\n let d = s - o;\n var z0 = dot( d, z );\n if ( z0 > 0.0f ) { z = -z; z0 = -z0; }\n let x0 = dot( d, x );\n let y0 = dot( d, y );\n let x1 = x0 + exl;\n let y1 = y0 + eyl;\n let v00 = vec3f( x0, y0, z0 );\n let v01 = vec3f( x0, y1, z0 );\n let v10 = vec3f( x1, y0, z0 );\n let v11 = vec3f( x1, y1, z0 );\n let n0 = normalize( cross( v00, v10 ) );\n let n1 = normalize( cross( v10, v11 ) );\n let n2 = normalize( cross( v11, v01 ) );\n let n3 = normalize( cross( v01, v00 ) );\n let g0 = acos( clamp( -dot( n0, n1 ), -1.0f, 1.0f ) );\n let g1 = acos( clamp( -dot( n1, n2 ), -1.0f, 1.0f ) );\n let g2 = acos( clamp( -dot( n2, n3 ), -1.0f, 1.0f ) );\n let g3 = acos( clamp( -dot( n3, n0 ), -1.0f, 1.0f ) );\n return g0 + g1 + g2 + g3 - 2.0f * PI;\n }\n"), zo = /* @__PURE__ */ K("\n fn sampleSphQuad( o: vec3f, s: vec3f, ex: vec3f, ey: vec3f, uv: vec2f ) -> vec4f {\n let PI = 3.141592653589793f;\n let exl = length( ex );\n let eyl = length( ey );\n let x = ex / max( exl, 1e-12f );\n let y = ey / max( eyl, 1e-12f );\n var z = cross( x, y );\n let d = s - o;\n var z0 = dot( d, z );\n if ( z0 > 0.0f ) { z = -z; z0 = -z0; }\n let z0sq = z0 * z0;\n let x0 = dot( d, x );\n let y0 = dot( d, y );\n let x1 = x0 + exl;\n let y1 = y0 + eyl;\n let y0sq = y0 * y0;\n let y1sq = y1 * y1;\n let v00 = vec3f( x0, y0, z0 );\n let v01 = vec3f( x0, y1, z0 );\n let v10 = vec3f( x1, y0, z0 );\n let v11 = vec3f( x1, y1, z0 );\n let n0 = normalize( cross( v00, v10 ) );\n let n1 = normalize( cross( v10, v11 ) );\n let n2 = normalize( cross( v11, v01 ) );\n let n3 = normalize( cross( v01, v00 ) );\n let g0 = acos( clamp( -dot( n0, n1 ), -1.0f, 1.0f ) );\n let g1 = acos( clamp( -dot( n1, n2 ), -1.0f, 1.0f ) );\n let g2 = acos( clamp( -dot( n2, n3 ), -1.0f, 1.0f ) );\n let g3 = acos( clamp( -dot( n3, n0 ), -1.0f, 1.0f ) );\n let b0 = n0.z;\n let b1 = n2.z;\n let b0sq = b0 * b0;\n let k = 2.0f * PI - g2 - g3;\n let S = g0 + g1 + g2 + g3 - 2.0f * PI;\n\n if ( S <= 1e-5f ) {\n return vec4f( 0.0f, 0.0f, 0.0f, -1.0f );\n }\n\n let au = uv.x * S + k;\n let sinAu = sin( au );\n let fu = ( cos( au ) * b0 - b1 ) / max( abs( sinAu ), 1e-7f ) * sign( sinAu );\n var cu = select( -1.0f, 1.0f, fu >= 0.0f ) / sqrt( fu * fu + b0sq );\n cu = clamp( cu, -1.0f, 1.0f );\n\n var xu = -( cu * z0 ) / max( sqrt( 1.0f - cu * cu ), 1e-7f );\n xu = clamp( xu, x0, x1 );\n\n let dd = sqrt( xu * xu + z0sq );\n let h0 = y0 / sqrt( dd * dd + y0sq );\n let h1 = y1 / sqrt( dd * dd + y1sq );\n let hv = h0 + uv.y * ( h1 - h0 );\n let hv2 = hv * hv;\n var yv = y1;\n if ( hv2 < 1.0f - 1e-6f ) {\n yv = ( hv * dd ) / sqrt( 1.0f - hv2 );\n }\n\n let p = o + xu * x + yv * y + z0 * z;\n return vec4f( p, 1.0f / S );\n }\n"), Bo = class {
|
|
3130
3130
|
constructor() {
|
|
3131
|
-
this.prevColorTexNode = null, this.
|
|
3131
|
+
this.prevColorTexNode = null, this.prevAlbedoTexNode = null, this._sceneTextureNodes = null;
|
|
3132
3132
|
}
|
|
3133
3133
|
updateSceneTextures(e) {
|
|
3134
3134
|
let t = this._sceneTextureNodes, n = e.environment, r = e.materialData;
|
|
@@ -3149,7 +3149,7 @@ var Fo = /* @__PURE__ */ f(([e, t]) => {
|
|
|
3149
3149
|
let n = e.triangleStorageNode, r = e.bvhStorageNode, i = e.materialData.materialStorageNode, a = e.lightStorageNode;
|
|
3150
3150
|
co(e.uniforms.get("enableAlphaShadows"));
|
|
3151
3151
|
let o = ke(e.environment.environmentTexture), s = t.getReadTextures();
|
|
3152
|
-
this.prevColorTexNode = ke(s.color), this.
|
|
3152
|
+
this.prevColorTexNode = ke(s.color), this.prevAlbedoTexNode = ke(s.albedo);
|
|
3153
3153
|
let c = () => {
|
|
3154
3154
|
let e = new $e(new Uint8Array([
|
|
3155
3155
|
255,
|
|
@@ -3181,7 +3181,7 @@ var Fo = /* @__PURE__ */ f(([e, t]) => {
|
|
|
3181
3181
|
return this._sceneTextureNodes = y, y;
|
|
3182
3182
|
}
|
|
3183
3183
|
dispose() {
|
|
3184
|
-
this.prevColorTexNode = null, this.
|
|
3184
|
+
this.prevColorTexNode = null, this.prevAlbedoTexNode = null, this._sceneTextureNodes = null;
|
|
3185
3185
|
}
|
|
3186
3186
|
}, Vo = class {
|
|
3187
3187
|
constructor(e, t) {
|
|
@@ -9149,29 +9149,29 @@ function uu(e) {
|
|
|
9149
9149
|
}
|
|
9150
9150
|
var du = /* @__PURE__ */ K("\n fn nanInfToRed( c: vec3f ) -> vec3f {\n let isNan = c.x != c.x || c.y != c.y || c.z != c.z;\n let isInf = abs( c.x ) > 1e30f || abs( c.y ) > 1e30f || abs( c.z ) > 1e30f;\n if ( isNan || isInf ) { return vec3f( 1.0f, 0.0f, 0.0f ); }\n return vec3f( 0.0f );\n }\n");
|
|
9151
9151
|
function fu(e) {
|
|
9152
|
-
let { rayBufferRO: t, gBufferRO: n, writeColorTex: r, writeNDTex: i, writeAlbedoTex: a, resolution: o, frame: s, enableAccumulation: c, hasPreviousAccumulated: l, accumulationAlpha: u, cameraIsMoving: d, transparentBackground: m, prevAccumTexture: h,
|
|
9152
|
+
let { rayBufferRO: t, gBufferRO: n, writeColorTex: r, writeNDTex: i, writeAlbedoTex: a, resolution: o, frame: s, enableAccumulation: c, hasPreviousAccumulated: l, accumulationAlpha: u, cameraIsMoving: d, transparentBackground: m, prevAccumTexture: h, prevAlbedoTexture: g, renderWidth: _, renderHeight: v, visMode: y, auxGBufferEnabled: b } = e, x = b.greaterThan(B(0));
|
|
9153
9153
|
return f(() => {
|
|
9154
9154
|
let e = N(q.x).mul(16).add(N(oe.x)), f = N(q.y).mul(16).add(N(oe.y));
|
|
9155
|
-
p(e.lessThan(
|
|
9156
|
-
let
|
|
9157
|
-
p(
|
|
9158
|
-
let e = $s(n,
|
|
9159
|
-
|
|
9155
|
+
p(e.lessThan(_).and(f.lessThan(v)), () => {
|
|
9156
|
+
let _ = B(f.mul(N(o.x)).add(e)), v = Xs(t, _), b = v.xyz.toVar(), S = R(m, v.w, M(1)).toVar(), C = G(0).toVar(), w = G(0).xyz.toVar();
|
|
9157
|
+
p(x, () => {
|
|
9158
|
+
let e = $s(n, _);
|
|
9159
|
+
C.assign(ec(e)), w.assign(G(tc(e), 0).xyz);
|
|
9160
9160
|
});
|
|
9161
|
-
let
|
|
9162
|
-
p(c.and(d.not()).and(s.greaterThan(B(0))).and(l).and(
|
|
9163
|
-
let e = ke(h,
|
|
9164
|
-
|
|
9165
|
-
w.assign(I(ke(g,
|
|
9161
|
+
let T = U(M(e).add(.5), M(f).add(.5)).div(o);
|
|
9162
|
+
p(c.and(d.not()).and(s.greaterThan(B(0))).and(l).and(y.notEqual(N(11))), () => {
|
|
9163
|
+
let e = ke(h, T, 0).toVar();
|
|
9164
|
+
b.assign(I(e.xyz, v.xyz, u)), p(x, () => {
|
|
9165
|
+
w.assign(I(ke(g, T, 0).xyz, w, u));
|
|
9166
9166
|
}), p(m, () => {
|
|
9167
|
-
|
|
9167
|
+
S.assign(I(e.w, v.w, u));
|
|
9168
9168
|
});
|
|
9169
|
-
}), p(
|
|
9170
|
-
|
|
9169
|
+
}), p(y.equal(N(11)), () => {
|
|
9170
|
+
b.assign(du(b));
|
|
9171
9171
|
});
|
|
9172
|
-
let
|
|
9173
|
-
je(r,
|
|
9174
|
-
je(i,
|
|
9172
|
+
let E = H(B(e), B(f));
|
|
9173
|
+
je(r, E, G(b, S)).toWriteOnly(), p(x, () => {
|
|
9174
|
+
je(i, E, C).toWriteOnly(), je(a, E, G(w, 1)).toWriteOnly();
|
|
9175
9175
|
});
|
|
9176
9176
|
});
|
|
9177
9177
|
});
|
|
@@ -9456,7 +9456,7 @@ var Su = class extends zs {
|
|
|
9456
9456
|
let t = this.frameCount, n = this.renderMode.value, r = null;
|
|
9457
9457
|
n === 1 && t === 0 && (r = this.maxBounces.value, this.maxBounces.value = 1), this._handleResize(), this.manageASVGFForRenderMode(n), e && e.setState("tileRenderingComplete", !0), this.cameraChanged = this._updateCameraUniforms(), this.cameraOptimizer?.updateInteractionMode(this.cameraChanged), this._updateAccumulationUniforms(t, n), this.frame.value = t, this._setWfDispatch();
|
|
9458
9458
|
let i = this.storageTextures.getReadTextures();
|
|
9459
|
-
this.shaderBuilder.prevColorTexNode && (this.shaderBuilder.prevColorTexNode.value = i.color, this.shaderBuilder.
|
|
9459
|
+
this.shaderBuilder.prevColorTexNode && (this.shaderBuilder.prevColorTexNode.value = i.color, this.shaderBuilder.prevAlbedoTexNode.value = i.albedo), this._refreshWfTextureNodes();
|
|
9460
9460
|
let a = this._kernelManager;
|
|
9461
9461
|
if ((this.visMode?.value | 0) > 0 && this.visMode.value !== 11) {
|
|
9462
9462
|
a.dispatch("debug"), this.storageTextures.copyToReadTargets(this.renderer);
|
|
@@ -9554,10 +9554,10 @@ var Su = class extends zs {
|
|
|
9554
9554
|
this._queueManager ? this._queueManager.resize(this._packedBuffers.capacity) : this._queueManager = new Sc(this._packedBuffers.capacity), this._kernelManager ||= new Ac(this.renderer);
|
|
9555
9555
|
let c = this._packedBuffers, l = this._queueManager;
|
|
9556
9556
|
this._wfRenderWidth.value = t, this._wfRenderHeight.value = n, this._wfMaxRayCount.value = r;
|
|
9557
|
-
let u = this.shaderBuilder.prevColorTexNode, d = this.shaderBuilder.
|
|
9558
|
-
C(
|
|
9557
|
+
let u = this.shaderBuilder.prevColorTexNode, d = this.shaderBuilder.prevAlbedoTexNode, m = this.storageTextures.getWriteTextures(), g = l.getCounters(), _ = f(() => {
|
|
9558
|
+
C(g.element(B(bc.ACTIVE_RAY_COUNT)), B(0));
|
|
9559
9559
|
});
|
|
9560
|
-
this._kernelManager.register("resetCounters",
|
|
9560
|
+
this._kernelManager.register("resetCounters", _().compute([
|
|
9561
9561
|
1,
|
|
9562
9562
|
1,
|
|
9563
9563
|
1
|
|
@@ -9566,10 +9566,10 @@ var Su = class extends zs {
|
|
|
9566
9566
|
1,
|
|
9567
9567
|
1
|
|
9568
9568
|
]));
|
|
9569
|
-
let
|
|
9570
|
-
C(
|
|
9569
|
+
let v = f(() => {
|
|
9570
|
+
C(g.element(B(bc.ACTIVE_RAY_COUNT)), B(0));
|
|
9571
9571
|
});
|
|
9572
|
-
this._kernelManager.register("resetActiveCounter",
|
|
9572
|
+
this._kernelManager.register("resetActiveCounter", v().compute([
|
|
9573
9573
|
1,
|
|
9574
9574
|
1,
|
|
9575
9575
|
1
|
|
@@ -9578,11 +9578,11 @@ var Su = class extends zs {
|
|
|
9578
9578
|
1,
|
|
9579
9579
|
1
|
|
9580
9580
|
]));
|
|
9581
|
-
let
|
|
9582
|
-
let e = S(
|
|
9583
|
-
|
|
9581
|
+
let y = l.getBounceCounts(), b = this._wfCurrentBounce, x = f(() => {
|
|
9582
|
+
let e = S(g.element(B(bc.ACTIVE_RAY_COUNT))), t = B(b).clamp(B(0), B(l.MAX_BOUNCE_SNAPSHOTS - 1));
|
|
9583
|
+
y.element(t).assign(e), C(g.element(B(bc.ENTERING_COUNT)), e);
|
|
9584
9584
|
});
|
|
9585
|
-
this._kernelManager.register("snapshotBounceCount",
|
|
9585
|
+
this._kernelManager.register("snapshotBounceCount", x().compute([
|
|
9586
9586
|
1,
|
|
9587
9587
|
1,
|
|
9588
9588
|
1
|
|
@@ -9591,13 +9591,13 @@ var Su = class extends zs {
|
|
|
9591
9591
|
1,
|
|
9592
9592
|
1
|
|
9593
9593
|
]));
|
|
9594
|
-
let
|
|
9594
|
+
let w = l.activeIndices.a, T = f(() => {
|
|
9595
9595
|
let e = re;
|
|
9596
|
-
|
|
9597
|
-
C(
|
|
9596
|
+
w.element(e).assign(e), p(e.equal(B(0)), () => {
|
|
9597
|
+
C(g.element(B(bc.ACTIVE_RAY_COUNT)), this._wfMaxRayCount), C(g.element(B(bc.ENTERING_COUNT)), this._wfMaxRayCount);
|
|
9598
9598
|
});
|
|
9599
9599
|
});
|
|
9600
|
-
this._kernelManager.register("initActiveIndices",
|
|
9600
|
+
this._kernelManager.register("initActiveIndices", T().compute([
|
|
9601
9601
|
Math.ceil(r / 256),
|
|
9602
9602
|
1,
|
|
9603
9603
|
1
|
|
@@ -9606,7 +9606,7 @@ var Su = class extends zs {
|
|
|
9606
9606
|
1,
|
|
9607
9607
|
1
|
|
9608
9608
|
]));
|
|
9609
|
-
let
|
|
9609
|
+
let E = Uc({
|
|
9610
9610
|
rayBufferRW: c.rayBuffer.rw,
|
|
9611
9611
|
rngBufferRW: c.rngBuffer.rw,
|
|
9612
9612
|
gBufferRW: a,
|
|
@@ -9627,7 +9627,7 @@ var Su = class extends zs {
|
|
|
9627
9627
|
transparentBackground: this.transparentBackground,
|
|
9628
9628
|
auxGBufferEnabled: this._auxGBufferUniform
|
|
9629
9629
|
});
|
|
9630
|
-
this._kernelManager.register("generate",
|
|
9630
|
+
this._kernelManager.register("generate", E().compute([
|
|
9631
9631
|
Math.ceil(t / 16),
|
|
9632
9632
|
Math.ceil(n / 16),
|
|
9633
9633
|
1
|
|
@@ -9636,29 +9636,29 @@ var Su = class extends zs {
|
|
|
9636
9636
|
16,
|
|
9637
9637
|
1
|
|
9638
9638
|
]));
|
|
9639
|
-
let
|
|
9639
|
+
let D = this.bvhStorageNode, O = this.triangleStorageNode, k = this.materialData.materialStorageNode, A = ke(this.environment.envCDFTexture), j = this.lightStorageNode, M = this.materialData, ee = this.environment, te = e.albedoMapsTex, ne = M.albedoMaps ? ke(M.albedoMaps) : te, N = M.normalMaps ? ke(M.normalMaps) : e.normalMapsTex, P = M.bumpMaps ? ke(M.bumpMaps) : e.bumpMapsTex, ie = M.metalnessMaps ? ke(M.metalnessMaps) : e.metalnessMapsTex, ae = M.roughnessMaps ? ke(M.roughnessMaps) : e.roughnessMapsTex, oe = M.emissiveMaps ? ke(M.emissiveMaps) : e.emissiveMapsTex, se = M.displacementMaps ? ke(M.displacementMaps) : e.displacementMapsTex, ce = ee.environmentTexture ? ke(ee.environmentTexture) : e.envTex;
|
|
9640
9640
|
this._wfTexNodes = {
|
|
9641
|
-
envTex:
|
|
9642
|
-
envCDFTex:
|
|
9643
|
-
albedoMaps:
|
|
9644
|
-
normalMaps:
|
|
9645
|
-
bumpMaps:
|
|
9646
|
-
metalnessMaps:
|
|
9647
|
-
roughnessMaps:
|
|
9648
|
-
emissiveMaps:
|
|
9649
|
-
displacementMaps:
|
|
9641
|
+
envTex: ce,
|
|
9642
|
+
envCDFTex: A,
|
|
9643
|
+
albedoMaps: ne,
|
|
9644
|
+
normalMaps: N,
|
|
9645
|
+
bumpMaps: P,
|
|
9646
|
+
metalnessMaps: ie,
|
|
9647
|
+
roughnessMaps: ae,
|
|
9648
|
+
emissiveMaps: oe,
|
|
9649
|
+
displacementMaps: se
|
|
9650
9650
|
}, this._sortMaterials = (X.wavefrontSortMaterials ?? !1) && (this.materialData?.materialCount ?? 0) > 8;
|
|
9651
|
-
let
|
|
9652
|
-
bvhBuffer:
|
|
9653
|
-
triangleBuffer:
|
|
9654
|
-
materialBuffer:
|
|
9651
|
+
let F = Wc({
|
|
9652
|
+
bvhBuffer: D,
|
|
9653
|
+
triangleBuffer: O,
|
|
9654
|
+
materialBuffer: k,
|
|
9655
9655
|
rayBufferRO: c.rayBuffer.ro,
|
|
9656
9656
|
hitBufferRW: c.hitBuffer.rw,
|
|
9657
9657
|
activeIndicesRO: l.getActiveReadRO(),
|
|
9658
|
-
counters:
|
|
9658
|
+
counters: g,
|
|
9659
9659
|
maxRayCount: this._wfMaxRayCount
|
|
9660
9660
|
});
|
|
9661
|
-
if (this._kernelManager.register("extend",
|
|
9661
|
+
if (this._kernelManager.register("extend", F().compute([
|
|
9662
9662
|
Math.ceil(r / 256),
|
|
9663
9663
|
1,
|
|
9664
9664
|
1
|
|
@@ -9683,7 +9683,7 @@ var Su = class extends zs {
|
|
|
9683
9683
|
hitBufferRO: c.hitBuffer.ro,
|
|
9684
9684
|
activeIndicesReadRO: l.getActiveReadRO(),
|
|
9685
9685
|
sortGlobalHistogram: e,
|
|
9686
|
-
counters:
|
|
9686
|
+
counters: g,
|
|
9687
9687
|
bins: t
|
|
9688
9688
|
})().compute([
|
|
9689
9689
|
Math.ceil(r / 256),
|
|
@@ -9709,7 +9709,7 @@ var Su = class extends zs {
|
|
|
9709
9709
|
activeIndicesReadRO: l.getActiveReadRO(),
|
|
9710
9710
|
sortedIndicesRW: l.getSortedRW(),
|
|
9711
9711
|
sortGlobalHistogram: e,
|
|
9712
|
-
counters:
|
|
9712
|
+
counters: g,
|
|
9713
9713
|
bins: t
|
|
9714
9714
|
})().compute([
|
|
9715
9715
|
Math.ceil(r / 256),
|
|
@@ -9721,27 +9721,27 @@ var Su = class extends zs {
|
|
|
9721
9721
|
1
|
|
9722
9722
|
]));
|
|
9723
9723
|
}
|
|
9724
|
-
let
|
|
9724
|
+
let le = cu({
|
|
9725
9725
|
gBufferRW: a,
|
|
9726
9726
|
envCompensationDelta: this.envCompensationDelta,
|
|
9727
|
-
bvhBuffer:
|
|
9728
|
-
triangleBuffer:
|
|
9729
|
-
materialBuffer:
|
|
9730
|
-
envCDFTexture:
|
|
9731
|
-
lightBuffer:
|
|
9727
|
+
bvhBuffer: D,
|
|
9728
|
+
triangleBuffer: O,
|
|
9729
|
+
materialBuffer: k,
|
|
9730
|
+
envCDFTexture: A,
|
|
9731
|
+
lightBuffer: j,
|
|
9732
9732
|
rayBufferRW: c.rayBuffer.rw,
|
|
9733
9733
|
rngBufferRW: c.rngBuffer.rw,
|
|
9734
9734
|
hitBufferRO: c.hitBuffer.ro,
|
|
9735
|
-
counters:
|
|
9735
|
+
counters: g,
|
|
9736
9736
|
activeIndicesRO: this._sortMaterials ? l.getSortedRO() : l.getActiveReadRO(),
|
|
9737
|
-
albedoMaps:
|
|
9738
|
-
normalMaps:
|
|
9739
|
-
bumpMaps:
|
|
9740
|
-
metalnessMaps:
|
|
9741
|
-
roughnessMaps:
|
|
9742
|
-
emissiveMaps:
|
|
9743
|
-
displacementMaps:
|
|
9744
|
-
envTexture:
|
|
9737
|
+
albedoMaps: ne,
|
|
9738
|
+
normalMaps: N,
|
|
9739
|
+
bumpMaps: P,
|
|
9740
|
+
metalnessMaps: ie,
|
|
9741
|
+
roughnessMaps: ae,
|
|
9742
|
+
emissiveMaps: oe,
|
|
9743
|
+
displacementMaps: se,
|
|
9744
|
+
envTexture: ce,
|
|
9745
9745
|
environmentIntensity: this.environmentIntensity,
|
|
9746
9746
|
envMatrix: this.environmentMatrix,
|
|
9747
9747
|
enableEnvironmentLight: this.enableEnvironment,
|
|
@@ -9788,7 +9788,7 @@ var Su = class extends zs {
|
|
|
9788
9788
|
maxRayCount: this._wfMaxRayCount,
|
|
9789
9789
|
auxGBufferEnabled: this._auxGBufferUniform
|
|
9790
9790
|
});
|
|
9791
|
-
this._kernelManager.register("shade",
|
|
9791
|
+
this._kernelManager.register("shade", le().compute([
|
|
9792
9792
|
Math.ceil(r / 256),
|
|
9793
9793
|
1,
|
|
9794
9794
|
1
|
|
@@ -9797,16 +9797,16 @@ var Su = class extends zs {
|
|
|
9797
9797
|
1,
|
|
9798
9798
|
1
|
|
9799
9799
|
]));
|
|
9800
|
-
let
|
|
9801
|
-
this._compactIsSubgroup =
|
|
9802
|
-
let
|
|
9800
|
+
let I = this._useSubgroupCompact && (this.renderer.hasFeature ? this.renderer.hasFeature("subgroups") : !1);
|
|
9801
|
+
this._compactIsSubgroup = I;
|
|
9802
|
+
let ue = (I ? uu : lu)({
|
|
9803
9803
|
rayBufferRO: c.rayBuffer.ro,
|
|
9804
9804
|
activeIndicesReadRO: l.getActiveReadRO(),
|
|
9805
9805
|
activeIndicesWriteRW: l.getActiveWrite(),
|
|
9806
|
-
counters:
|
|
9806
|
+
counters: g,
|
|
9807
9807
|
currentActiveCount: this._wfMaxRayCount
|
|
9808
9808
|
});
|
|
9809
|
-
this._kernelManager.register("compact",
|
|
9809
|
+
this._kernelManager.register("compact", ue().compute([
|
|
9810
9810
|
Math.ceil(r / 256),
|
|
9811
9811
|
1,
|
|
9812
9812
|
1
|
|
@@ -9815,10 +9815,10 @@ var Su = class extends zs {
|
|
|
9815
9815
|
1,
|
|
9816
9816
|
1
|
|
9817
9817
|
]));
|
|
9818
|
-
let
|
|
9819
|
-
C(
|
|
9818
|
+
let L = f(() => {
|
|
9819
|
+
C(g.element(B(bc.ENTERING_COUNT)), this._wfMaxRayCount);
|
|
9820
9820
|
});
|
|
9821
|
-
this._kernelManager.register("enterFull",
|
|
9821
|
+
this._kernelManager.register("enterFull", L().compute([
|
|
9822
9822
|
1,
|
|
9823
9823
|
1,
|
|
9824
9824
|
1
|
|
@@ -9827,13 +9827,13 @@ var Su = class extends zs {
|
|
|
9827
9827
|
1,
|
|
9828
9828
|
1
|
|
9829
9829
|
]));
|
|
9830
|
-
let
|
|
9830
|
+
let de = l.activeIndicesRO.b, fe = l.activeIndices.a, pe = f(() => {
|
|
9831
9831
|
let e = re;
|
|
9832
|
-
p(e.greaterThanEqual(S(
|
|
9832
|
+
p(e.greaterThanEqual(S(g.element(B(bc.ACTIVE_RAY_COUNT)))), () => {
|
|
9833
9833
|
h();
|
|
9834
|
-
}),
|
|
9834
|
+
}), fe.element(e).assign(de.element(e));
|
|
9835
9835
|
});
|
|
9836
|
-
this._kernelManager.register("compactCopyback",
|
|
9836
|
+
this._kernelManager.register("compactCopyback", pe().compute([
|
|
9837
9837
|
Math.ceil(r / 256),
|
|
9838
9838
|
1,
|
|
9839
9839
|
1
|
|
@@ -9842,12 +9842,12 @@ var Su = class extends zs {
|
|
|
9842
9842
|
1,
|
|
9843
9843
|
1
|
|
9844
9844
|
]));
|
|
9845
|
-
let
|
|
9845
|
+
let me = fu({
|
|
9846
9846
|
rayBufferRO: c.rayBuffer.ro,
|
|
9847
9847
|
gBufferRO: s,
|
|
9848
|
-
writeColorTex:
|
|
9849
|
-
writeNDTex:
|
|
9850
|
-
writeAlbedoTex:
|
|
9848
|
+
writeColorTex: m.color,
|
|
9849
|
+
writeNDTex: m.normalDepth,
|
|
9850
|
+
writeAlbedoTex: m.albedo,
|
|
9851
9851
|
resolution: this.resolution,
|
|
9852
9852
|
frame: this.frame,
|
|
9853
9853
|
enableAccumulation: this.enableAccumulation,
|
|
@@ -9856,14 +9856,13 @@ var Su = class extends zs {
|
|
|
9856
9856
|
cameraIsMoving: this.cameraIsMoving,
|
|
9857
9857
|
transparentBackground: this.transparentBackground,
|
|
9858
9858
|
prevAccumTexture: u,
|
|
9859
|
-
|
|
9860
|
-
prevAlbedoTexture: m,
|
|
9859
|
+
prevAlbedoTexture: d,
|
|
9861
9860
|
renderWidth: this._wfRenderWidth,
|
|
9862
9861
|
renderHeight: this._wfRenderHeight,
|
|
9863
9862
|
visMode: this.visMode,
|
|
9864
9863
|
auxGBufferEnabled: this._auxGBufferUniform
|
|
9865
9864
|
});
|
|
9866
|
-
this._kernelManager.register("finalWrite",
|
|
9865
|
+
this._kernelManager.register("finalWrite", me().compute([
|
|
9867
9866
|
Math.ceil(t / 16),
|
|
9868
9867
|
Math.ceil(n / 16),
|
|
9869
9868
|
1
|
|
@@ -9872,10 +9871,10 @@ var Su = class extends zs {
|
|
|
9872
9871
|
16,
|
|
9873
9872
|
1
|
|
9874
9873
|
]));
|
|
9875
|
-
let
|
|
9876
|
-
writeColorTex:
|
|
9877
|
-
writeNDTex:
|
|
9878
|
-
writeAlbedoTex:
|
|
9874
|
+
let he = _u({
|
|
9875
|
+
writeColorTex: m.color,
|
|
9876
|
+
writeNDTex: m.normalDepth,
|
|
9877
|
+
writeAlbedoTex: m.albedo,
|
|
9879
9878
|
resolution: this.resolution,
|
|
9880
9879
|
renderWidth: this._wfRenderWidth,
|
|
9881
9880
|
renderHeight: this._wfRenderHeight,
|
|
@@ -9890,24 +9889,24 @@ var Su = class extends zs {
|
|
|
9890
9889
|
sceneScale: this.sceneScale,
|
|
9891
9890
|
apertureScale: this.apertureScale,
|
|
9892
9891
|
anamorphicRatio: this.anamorphicRatio,
|
|
9893
|
-
bvhBuffer:
|
|
9894
|
-
triangleBuffer:
|
|
9895
|
-
materialBuffer:
|
|
9896
|
-
envTexture:
|
|
9892
|
+
bvhBuffer: D,
|
|
9893
|
+
triangleBuffer: O,
|
|
9894
|
+
materialBuffer: k,
|
|
9895
|
+
envTexture: ce,
|
|
9897
9896
|
environmentMatrix: this.environmentMatrix,
|
|
9898
9897
|
environmentIntensity: this.environmentIntensity,
|
|
9899
9898
|
enableEnvironmentLight: this.enableEnvironment,
|
|
9900
9899
|
visMode: this.visMode,
|
|
9901
9900
|
debugVisScale: this.debugVisScale,
|
|
9902
|
-
albedoMaps:
|
|
9903
|
-
normalMaps:
|
|
9904
|
-
bumpMaps:
|
|
9905
|
-
metalnessMaps:
|
|
9906
|
-
roughnessMaps:
|
|
9907
|
-
emissiveMaps:
|
|
9901
|
+
albedoMaps: ne,
|
|
9902
|
+
normalMaps: N,
|
|
9903
|
+
bumpMaps: P,
|
|
9904
|
+
metalnessMaps: ie,
|
|
9905
|
+
roughnessMaps: ae,
|
|
9906
|
+
emissiveMaps: oe,
|
|
9908
9907
|
frame: this.frame
|
|
9909
9908
|
});
|
|
9910
|
-
this._kernelManager.register("debug",
|
|
9909
|
+
this._kernelManager.register("debug", he().compute([
|
|
9911
9910
|
Math.ceil(t / 16),
|
|
9912
9911
|
Math.ceil(n / 16),
|
|
9913
9912
|
1
|