bg2e-js 2.2.6 → 2.2.7
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/dist/bg2e-js.js +435 -441
- package/dist/bg2e-js.js.map +1 -1
- package/package.json +1 -1
- package/src/render/SceneAppController.ts +11 -11
package/dist/bg2e-js.js
CHANGED
|
@@ -18,41 +18,41 @@ var ct = /* @__PURE__ */ ((t) => (t[t.NONE = 0] = "NONE", t[t.X = 1] = "X", t[t.
|
|
|
18
18
|
}
|
|
19
19
|
t.name = e;
|
|
20
20
|
})(ct || (ct = {}));
|
|
21
|
-
const
|
|
21
|
+
const _r = 3.141592653589793, $r = 0.01745329251994, ei = 57.29577951308233, Jn = 1.5707963267948966, Zn = 0.785398163397448, qn = 0.392699081698724, _n = 6.283185307179586, gt = 1e-7, Le = Float32Array, $n = Float64Array, es = 3402823e32, Ge = (t, e) => t.length >= e;
|
|
22
22
|
let Ft = Date.now();
|
|
23
|
-
const
|
|
23
|
+
const ts = (t) => typeof t != "number" ? !1 : t !== 0 && (t & t - 1) === 0, fe = (t) => t > -gt && t < gt ? 0 : t, b = (t) => fe(t) === 0, E = (t, e) => Math.abs(t - e) < gt, We = (t) => Math.fround(fe(t * $r)), ti = (t) => Math.fround(fe(t * ei)), rs = (t) => Math.fround(fe(Math.sin(t))), is = (t) => Math.fround(fe(Math.cos(t))), ri = (t) => Math.fround(fe(Math.tan(t))), ns = (t) => Math.fround(fe(1 / ri(t))), ss = (t) => Math.fround(fe(Math.atan(t))), os = (t, e) => Math.fround(fe(Math.atan2(t, e))), as = () => Math.random(), hs = () => (Ft = (Ft * 9301 + 49297) % 233280, 0 + Ft / 233280 * 1), As = (t, e) => Math.fround(Math.max(t, e)), fs = (t, e) => Math.fround(Math.min(t, e)), ls = (t) => Math.fround(Math.abs(t)), cs = (t) => Math.fround(Math.sqrt(t)), J = (t, e, r) => (r = r > 1 ? 1 : r, Math.fround((1 - r) * t + r * e)), gs = (t) => Math.fround(t * t), Z = (t, e, r) => Math.fround(Math.max(e, Math.min(t, r))), us = {
|
|
24
24
|
Axis: ct,
|
|
25
|
-
PI:
|
|
26
|
-
DEG_TO_RAD:
|
|
27
|
-
RAD_TO_DEG:
|
|
28
|
-
PI_2:
|
|
29
|
-
PI_4:
|
|
30
|
-
PI_8:
|
|
31
|
-
TWO_PI:
|
|
25
|
+
PI: _r,
|
|
26
|
+
DEG_TO_RAD: $r,
|
|
27
|
+
RAD_TO_DEG: ei,
|
|
28
|
+
PI_2: Jn,
|
|
29
|
+
PI_4: Zn,
|
|
30
|
+
PI_8: qn,
|
|
31
|
+
TWO_PI: _n,
|
|
32
32
|
EPSILON: gt,
|
|
33
33
|
NumericArray: Le,
|
|
34
|
-
NumericArrayHighP:
|
|
35
|
-
FLOAT_MAX:
|
|
36
|
-
checkPowerOfTwo:
|
|
34
|
+
NumericArrayHighP: $n,
|
|
35
|
+
FLOAT_MAX: es,
|
|
36
|
+
checkPowerOfTwo: ts,
|
|
37
37
|
checkZero: fe,
|
|
38
38
|
isZero: b,
|
|
39
39
|
equals: E,
|
|
40
40
|
degreesToRadians: We,
|
|
41
|
-
radiansToDegrees:
|
|
42
|
-
sin:
|
|
43
|
-
cos:
|
|
44
|
-
tan:
|
|
45
|
-
cotan:
|
|
46
|
-
atan:
|
|
47
|
-
atan2:
|
|
48
|
-
random:
|
|
49
|
-
seededRandom:
|
|
50
|
-
max:
|
|
51
|
-
min:
|
|
52
|
-
abs:
|
|
53
|
-
sqrt:
|
|
41
|
+
radiansToDegrees: ti,
|
|
42
|
+
sin: rs,
|
|
43
|
+
cos: is,
|
|
44
|
+
tan: ri,
|
|
45
|
+
cotan: ns,
|
|
46
|
+
atan: ss,
|
|
47
|
+
atan2: os,
|
|
48
|
+
random: as,
|
|
49
|
+
seededRandom: hs,
|
|
50
|
+
max: As,
|
|
51
|
+
min: fs,
|
|
52
|
+
abs: ls,
|
|
53
|
+
sqrt: cs,
|
|
54
54
|
lerp: J,
|
|
55
|
-
square:
|
|
55
|
+
square: gs
|
|
56
56
|
}, ce = (t, e) => {
|
|
57
57
|
if (t.length != e.length) throw new Error("Invalid vector length in operation");
|
|
58
58
|
};
|
|
@@ -798,7 +798,7 @@ class w extends Le {
|
|
|
798
798
|
return this[0] = 0, this[1] = 0, this[2] = 0, this[3] = 0, this[4] = 0, this[5] = 0, this[6] = 0, this[7] = 0, this[8] = 0, this[9] = 0, this[10] = 0, this[11] = 0, this[12] = 0, this[13] = 0, this[14] = 0, this[15] = 0, this;
|
|
799
799
|
}
|
|
800
800
|
perspective(e, r, i, n) {
|
|
801
|
-
let s = Math.tan(e *
|
|
801
|
+
let s = Math.tan(e * _r / 360) * i, o = s * r;
|
|
802
802
|
return this.frustum(-o, o, -s, s, i, n), this;
|
|
803
803
|
}
|
|
804
804
|
frustum(e, r, i, n, s, o) {
|
|
@@ -1206,7 +1206,7 @@ class w extends Le {
|
|
|
1206
1206
|
return E(e[0], 1) && E(e[1], 0) && E(e[2], 0) && E(e[3], 0) && E(e[4], 0) && E(e[5], 1) && E(e[6], 0) && E(e[7], 0) && E(e[8], 0) && E(e[9], 0) && E(e[10], 1) && E(e[11], 0) && E(e[12], 0) && E(e[13], 0) && E(e[14], 0) && E(e[15], 1);
|
|
1207
1207
|
}
|
|
1208
1208
|
}
|
|
1209
|
-
class
|
|
1209
|
+
class ds extends h {
|
|
1210
1210
|
constructor(e, r, i, n) {
|
|
1211
1211
|
if (super(0, 0, 0, 0), e === void 0)
|
|
1212
1212
|
this.setValue(0, 0, 0, 0);
|
|
@@ -1236,7 +1236,7 @@ class vs extends h {
|
|
|
1236
1236
|
return this[0] = r * Math.sin(e / 2), this[1] = i * Math.sin(e / 2), this[2] = n * Math.sin(e / 2), this[3] = Math.cos(e / 2), this;
|
|
1237
1237
|
}
|
|
1238
1238
|
}
|
|
1239
|
-
class
|
|
1239
|
+
class ii {
|
|
1240
1240
|
constructor(e = null) {
|
|
1241
1241
|
if (e !== null && !(e instanceof w))
|
|
1242
1242
|
throw Error("MatrixStrategy: invalid target object. Target object must be of type bg.math.Mat4");
|
|
@@ -1302,20 +1302,20 @@ class ni {
|
|
|
1302
1302
|
}
|
|
1303
1303
|
C[0] = 128, C[1] = 32768, C[2] = 8388608, C[3] = -2147483648, D[0] = 0, D[1] = 8, D[2] = 16, D[3] = 24, t.md5 = t.md5 || n;
|
|
1304
1304
|
})(typeof global > "u" ? window : global);
|
|
1305
|
-
const
|
|
1305
|
+
const ni = (t) => md5(t), Pt = () => {
|
|
1306
1306
|
let t = (/* @__PURE__ */ new Date()).getTime();
|
|
1307
1307
|
return typeof performance < "u" && typeof performance.now == "function" && (t += performance.now()), "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
|
|
1308
1308
|
var r = (t + Math.random() * 16) % 16 | 0;
|
|
1309
1309
|
return t = Math.floor(t / 16), (e === "x" ? r : r & 3 | 8).toString(16);
|
|
1310
1310
|
});
|
|
1311
|
-
},
|
|
1311
|
+
}, ws = () => {
|
|
1312
1312
|
const t = new Uint32Array(1);
|
|
1313
1313
|
return t[0] = 255, t[3] === 255;
|
|
1314
|
-
},
|
|
1314
|
+
}, vs = () => {
|
|
1315
1315
|
const t = new Uint32Array(1);
|
|
1316
1316
|
return t[0] = 255, t[0] === 255;
|
|
1317
1317
|
};
|
|
1318
|
-
class
|
|
1318
|
+
class ms {
|
|
1319
1319
|
constructor(e) {
|
|
1320
1320
|
this.system = {
|
|
1321
1321
|
OSX: !1,
|
|
@@ -1433,8 +1433,8 @@ class Bs {
|
|
|
1433
1433
|
return navigator.userAgent;
|
|
1434
1434
|
}
|
|
1435
1435
|
}
|
|
1436
|
-
var
|
|
1437
|
-
const
|
|
1436
|
+
var si = /* @__PURE__ */ ((t) => (t[t.BROWSER = 0] = "BROWSER", t[t.NODE = 1] = "NODE", t))(si || {}), oi = /* @__PURE__ */ ((t) => (t.BROWSER = "Browser", t.NODE = "Node", t))(oi || {});
|
|
1437
|
+
const Ps = (t) => {
|
|
1438
1438
|
switch (t) {
|
|
1439
1439
|
case 0:
|
|
1440
1440
|
return "Browser";
|
|
@@ -1443,11 +1443,7 @@ const Cs = (t) => {
|
|
|
1443
1443
|
default:
|
|
1444
1444
|
return "Browser";
|
|
1445
1445
|
}
|
|
1446
|
-
}, ar = () =>
|
|
1447
|
-
if (hr() || hi())
|
|
1448
|
-
return new Uint8Array(atob(t).split("").map((e) => e.charCodeAt(0)));
|
|
1449
|
-
throw new Error("base64ToArrayBuffer: Unsupported platform. Valid platforms are NodeJS or Browser");
|
|
1450
|
-
};
|
|
1446
|
+
}, ar = () => 0, Bs = () => ar() === 0, Cs = () => ar() === 1, ps = async (t) => new Uint8Array(atob(t).split("").map((e) => e.charCodeAt(0)));
|
|
1451
1447
|
class Ze {
|
|
1452
1448
|
set writeStrategy(e) {
|
|
1453
1449
|
this._writeStrategy = e;
|
|
@@ -1464,9 +1460,7 @@ class Ze {
|
|
|
1464
1460
|
case 0:
|
|
1465
1461
|
return this.writeStrategy.writeBytes(e, r);
|
|
1466
1462
|
case 1:
|
|
1467
|
-
|
|
1468
|
-
return this.writeStrategy.writeImage(e, r);
|
|
1469
|
-
throw new Error("ResourceProvider.write() unsupported data format: Image data format is supported only on browsers or electron renderer process.");
|
|
1463
|
+
return this.writeStrategy.writeImage(e, r);
|
|
1470
1464
|
case 2:
|
|
1471
1465
|
const n = await ps(r);
|
|
1472
1466
|
return this.writeStrategy.writeBytes(e, n);
|
|
@@ -1497,7 +1491,7 @@ const Gt = (t) => {
|
|
|
1497
1491
|
Gt(s.target), i(new Error(`Image load aborted '${t}'.`));
|
|
1498
1492
|
}), n.src = t + (e ? `?${Pt()}` : "");
|
|
1499
1493
|
});
|
|
1500
|
-
class
|
|
1494
|
+
class ai extends Ze {
|
|
1501
1495
|
async load(e) {
|
|
1502
1496
|
return await Ds(e, !1);
|
|
1503
1497
|
}
|
|
@@ -1516,7 +1510,7 @@ const Ut = (t) => {
|
|
|
1516
1510
|
Ut(n.target), r(new Error(`Video load aborted '${t}'`));
|
|
1517
1511
|
}), i.src = t;
|
|
1518
1512
|
});
|
|
1519
|
-
class
|
|
1513
|
+
class hi extends Ze {
|
|
1520
1514
|
async load(e) {
|
|
1521
1515
|
return await bs(e);
|
|
1522
1516
|
}
|
|
@@ -1524,7 +1518,7 @@ class fi extends Ze {
|
|
|
1524
1518
|
throw new Error("VideoResourceProvider.write(): not supported");
|
|
1525
1519
|
}
|
|
1526
1520
|
}
|
|
1527
|
-
class
|
|
1521
|
+
class Ai extends Ze {
|
|
1528
1522
|
async load(e) {
|
|
1529
1523
|
const r = await fetch(e);
|
|
1530
1524
|
if (r.ok)
|
|
@@ -1532,7 +1526,7 @@ class li extends Ze {
|
|
|
1532
1526
|
throw new Error(`Resource not found at '${e}'`);
|
|
1533
1527
|
}
|
|
1534
1528
|
}
|
|
1535
|
-
class
|
|
1529
|
+
class fi extends Ze {
|
|
1536
1530
|
async load(e) {
|
|
1537
1531
|
const r = await fetch(e);
|
|
1538
1532
|
if (r.ok) {
|
|
@@ -1553,37 +1547,37 @@ var M = /* @__PURE__ */ ((t) => (t.PolyList = "PolyList", t.Drawable = "Drawable
|
|
|
1553
1547
|
const Es = (t) => {
|
|
1554
1548
|
const e = /\.([a-z0-9]+)$/i.exec(t);
|
|
1555
1549
|
return e ? e[1] : "";
|
|
1556
|
-
},
|
|
1550
|
+
}, hr = (t) => {
|
|
1557
1551
|
const e = /(.+)\/(.+)$/.exec(t);
|
|
1558
1552
|
return e ? e[2] : t;
|
|
1559
|
-
},
|
|
1553
|
+
}, Ar = (t) => {
|
|
1560
1554
|
const e = /(.+)\.(.+)$/.exec(t);
|
|
1561
1555
|
return e ? e[1] : t;
|
|
1562
|
-
},
|
|
1556
|
+
}, li = (t) => {
|
|
1563
1557
|
const e = t.lastIndexOf("/");
|
|
1564
1558
|
return e != -1 ? t.substring(0, e + 1) : t;
|
|
1565
|
-
}, xs = (t) => /^http|^\//i.test(t),
|
|
1559
|
+
}, xs = (t) => /^http|^\//i.test(t), ci = (t, e) => t[t.length - 1] !== "/" && e[0] !== "/" ? `${t}/${e}` : t[t.length - 1] === "/" && e[0] !== "/" || t[t.length - 1] !== "/" && e[0] === "/" ? `${t}${e}` : `${t}${e.slice(1)}`, Bt = (t, e) => e.some((r) => new RegExp(`.${r}`, "i").test(t)), Ct = (t, e) => {
|
|
1566
1560
|
Array.isArray(t) || (t = [t]), t.forEach((r) => {
|
|
1567
1561
|
e.indexOf(r) === -1 && e.push(r);
|
|
1568
1562
|
});
|
|
1569
|
-
},
|
|
1563
|
+
}, fr = [
|
|
1570
1564
|
"jpg",
|
|
1571
1565
|
"jpeg",
|
|
1572
1566
|
"gif",
|
|
1573
1567
|
"png"
|
|
1574
|
-
],
|
|
1575
|
-
Ct(t,
|
|
1576
|
-
}, Ts = () =>
|
|
1568
|
+
], gi = (t) => Bt(t, fr), Qs = (t) => {
|
|
1569
|
+
Ct(t, fr);
|
|
1570
|
+
}, Ts = () => fr, lr = [
|
|
1577
1571
|
"mp4",
|
|
1578
1572
|
"m4v"
|
|
1579
|
-
],
|
|
1580
|
-
Ct(t,
|
|
1581
|
-
}, Ms = () =>
|
|
1573
|
+
], ui = (t) => Bt(t, lr), ys = (t) => {
|
|
1574
|
+
Ct(t, lr);
|
|
1575
|
+
}, Ms = () => lr, cr = [
|
|
1582
1576
|
"vwglb",
|
|
1583
1577
|
"bg2"
|
|
1584
|
-
],
|
|
1585
|
-
Ct(t,
|
|
1586
|
-
}, Hs = () =>
|
|
1578
|
+
], di = (t) => Bt(t, cr), Ns = (t) => {
|
|
1579
|
+
Ct(t, cr);
|
|
1580
|
+
}, Hs = () => cr;
|
|
1587
1581
|
class qe {
|
|
1588
1582
|
constructor({
|
|
1589
1583
|
imageProvider: e = null,
|
|
@@ -1592,7 +1586,7 @@ class qe {
|
|
|
1592
1586
|
textProvider: n = null,
|
|
1593
1587
|
writeStrategy: s = void 0
|
|
1594
1588
|
} = {}) {
|
|
1595
|
-
this._imageProvider = e || new
|
|
1589
|
+
this._imageProvider = e || new ai(), this._videoProvider = r || new hi(), this._binaryProvider = i || new Ai(), this._textProvider = n || new fi(), s && (this.writeStrategy = s);
|
|
1596
1590
|
}
|
|
1597
1591
|
set writeStrategy(e) {
|
|
1598
1592
|
this._writeStrategy = e, e && (this._imageProvider.writeStrategy = e, this._videoProvider.writeStrategy = e, this._binaryProvider.writeStrategy = e, this._textProvider.writeStrategy = e);
|
|
@@ -1602,11 +1596,11 @@ class qe {
|
|
|
1602
1596
|
}
|
|
1603
1597
|
getProvider(e) {
|
|
1604
1598
|
switch (!0) {
|
|
1605
|
-
case
|
|
1599
|
+
case gi(e):
|
|
1606
1600
|
return this._imageProvider;
|
|
1607
|
-
case
|
|
1601
|
+
case ui(e):
|
|
1608
1602
|
return this._videoProvider;
|
|
1609
|
-
case
|
|
1603
|
+
case di(e):
|
|
1610
1604
|
return this._binaryProvider;
|
|
1611
1605
|
default:
|
|
1612
1606
|
return this._textProvider;
|
|
@@ -1621,33 +1615,33 @@ class qe {
|
|
|
1621
1615
|
}
|
|
1622
1616
|
const zs = {
|
|
1623
1617
|
generateUUID: Pt,
|
|
1624
|
-
generateMD5:
|
|
1625
|
-
isBigEndian:
|
|
1626
|
-
isLittleEndian:
|
|
1627
|
-
UserAgent:
|
|
1618
|
+
generateMD5: ni,
|
|
1619
|
+
isBigEndian: ws,
|
|
1620
|
+
isLittleEndian: vs,
|
|
1621
|
+
UserAgent: ms,
|
|
1628
1622
|
Resource: qe,
|
|
1629
1623
|
isFormat: Bt,
|
|
1630
1624
|
addFormats: Ct,
|
|
1631
|
-
isValidImage:
|
|
1625
|
+
isValidImage: gi,
|
|
1632
1626
|
addImageFormats: Qs,
|
|
1633
1627
|
getValidImageFormats: Ts,
|
|
1634
|
-
isValidVideo:
|
|
1628
|
+
isValidVideo: ui,
|
|
1635
1629
|
addVideoFormats: ys,
|
|
1636
1630
|
getValidVideoFormats: Ms,
|
|
1637
|
-
isValidBinary:
|
|
1631
|
+
isValidBinary: di,
|
|
1638
1632
|
addBinaryFormats: Ns,
|
|
1639
1633
|
getValidBinaryFormats: Hs,
|
|
1640
1634
|
ResourceProvider: Ze,
|
|
1641
|
-
ImageResourceProvider:
|
|
1642
|
-
VideoResourceProvider:
|
|
1643
|
-
BinaryResourceProvider:
|
|
1644
|
-
TextResourceProvider:
|
|
1645
|
-
ProcessType:
|
|
1646
|
-
ProcessTypeName:
|
|
1635
|
+
ImageResourceProvider: ai,
|
|
1636
|
+
VideoResourceProvider: hi,
|
|
1637
|
+
BinaryResourceProvider: Ai,
|
|
1638
|
+
TextResourceProvider: fi,
|
|
1639
|
+
ProcessType: si,
|
|
1640
|
+
ProcessTypeName: oi,
|
|
1647
1641
|
getProcessType: ar,
|
|
1648
|
-
getProcessTypeName:
|
|
1649
|
-
isBrowser:
|
|
1650
|
-
isNode:
|
|
1642
|
+
getProcessTypeName: Ps,
|
|
1643
|
+
isBrowser: Bs,
|
|
1644
|
+
isNode: Cs
|
|
1651
1645
|
};
|
|
1652
1646
|
class pt {
|
|
1653
1647
|
// Returns an array of valid file extensions for this plugin
|
|
@@ -1805,10 +1799,10 @@ class p extends h {
|
|
|
1805
1799
|
return Te(e), new p([e[0] / r, e[1] / r, e[2] / r, e[3] / r]);
|
|
1806
1800
|
}
|
|
1807
1801
|
}
|
|
1808
|
-
var
|
|
1809
|
-
const
|
|
1802
|
+
var wi = /* @__PURE__ */ ((t) => (t[t.VERTEX = 1] = "VERTEX", t[t.NORMAL = 2] = "NORMAL", t[t.TEX_COORD_0 = 4] = "TEX_COORD_0", t[t.TEX_COORD_1 = 8] = "TEX_COORD_1", t[t.TEX_COORD_2 = 16] = "TEX_COORD_2", t[t.COLOR = 32] = "COLOR", t[t.TANGENT = 64] = "TANGENT", t[t.INDEX = 128] = "INDEX", t))(wi || {}), ae = /* @__PURE__ */ ((t) => (t[t.POINTS = 0] = "POINTS", t[t.TRIANGLES = 1] = "TRIANGLES", t[t.TRIANGLE_FAN = 2] = "TRIANGLE_FAN", t[t.TRIANGLE_STRIP = 3] = "TRIANGLE_STRIP", t[t.LINES = 4] = "LINES", t[t.LINE_STRIP = 5] = "LINE_STRIP", t))(ae || {}), k = /* @__PURE__ */ ((t) => (t[t.LAYER_0 = 1] = "LAYER_0", t[t.OPAQUE_DEFAULT = 1] = "OPAQUE_DEFAULT", t[t.LAYER_1 = 2] = "LAYER_1", t[t.LAYER_2 = 4] = "LAYER_2", t[t.LAYER_3 = 8] = "LAYER_3", t[t.LAYER_4 = 16] = "LAYER_4", t[t.LAYER_5 = 32] = "LAYER_5", t[t.LAYER_6 = 64] = "LAYER_6", t[t.LAYER_7 = 128] = "LAYER_7", t[t.LAYER_8 = 256] = "LAYER_8", t[t.LAYER_9 = 512] = "LAYER_9", t[t.LAYER_10 = 1024] = "LAYER_10", t[t.LAYER_11 = 2048] = "LAYER_11", t[t.LAYER_12 = 4096] = "LAYER_12", t[t.LAYER_13 = 8192] = "LAYER_13", t[t.LAYER_14 = 16384] = "LAYER_14", t[t.LAYER_15 = 32768] = "LAYER_15", t[t.TRANSPARENT_DEFAULT = 32768] = "TRANSPARENT_DEFAULT", t[t.LAYER_16 = 65536] = "LAYER_16", t[t.LAYER_17 = 131072] = "LAYER_17", t[t.LAYER_18 = 262144] = "LAYER_18", t[t.LAYER_19 = 524288] = "LAYER_19", t[t.LAYER_20 = 1048576] = "LAYER_20", t[t.LAYER_21 = 2097152] = "LAYER_21", t[t.LAYER_22 = 4194304] = "LAYER_22", t[t.LAYER_23 = 8388608] = "LAYER_23", t[t.LAYER_24 = 16777216] = "LAYER_24", t[t.LAYER_25 = 33554432] = "LAYER_25", t[t.LAYER_26 = 67108864] = "LAYER_26", t[t.LAYER_27 = 134217728] = "LAYER_27", t[t.LAYER_28 = 268435456] = "LAYER_28", t[t.LAYER_29 = 536870912] = "LAYER_29", t[t.LAYER_30 = 1073741824] = "LAYER_30", t[t.LAYER_31 = -2147483648] = "LAYER_31", t[t.SELECTION_DEFAULT = -2147483648] = "SELECTION_DEFAULT", t[t.ALL = 4294967295] = "ALL", t[t.AUTO = 0] = "AUTO", t))(k || {});
|
|
1803
|
+
const vi = (t, e) => t.renderLayers === 0 ? (e.isTransparent ? 32768 : 1) | -2147483648 : t.renderLayers;
|
|
1810
1804
|
var ut = /* @__PURE__ */ ((t) => (t[t.CW = 0] = "CW", t[t.CCW = 1] = "CCW", t))(ut || {}), De = /* @__PURE__ */ ((t) => (t[t.FRONT = 0] = "FRONT", t[t.BACK = 1] = "BACK", t[t.FRONT_AND_BACK = 2] = "FRONT_AND_BACK", t))(De || {});
|
|
1811
|
-
function
|
|
1805
|
+
function yr(t) {
|
|
1812
1806
|
const e = [], r = (s) => ({
|
|
1813
1807
|
pos: new h(t.vertex[s] * 3, t.vertex[s + 1] * 3, t.vertex[s + 2] * 3),
|
|
1814
1808
|
uv: new h(t.texCoord0[s] * 2, t.texCoord0[s + 1] * 2)
|
|
@@ -1975,10 +1969,10 @@ class de {
|
|
|
1975
1969
|
return this._renderer;
|
|
1976
1970
|
}
|
|
1977
1971
|
rebuildTangents() {
|
|
1978
|
-
|
|
1972
|
+
yr(this);
|
|
1979
1973
|
}
|
|
1980
1974
|
get tangent() {
|
|
1981
|
-
return this.validTangents ||
|
|
1975
|
+
return this.validTangents || yr(this), this._tangent;
|
|
1982
1976
|
}
|
|
1983
1977
|
get validTangents() {
|
|
1984
1978
|
return this._tangent !== void 0 && this._tangent.length === this._vertex.length && this._tangent.length / 3 === this._texCoord0.length / 2;
|
|
@@ -2004,16 +1998,16 @@ const Ls = (t, e = "image/jpeg") => {
|
|
|
2004
1998
|
if (r.height = t.naturalHeight, r.width = t.naturalWidth, i === null)
|
|
2005
1999
|
throw new Error("Could not get canvas 2D context");
|
|
2006
2000
|
return i.drawImage(t, 0, 0), r.toDataURL(e);
|
|
2007
|
-
},
|
|
2001
|
+
}, mi = (t) => {
|
|
2008
2002
|
const e = Ls(t);
|
|
2009
|
-
return
|
|
2010
|
-
},
|
|
2003
|
+
return ni(e);
|
|
2004
|
+
}, Pi = (t, e) => {
|
|
2011
2005
|
const r = e.domElement.getBoundingClientRect();
|
|
2012
2006
|
return {
|
|
2013
2007
|
x: t.clientX - r.left,
|
|
2014
2008
|
y: t.clientY - r.top
|
|
2015
2009
|
};
|
|
2016
|
-
},
|
|
2010
|
+
}, Bi = (t, e) => {
|
|
2017
2011
|
const r = e.domElement.getBoundingClientRect();
|
|
2018
2012
|
return Array.from(t.touches).map((n) => ({
|
|
2019
2013
|
identifier: n.identifier,
|
|
@@ -2075,7 +2069,7 @@ class _e {
|
|
|
2075
2069
|
}
|
|
2076
2070
|
}
|
|
2077
2071
|
var Qe = /* @__PURE__ */ ((t) => (t[t.NONE = 0] = "NONE", t[t.IMAGE = 1] = "IMAGE", t[t.IMAGE_DATA = 2] = "IMAGE_DATA", t[t.CUBEMAP = 3] = "CUBEMAP", t[t.CUBEMAP_DATA = 4] = "CUBEMAP_DATA", t[t.VIDEO = 5] = "VIDEO", t[t.PROCEDURAL = 6] = "PROCEDURAL", t[t.RENDER_TARGET = 7] = "RENDER_TARGET", t))(Qe || {}), U = /* @__PURE__ */ ((t) => (t[t.REPEAT = 0] = "REPEAT", t[t.CLAMP = 1] = "CLAMP", t[t.MIRRORED_REPEAT = 2] = "MIRRORED_REPEAT", t))(U || {}), q = /* @__PURE__ */ ((t) => (t[t.NEAREST_MIPMAP_NEAREST = 0] = "NEAREST_MIPMAP_NEAREST", t[t.LINEAR_MIPMAP_NEAREST = 1] = "LINEAR_MIPMAP_NEAREST", t[t.NEAREST_MIPMAP_LINEAR = 2] = "NEAREST_MIPMAP_LINEAR", t[t.LINEAR_MIPMAP_LINEAR = 3] = "LINEAR_MIPMAP_LINEAR", t[t.NEAREST = 4] = "NEAREST", t[t.LINEAR = 5] = "LINEAR", t))(q || {}), $ = /* @__PURE__ */ ((t) => (t[t.TEXTURE_2D = 0] = "TEXTURE_2D", t[t.CUBE_MAP = 1] = "CUBE_MAP", t))($ || {}), Pe = /* @__PURE__ */ ((t) => (t[t.PLAIN_COLOR = 0] = "PLAIN_COLOR", t[t.RANDOM_NOISE = 1] = "RANDOM_NOISE", t[t.DYNAMIC_CUBEMAP = 2] = "DYNAMIC_CUBEMAP", t[t.FROM_BASE64 = 3] = "FROM_BASE64", t[t.CANVAS_2D = 4] = "CANVAS_2D", t))(Pe || {}), Y = /* @__PURE__ */ ((t) => (t[t.COLOR_ATTACHMENT_0 = 0] = "COLOR_ATTACHMENT_0", t[t.COLOR_ATTACHMENT_1 = 1] = "COLOR_ATTACHMENT_1", t[t.COLOR_ATTACHMENT_2 = 2] = "COLOR_ATTACHMENT_2", t[t.COLOR_ATTACHMENT_3 = 3] = "COLOR_ATTACHMENT_3", t[t.COLOR_ATTACHMENT_4 = 4] = "COLOR_ATTACHMENT_4", t[t.COLOR_ATTACHMENT_5 = 5] = "COLOR_ATTACHMENT_5", t[t.COLOR_ATTACHMENT_6 = 6] = "COLOR_ATTACHMENT_6", t[t.COLOR_ATTACHMENT_7 = 7] = "COLOR_ATTACHMENT_7", t[t.COLOR_ATTACHMENT_8 = 8] = "COLOR_ATTACHMENT_8", t[t.COLOR_ATTACHMENT_9 = 9] = "COLOR_ATTACHMENT_9", t[t.COLOR_ATTACHMENT_10 = 10] = "COLOR_ATTACHMENT_10", t[t.COLOR_ATTACHMENT_11 = 11] = "COLOR_ATTACHMENT_11", t[t.COLOR_ATTACHMENT_12 = 12] = "COLOR_ATTACHMENT_12", t[t.COLOR_ATTACHMENT_13 = 13] = "COLOR_ATTACHMENT_13", t[t.COLOR_ATTACHMENT_14 = 14] = "COLOR_ATTACHMENT_14", t[t.COLOR_ATTACHMENT_15 = 15] = "COLOR_ATTACHMENT_15", t[t.DEPTH_ATTACHMENT = 100] = "DEPTH_ATTACHMENT", t[t.STENCIL_ATTACHMENT = 200] = "STENCIL_ATTACHMENT", t))(Y || {}), ie = /* @__PURE__ */ ((t) => (t[t.UNSIGNED_BYTE = 0] = "UNSIGNED_BYTE", t[t.FLOAT32 = 1] = "FLOAT32", t))(ie || {}), y = /* @__PURE__ */ ((t) => (t[t.R = 1] = "R", t[t.G = 2] = "G", t[t.B = 3] = "B", t[t.A = 4] = "A", t))(y || {});
|
|
2078
|
-
const
|
|
2072
|
+
const Ci = Object.freeze({
|
|
2079
2073
|
0: "NONE",
|
|
2080
2074
|
1: "IMAGE",
|
|
2081
2075
|
2: "IMAGE_DATA",
|
|
@@ -2084,11 +2078,11 @@ const Di = Object.freeze({
|
|
|
2084
2078
|
5: "VIDEO",
|
|
2085
2079
|
6: "PROCEDURAL",
|
|
2086
2080
|
7: "RENDER_TARGET"
|
|
2087
|
-
}),
|
|
2081
|
+
}), pi = Object.freeze({
|
|
2088
2082
|
0: "REPEAT",
|
|
2089
2083
|
1: "CLAMP",
|
|
2090
2084
|
2: "MIRRORED_REPEAT"
|
|
2091
|
-
}),
|
|
2085
|
+
}), Di = Object.freeze({
|
|
2092
2086
|
0: "NEAREST_MIPMAP_NEAREST",
|
|
2093
2087
|
1: "LINEAR_MIPMAP_NEAREST",
|
|
2094
2088
|
2: "NEAREST_MIPMAP_LINEAR",
|
|
@@ -2098,7 +2092,7 @@ const Di = Object.freeze({
|
|
|
2098
2092
|
}), Be = Object.freeze({
|
|
2099
2093
|
0: "TEXTURE_2D",
|
|
2100
2094
|
1: "CUBE_MAP"
|
|
2101
|
-
}),
|
|
2095
|
+
}), bi = Object.freeze({
|
|
2102
2096
|
0: "PLAIN_COLOR",
|
|
2103
2097
|
1: "RANDOM_NOISE",
|
|
2104
2098
|
2: "DYNAMIC_CUBEMAP",
|
|
@@ -2123,10 +2117,10 @@ const Di = Object.freeze({
|
|
|
2123
2117
|
15: "COLOR_ATTACHMENT_15",
|
|
2124
2118
|
100: "DEPTH_ATTACHMENT",
|
|
2125
2119
|
200: "STENCIL_ATTACHMENT"
|
|
2126
|
-
}),
|
|
2120
|
+
}), Ei = Object.freeze({
|
|
2127
2121
|
0: "UNSIGNED_BYTE",
|
|
2128
2122
|
1: "FLOAT32"
|
|
2129
|
-
}),
|
|
2123
|
+
}), xi = Object.freeze({
|
|
2130
2124
|
1: "R",
|
|
2131
2125
|
2: "G",
|
|
2132
2126
|
3: "B",
|
|
@@ -2141,10 +2135,10 @@ const kt = {}, Is = async (t) => (Xt || (Xt = new qe()), kt[t] ? console.log(`Im
|
|
|
2141
2135
|
const o = new Image();
|
|
2142
2136
|
await new Promise((f) => {
|
|
2143
2137
|
o.onload = () => {
|
|
2144
|
-
o._hash =
|
|
2138
|
+
o._hash = mi(o), f();
|
|
2145
2139
|
}, o.src = n.toDataURL();
|
|
2146
2140
|
}), e(o);
|
|
2147
|
-
})), kt[t]),
|
|
2141
|
+
})), kt[t]), Mr = async (t) => {
|
|
2148
2142
|
const r = await new Promise((a) => {
|
|
2149
2143
|
const f = new Image();
|
|
2150
2144
|
f.onload = () => {
|
|
@@ -2157,33 +2151,33 @@ const kt = {}, Is = async (t) => (Xt || (Xt = new qe()), kt[t] ? console.log(`Im
|
|
|
2157
2151
|
const s = new Image();
|
|
2158
2152
|
return await new Promise((a) => {
|
|
2159
2153
|
s.onload = () => {
|
|
2160
|
-
s._hash =
|
|
2154
|
+
s._hash = mi(s), a();
|
|
2161
2155
|
}, s.src = i.toDataURL("image/png");
|
|
2162
2156
|
}), s;
|
|
2163
2157
|
};
|
|
2164
|
-
function
|
|
2165
|
-
return
|
|
2158
|
+
function Qi(t) {
|
|
2159
|
+
return pi[t] || "UNKNOWN";
|
|
2166
2160
|
}
|
|
2167
2161
|
function Ss(t) {
|
|
2168
|
-
return
|
|
2162
|
+
return Ci[t] || "UNKNOWN";
|
|
2169
2163
|
}
|
|
2170
|
-
function
|
|
2171
|
-
return
|
|
2164
|
+
function Ti(t) {
|
|
2165
|
+
return Di[t] || "UNKNOWN";
|
|
2172
2166
|
}
|
|
2173
2167
|
function Rs(t) {
|
|
2174
2168
|
return Be[t] || "UNKNOWN";
|
|
2175
2169
|
}
|
|
2176
2170
|
function Os(t) {
|
|
2177
|
-
return
|
|
2171
|
+
return bi[t] || "UNKNOWN";
|
|
2178
2172
|
}
|
|
2179
2173
|
function Fs(t) {
|
|
2180
2174
|
return je[t] || "UNKNOWN";
|
|
2181
2175
|
}
|
|
2182
2176
|
function Gs(t) {
|
|
2183
|
-
return
|
|
2177
|
+
return Ei[t] || "UNKNOWN";
|
|
2184
2178
|
}
|
|
2185
2179
|
function Us(t) {
|
|
2186
|
-
return
|
|
2180
|
+
return xi[t] || "UNKNOWN";
|
|
2187
2181
|
}
|
|
2188
2182
|
class x {
|
|
2189
2183
|
constructor(e = null) {
|
|
@@ -2353,7 +2347,7 @@ class x {
|
|
|
2353
2347
|
return;
|
|
2354
2348
|
if (!/;base64/i.test(this.proceduralParameters?.imageData))
|
|
2355
2349
|
throw new Error("Error generating procedural texture from base64 string. Invalid base64 image");
|
|
2356
|
-
this._imageData = await
|
|
2350
|
+
this._imageData = await Mr(this.proceduralParameters.imageData), this._size = new h(this._imageData.width, this._imageData.height), this._dirty = !0;
|
|
2357
2351
|
} else if (this.proceduralFunction == 4) {
|
|
2358
2352
|
if (this._imageData && e === !1)
|
|
2359
2353
|
return;
|
|
@@ -2361,7 +2355,7 @@ class x {
|
|
|
2361
2355
|
if (!/canvas/i.test(r?.tagName))
|
|
2362
2356
|
throw new Error("Error generating procedural texture from HTML canvas. Invalid 'canvas' parameter.");
|
|
2363
2357
|
const i = r.toDataURL();
|
|
2364
|
-
this._imageData = await
|
|
2358
|
+
this._imageData = await Mr(i), this._size = new h(this._imageData.width, this._imageData.height), this._dirty = !0;
|
|
2365
2359
|
} else
|
|
2366
2360
|
throw new Error("Texture: loadImageData(): not implemented");
|
|
2367
2361
|
}
|
|
@@ -2813,10 +2807,10 @@ class V {
|
|
|
2813
2807
|
const Ye = {
|
|
2814
2808
|
VERTEX: 0,
|
|
2815
2809
|
FRAGMENT: 1
|
|
2816
|
-
},
|
|
2810
|
+
}, Nr = /* @__PURE__ */ new WeakMap();
|
|
2817
2811
|
function Xs(t) {
|
|
2818
|
-
let e =
|
|
2819
|
-
return e || (e = /* @__PURE__ */ Symbol(),
|
|
2812
|
+
let e = Nr.get(t);
|
|
2813
|
+
return e || (e = /* @__PURE__ */ Symbol(), Nr.set(t, e)), e;
|
|
2820
2814
|
}
|
|
2821
2815
|
class T {
|
|
2822
2816
|
destroy() {
|
|
@@ -3040,7 +3034,7 @@ ${e.getProgramInfoLog(this._program)}`);
|
|
|
3040
3034
|
${e.getProgramInfoLog(this._program)}`);
|
|
3041
3035
|
}
|
|
3042
3036
|
}
|
|
3043
|
-
const
|
|
3037
|
+
const Hr = {
|
|
3044
3038
|
webgl: {
|
|
3045
3039
|
vertex: `precision mediump float;
|
|
3046
3040
|
|
|
@@ -3089,14 +3083,14 @@ const zr = {
|
|
|
3089
3083
|
}`
|
|
3090
3084
|
}
|
|
3091
3085
|
};
|
|
3092
|
-
class
|
|
3086
|
+
class yi extends V {
|
|
3093
3087
|
constructor(e) {
|
|
3094
3088
|
if (super(e), this._program = null, e.typeId !== "WebGL")
|
|
3095
3089
|
throw Error("IrradianceMapCubeShader is only compatible with WebGL renderer");
|
|
3096
3090
|
}
|
|
3097
3091
|
async load() {
|
|
3098
3092
|
const { gl: e } = this.renderer;
|
|
3099
|
-
this._program = new T(e, "IrradianceMapCubeShader"), this._program.attachVertexSource(
|
|
3093
|
+
this._program = new T(e, "IrradianceMapCubeShader"), this._program.attachVertexSource(Hr.webgl.vertex), this._program.attachFragmentSource(Hr.webgl.fragment(0.1)), this._program.link();
|
|
3100
3094
|
}
|
|
3101
3095
|
setup(e, r, i, n, s) {
|
|
3102
3096
|
if (!this._program)
|
|
@@ -3112,7 +3106,7 @@ class Ni extends V {
|
|
|
3112
3106
|
this._program && (T.Delete(this._program), this._program = null);
|
|
3113
3107
|
}
|
|
3114
3108
|
}
|
|
3115
|
-
const
|
|
3109
|
+
const zr = {
|
|
3116
3110
|
webgl: {
|
|
3117
3111
|
vertex: `precision mediump float;
|
|
3118
3112
|
|
|
@@ -3204,7 +3198,7 @@ const Lr = {
|
|
|
3204
3198
|
}`
|
|
3205
3199
|
}
|
|
3206
3200
|
};
|
|
3207
|
-
class
|
|
3201
|
+
class Mi extends V {
|
|
3208
3202
|
constructor(e) {
|
|
3209
3203
|
if (super(e), this._roughness = 0.4, this._program = null, e.typeId !== "WebGL")
|
|
3210
3204
|
throw Error("SpecularMapCubeShader is only compatible with WebGL renderer");
|
|
@@ -3214,7 +3208,7 @@ class Hi extends V {
|
|
|
3214
3208
|
}
|
|
3215
3209
|
async load() {
|
|
3216
3210
|
const { gl: e } = this.renderer;
|
|
3217
|
-
this._roughness = 0.4, this._program = new T(e, "SpecularMapCubeShader"), this._program.attachVertexSource(
|
|
3211
|
+
this._roughness = 0.4, this._program = new T(e, "SpecularMapCubeShader"), this._program.attachVertexSource(zr.webgl.vertex), this._program.attachFragmentSource(zr.webgl.fragment(128, this._roughness)), this._program.link();
|
|
3218
3212
|
}
|
|
3219
3213
|
setup(e, r, i, n, s) {
|
|
3220
3214
|
if (!this._program)
|
|
@@ -4640,15 +4634,15 @@ function oo(t, e = 0.3, r = new h(0, 0, 1), i = new h(0, 1, 0)) {
|
|
|
4640
4634
|
5
|
|
4641
4635
|
], n;
|
|
4642
4636
|
}
|
|
4643
|
-
const
|
|
4637
|
+
const Ni = _s, gr = eo, ao = ro, ho = no, Ao = so, Hi = oo, fo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
4644
4638
|
__proto__: null,
|
|
4645
|
-
createArrow:
|
|
4639
|
+
createArrow: Hi,
|
|
4646
4640
|
createCone: ho,
|
|
4647
|
-
createCube:
|
|
4641
|
+
createCube: Ni,
|
|
4648
4642
|
createCylinder: ao,
|
|
4649
4643
|
createPlane: Ao,
|
|
4650
|
-
createSphere:
|
|
4651
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
4644
|
+
createSphere: gr
|
|
4645
|
+
}, Symbol.toStringTag, { value: "Module" })), Lr = {
|
|
4652
4646
|
webgl: {
|
|
4653
4647
|
vertex: `precision mediump float;
|
|
4654
4648
|
|
|
@@ -4676,14 +4670,14 @@ const zi = _s, ur = eo, ao = ro, ho = no, Ao = so, Li = oo, fo = /* @__PURE__ */
|
|
|
4676
4670
|
}`
|
|
4677
4671
|
}
|
|
4678
4672
|
};
|
|
4679
|
-
class
|
|
4673
|
+
class zi extends V {
|
|
4680
4674
|
constructor(e) {
|
|
4681
4675
|
if (super(e), this._program = null, e.typeId !== "WebGL")
|
|
4682
4676
|
throw Error("SkySphereShader is only compatible with WebGL renderer");
|
|
4683
4677
|
}
|
|
4684
4678
|
async load() {
|
|
4685
4679
|
const { gl: e } = this.renderer;
|
|
4686
|
-
this._program = new T(e, "SkySphereShader"), this._program.attachVertexSource(
|
|
4680
|
+
this._program = new T(e, "SkySphereShader"), this._program.attachVertexSource(Lr.webgl.vertex), this._program.attachFragmentSource(Lr.webgl.fragment), this._program.link();
|
|
4687
4681
|
}
|
|
4688
4682
|
setup(e, r, i, n, s) {
|
|
4689
4683
|
if (!this._program)
|
|
@@ -4779,7 +4773,7 @@ class Dt {
|
|
|
4779
4773
|
), this.polyListRenderer.draw(), this.renderer?.debugMode && console.log(`======= End render polyList "${this.polyListRenderer.polyList.name}" ==============`);
|
|
4780
4774
|
}
|
|
4781
4775
|
}
|
|
4782
|
-
class
|
|
4776
|
+
class ur {
|
|
4783
4777
|
constructor(e) {
|
|
4784
4778
|
this._renderer = e, this._texture = null, this._material = null, this._shader = null, this._plistRenderer = null, this._renderState = null;
|
|
4785
4779
|
}
|
|
@@ -4787,7 +4781,7 @@ class dr {
|
|
|
4787
4781
|
return this._renderer;
|
|
4788
4782
|
}
|
|
4789
4783
|
async load(e, r = null) {
|
|
4790
|
-
this._texture = new x(), e ? this._texture.fileName = e : (this._texture.magFilter = q.NEAREST, this._texture.minFilter = q.NEAREST, this._texture.wrapModeXY = U.REPEAT, this._texture.proceduralFunction = Pe.PLAIN_COLOR, this._texture.proceduralParameters = p.Black(), this._texture.size = [2, 2]), await this._texture.loadImageData(), this._material = new ne(), this._material.albedoTexture = this._texture, this._shader = r ? new r(this.renderer) : new
|
|
4784
|
+
this._texture = new x(), e ? this._texture.fileName = e : (this._texture.magFilter = q.NEAREST, this._texture.minFilter = q.NEAREST, this._texture.wrapModeXY = U.REPEAT, this._texture.proceduralFunction = Pe.PLAIN_COLOR, this._texture.proceduralParameters = p.Black(), this._texture.size = [2, 2]), await this._texture.loadImageData(), this._material = new ne(), this._material.albedoTexture = this._texture, this._shader = r ? new r(this.renderer) : new zi(this.renderer), await this._shader?.load();
|
|
4791
4785
|
}
|
|
4792
4786
|
async setTexture(e) {
|
|
4793
4787
|
if (!this._texture || !this._material)
|
|
@@ -4811,7 +4805,7 @@ class dr {
|
|
|
4811
4805
|
}
|
|
4812
4806
|
get polyListRenderer() {
|
|
4813
4807
|
if (!this._plistRenderer) {
|
|
4814
|
-
const e =
|
|
4808
|
+
const e = gr(3.5);
|
|
4815
4809
|
e.cullFace = De.FRONT, this._plistRenderer = this.renderer.factory.polyList(e);
|
|
4816
4810
|
}
|
|
4817
4811
|
return this._plistRenderer;
|
|
@@ -4836,7 +4830,7 @@ const Kt = async (t, e) => {
|
|
|
4836
4830
|
}), r?.draw();
|
|
4837
4831
|
});
|
|
4838
4832
|
};
|
|
4839
|
-
let
|
|
4833
|
+
let Li = class {
|
|
4840
4834
|
constructor(e) {
|
|
4841
4835
|
this._updated = !1, this._environmentMapResources = null, this._specularMapResources = null, this._irradianceMapResources = null, this._envMapSize = [512, 512], this._specMapSize = [128, 128], this._irrMapSize = [32, 32], this._renderer = e;
|
|
4842
4836
|
}
|
|
@@ -4865,9 +4859,9 @@ let Si = class {
|
|
|
4865
4859
|
const s = this.renderer.factory.skySphere();
|
|
4866
4860
|
await s.load(e || null), this._environmentMapResources.skyShape = s, this._specularMapResources = await Kt(this.renderer, i);
|
|
4867
4861
|
const o = this.renderer.factory.skyCube();
|
|
4868
|
-
o.load(this._environmentMapResources.texture,
|
|
4862
|
+
o.load(this._environmentMapResources.texture, Mi, [0.5]), this._specularMapResources.skyShape = o, this._irradianceMapResources = await Kt(this.renderer, n);
|
|
4869
4863
|
const a = this.renderer.factory.skyCube();
|
|
4870
|
-
await a.load(this._environmentMapResources.texture,
|
|
4864
|
+
await a.load(this._environmentMapResources.texture, yi), this._irradianceMapResources.skyShape = a, this._updated = !1;
|
|
4871
4865
|
}
|
|
4872
4866
|
destroy() {
|
|
4873
4867
|
this._environmentMapResources && Wt(this._environmentMapResources), this._specularMapResources && Wt(this._specularMapResources), this._irradianceMapResources && Wt(this._irradianceMapResources), this._updated = !1;
|
|
@@ -4876,10 +4870,10 @@ let Si = class {
|
|
|
4876
4870
|
this._environmentMapResources && Jt(this._environmentMapResources), this._specularMapResources && Jt(this._specularMapResources), this._irradianceMapResources && Jt(this._irradianceMapResources), this._updated = !0;
|
|
4877
4871
|
}
|
|
4878
4872
|
async reloadImage(e) {
|
|
4879
|
-
this._environmentMapResources && (this._environmentMapResources.skyShape instanceof
|
|
4873
|
+
this._environmentMapResources && (this._environmentMapResources.skyShape instanceof ur && await this._environmentMapResources.skyShape.setTexture(e), this._updated = !1);
|
|
4880
4874
|
}
|
|
4881
4875
|
};
|
|
4882
|
-
const
|
|
4876
|
+
const Ir = {
|
|
4883
4877
|
webgl: {
|
|
4884
4878
|
vertex: `precision mediump float;
|
|
4885
4879
|
|
|
@@ -4944,7 +4938,7 @@ class bt extends V {
|
|
|
4944
4938
|
}
|
|
4945
4939
|
async load() {
|
|
4946
4940
|
const { gl: e } = this.renderer;
|
|
4947
|
-
this._program = new T(e, "DefaultTextureMergerShader"), this._program.attachVertexSource(
|
|
4941
|
+
this._program = new T(e, "DefaultTextureMergerShader"), this._program.attachVertexSource(Ir.webgl.vertex), this._program.attachFragmentSource(Ir.webgl.fragment), this._program.link();
|
|
4948
4942
|
}
|
|
4949
4943
|
setTexture(e, r, i = y.R) {
|
|
4950
4944
|
if (r < y.R || r > y.A)
|
|
@@ -4972,7 +4966,7 @@ class bt extends V {
|
|
|
4972
4966
|
this._program.bindTexture("uTextureR", a, 0), this._program.bindTexture("uTextureG", f, 1), this._program.bindTexture("uTextureB", c, 2), this._program.bindTexture("uTextureA", d, 3), this._program.uniform1i("uRChannel", this._textureChannels[y.R] || 0), this._program.uniform1i("uGChannel", this._textureChannels[y.G] || 1), this._program.uniform1i("uBChannel", this._textureChannels[y.B] || 2), this._program.uniform1i("uAChannel", this._textureChannels[y.A] || 3), this._program.positionAttribPointer(e.positionAttribParams("position")), this._program.texCoordAttribPointer(e.texCoord0AttribParams("texCoord"));
|
|
4973
4967
|
}
|
|
4974
4968
|
}
|
|
4975
|
-
class
|
|
4969
|
+
class Ii {
|
|
4976
4970
|
constructor(e) {
|
|
4977
4971
|
this._renderer = e, this._shader = bt.GetUnique(this.renderer), this._dirty = !0, this._mergedTexture = new x(), this._mergedTexture.renderTargetAttachment = Y.COLOR_ATTACHMENT_0, this._mergedTexture.componentFormat = ie.UNSIGNED_BYTE, this._mergedTexture.wrapModeXY = U.REPEAT, this._renderBuffer = this.renderer.factory.renderBuffer(), this._renderBuffer.attachTexture(this._mergedTexture), this._shader.load();
|
|
4978
4972
|
}
|
|
@@ -5002,7 +4996,7 @@ class Ri {
|
|
|
5002
4996
|
}), this._dirty = !1);
|
|
5003
4997
|
}
|
|
5004
4998
|
}
|
|
5005
|
-
const
|
|
4999
|
+
const Sr = {
|
|
5006
5000
|
webgl: {
|
|
5007
5001
|
vertex: `precision mediump float;
|
|
5008
5002
|
|
|
@@ -5027,14 +5021,14 @@ const Rr = {
|
|
|
5027
5021
|
}`
|
|
5028
5022
|
}
|
|
5029
5023
|
};
|
|
5030
|
-
class
|
|
5024
|
+
class Si extends V {
|
|
5031
5025
|
constructor(e) {
|
|
5032
5026
|
if (super(e), this._program = null, e.typeId !== "WebGL")
|
|
5033
5027
|
throw Error("PresentTextureShader is only compatible with WebGL renderer");
|
|
5034
5028
|
}
|
|
5035
5029
|
async load() {
|
|
5036
5030
|
const { gl: e } = this.renderer;
|
|
5037
|
-
this._program = new T(e, "DefaultPresentTextureShader"), this._program.attachVertexSource(
|
|
5031
|
+
this._program = new T(e, "DefaultPresentTextureShader"), this._program.attachVertexSource(Sr.webgl.vertex), this._program.attachFragmentSource(Sr.webgl.fragment), this._program.link();
|
|
5038
5032
|
}
|
|
5039
5033
|
setup(e, r, i, n, s) {
|
|
5040
5034
|
if (!this._program)
|
|
@@ -5116,7 +5110,7 @@ class Et {
|
|
|
5116
5110
|
return this._presentTextureSurface;
|
|
5117
5111
|
}
|
|
5118
5112
|
async initPresentTextureShader() {
|
|
5119
|
-
return this._presentTextureShader || (this._presentTextureShader = new
|
|
5113
|
+
return this._presentTextureShader || (this._presentTextureShader = new Si(this), this._presentTextureShader.load()), this._presentTextureShader;
|
|
5120
5114
|
}
|
|
5121
5115
|
get presentTextureShader() {
|
|
5122
5116
|
return this._presentTextureShader;
|
|
@@ -5147,10 +5141,10 @@ class Et {
|
|
|
5147
5141
|
throw new Error("Calling base implementation of Renderer.skyCubeFactory()");
|
|
5148
5142
|
}
|
|
5149
5143
|
environmentFactory() {
|
|
5150
|
-
return new
|
|
5144
|
+
return new Li(this);
|
|
5151
5145
|
}
|
|
5152
5146
|
textureMergerFactory() {
|
|
5153
|
-
return new
|
|
5147
|
+
return new Ii(this);
|
|
5154
5148
|
}
|
|
5155
5149
|
pipelineFactory() {
|
|
5156
5150
|
throw new Error("Calling base implementation of Renderer.pipelineFactory()");
|
|
@@ -5222,10 +5216,10 @@ class Et {
|
|
|
5222
5216
|
return 1;
|
|
5223
5217
|
}
|
|
5224
5218
|
}
|
|
5225
|
-
const
|
|
5226
|
-
|
|
5219
|
+
const Ri = {}, ee = (t, e) => {
|
|
5220
|
+
Ri[t] = e;
|
|
5227
5221
|
}, lo = (t) => {
|
|
5228
|
-
const e =
|
|
5222
|
+
const e = Ri[t];
|
|
5229
5223
|
if (e)
|
|
5230
5224
|
try {
|
|
5231
5225
|
return new e();
|
|
@@ -5236,7 +5230,7 @@ const Fi = {}, ee = (t, e) => {
|
|
|
5236
5230
|
else
|
|
5237
5231
|
return console.debug(`Ignoring component with type id='${t}'. If this is not expected, check if the component is registered in the component factory.`), null;
|
|
5238
5232
|
return null;
|
|
5239
|
-
},
|
|
5233
|
+
}, Oi = async (t, e) => {
|
|
5240
5234
|
const r = lo(t.type);
|
|
5241
5235
|
return r ? (await r.deserialize(t, e), r) : null;
|
|
5242
5236
|
};
|
|
@@ -5340,7 +5334,7 @@ class se {
|
|
|
5340
5334
|
touchEnd(e) {
|
|
5341
5335
|
}
|
|
5342
5336
|
}
|
|
5343
|
-
class
|
|
5337
|
+
class dr {
|
|
5344
5338
|
syncArray() {
|
|
5345
5339
|
this._array = [];
|
|
5346
5340
|
for (const e in this._obj) {
|
|
@@ -5388,7 +5382,7 @@ class wr {
|
|
|
5388
5382
|
return this._array.filter(e);
|
|
5389
5383
|
}
|
|
5390
5384
|
clone(e) {
|
|
5391
|
-
const r = new
|
|
5385
|
+
const r = new dr(e);
|
|
5392
5386
|
return r.assign(this), r;
|
|
5393
5387
|
}
|
|
5394
5388
|
// Note: this function clones the components from 'other'
|
|
@@ -5403,7 +5397,7 @@ class wr {
|
|
|
5403
5397
|
this.syncArray();
|
|
5404
5398
|
}
|
|
5405
5399
|
}
|
|
5406
|
-
function
|
|
5400
|
+
function Fi(t, e) {
|
|
5407
5401
|
t._bindedRenderer = e, t.components.forEach((r) => {
|
|
5408
5402
|
r.bindRenderer(e);
|
|
5409
5403
|
});
|
|
@@ -5417,7 +5411,7 @@ async function co(t) {
|
|
|
5417
5411
|
}
|
|
5418
5412
|
class Ae {
|
|
5419
5413
|
constructor(e = "") {
|
|
5420
|
-
this._sceneChanged = !1, this._name = e, this._enabled = !0, this._steady = !1, this._components = new
|
|
5414
|
+
this._sceneChanged = !1, this._name = e, this._enabled = !0, this._steady = !1, this._components = new dr(this), this._parent = null, this._children = [];
|
|
5421
5415
|
}
|
|
5422
5416
|
get name() {
|
|
5423
5417
|
return this._name;
|
|
@@ -5486,7 +5480,7 @@ class Ae {
|
|
|
5486
5480
|
this._sceneChanged = !0, this._parent && this._parent.setSceneChanged();
|
|
5487
5481
|
}
|
|
5488
5482
|
addChild(e) {
|
|
5489
|
-
e._parent && e._parent.removeChild(e), e._parent = this, this._children.push(e), e.addedToNode(this), this._bindedRenderer &&
|
|
5483
|
+
e._parent && e._parent.removeChild(e), e._parent = this, this._children.push(e), e.addedToNode(this), this._bindedRenderer && Fi(e, this._bindedRenderer), this.setSceneChanged();
|
|
5490
5484
|
}
|
|
5491
5485
|
removeChild(e) {
|
|
5492
5486
|
if (e._parent === this) {
|
|
@@ -5597,36 +5591,36 @@ class Ae {
|
|
|
5597
5591
|
});
|
|
5598
5592
|
}
|
|
5599
5593
|
}
|
|
5600
|
-
const
|
|
5594
|
+
const Gi = async (t, e) => {
|
|
5601
5595
|
t.children = t.children || [], t.components = t.components || [];
|
|
5602
5596
|
const r = new Ae(t.name);
|
|
5603
5597
|
r.enabled = t.enabled !== void 0 ? t.enabled : !0, r.steady = t.steady !== void 0 ? t.steady : !1;
|
|
5604
5598
|
for (const i of t.components)
|
|
5605
5599
|
try {
|
|
5606
|
-
const n = await
|
|
5600
|
+
const n = await Oi(i, e);
|
|
5607
5601
|
n && r.addComponent(n);
|
|
5608
5602
|
} catch (n) {
|
|
5609
5603
|
console.warn(`Deserialization of node with name "${r.name}": ${n.message}`);
|
|
5610
5604
|
}
|
|
5611
5605
|
for (const i of t.children) {
|
|
5612
|
-
const n = await
|
|
5606
|
+
const n = await Gi(i, e);
|
|
5613
5607
|
r.addChild(n);
|
|
5614
5608
|
}
|
|
5615
5609
|
return r;
|
|
5616
|
-
},
|
|
5610
|
+
}, wr = {
|
|
5617
5611
|
BG2: "bg2"
|
|
5618
5612
|
};
|
|
5619
|
-
let
|
|
5620
|
-
class
|
|
5613
|
+
let Rr = wr.BG2;
|
|
5614
|
+
class Ui extends pt {
|
|
5621
5615
|
static PreferredDrawableFormat() {
|
|
5622
|
-
return
|
|
5616
|
+
return Rr;
|
|
5623
5617
|
}
|
|
5624
5618
|
constructor({
|
|
5625
5619
|
bg2ioPath: e,
|
|
5626
|
-
preferedDrawableFormat: r =
|
|
5620
|
+
preferedDrawableFormat: r = wr.BG2,
|
|
5627
5621
|
materialImportCallback: i
|
|
5628
5622
|
} = { bg2ioPath: null }) {
|
|
5629
|
-
super(), this._bg2ioPath = e,
|
|
5623
|
+
super(), this._bg2ioPath = e, Rr = r, this._materialImportCallback = i;
|
|
5630
5624
|
}
|
|
5631
5625
|
get supportedExtensions() {
|
|
5632
5626
|
return ["vitscnj"];
|
|
@@ -5640,16 +5634,16 @@ class ki extends pt {
|
|
|
5640
5634
|
if (r !== M.Node)
|
|
5641
5635
|
throw new Error(`VitscnjLoaderPlugin.load() unexpected resource type received: ${r}`);
|
|
5642
5636
|
const n = i.currentPath;
|
|
5643
|
-
i.currentPath =
|
|
5637
|
+
i.currentPath = li(e);
|
|
5644
5638
|
const s = new qe(), o = new Ae("Scene Root"), { scene: a } = await s.load(e);
|
|
5645
5639
|
for (const f of a) {
|
|
5646
|
-
const c = await
|
|
5640
|
+
const c = await Gi(f, i);
|
|
5647
5641
|
o.addChild(c);
|
|
5648
5642
|
}
|
|
5649
5643
|
return i.currentPath = n, o;
|
|
5650
5644
|
}
|
|
5651
5645
|
get dependencies() {
|
|
5652
|
-
return [new
|
|
5646
|
+
return [new Yi({
|
|
5653
5647
|
bg2ioPath: this._bg2ioPath,
|
|
5654
5648
|
materialImportCallback: this._materialImportCallback
|
|
5655
5649
|
})];
|
|
@@ -5711,7 +5705,7 @@ class Oe extends se {
|
|
|
5711
5705
|
} catch (a) {
|
|
5712
5706
|
return /not found/i.test(a.message) || console.error(a), null;
|
|
5713
5707
|
}
|
|
5714
|
-
}, s =
|
|
5708
|
+
}, s = Ui.PreferredDrawableFormat() === wr.BG2 ? await i(e.name + ".bg2") || await i(e.name + ".vwglb") : await i(e.name + ".vwglb") || await i(e.name + ".bg2");
|
|
5715
5709
|
if (!s)
|
|
5716
5710
|
throw new Error(`Drawable.deserialize(): could not load drawable with name ${e.name}`);
|
|
5717
5711
|
s.items.forEach(({ polyList: o, material: a, transform: f }) => this.addPolyList(o, a, f)), this.name = s.name;
|
|
@@ -5903,29 +5897,29 @@ const vo = async (t) => {
|
|
|
5903
5897
|
if (ht === null && (ht = await wo(t ? { wasmPath: t } : {}), !ht))
|
|
5904
5898
|
throw new Error("Bg2LoaderPlugin: unable to initialize bg2io library");
|
|
5905
5899
|
return ht;
|
|
5906
|
-
},
|
|
5900
|
+
}, Xi = (t, e) => t.polyLists.map((i) => {
|
|
5907
5901
|
const n = new de(), s = t.materials.find((o) => o.name === i.matName);
|
|
5908
5902
|
return n.name = i.name, n.visible = i.visible, s && (n.groupName = s.groupName || "", n.enableCullFace = s.cullFace), n.vertex = i.vertex, n.normal = i.normal, n.texCoord0 = i.texCoord0, n.texCoord1 = i.texCoord1, n.texCoord2 = i.texCoord2, n.index = i.index, { plist: n, materialData: s };
|
|
5909
|
-
}),
|
|
5910
|
-
const i =
|
|
5911
|
-
for (const o of
|
|
5903
|
+
}), ki = async (t, e, r) => {
|
|
5904
|
+
const i = Ar(hr(e)), n = li(e), s = new Oe(i);
|
|
5905
|
+
for (const o of Xi(t)) {
|
|
5912
5906
|
const a = new ne(r.canvas);
|
|
5913
5907
|
await a.deserialize(o.materialData, n), s.addPolyList(o.plist, a);
|
|
5914
5908
|
}
|
|
5915
5909
|
return s;
|
|
5916
5910
|
}, mo = async (t, e, r) => {
|
|
5917
|
-
const i =
|
|
5911
|
+
const i = Ar(hr(e)), n = await ki(t, e, r), s = new Ae(i);
|
|
5918
5912
|
s.addComponent(n);
|
|
5919
5913
|
for (const o of t.components)
|
|
5920
5914
|
try {
|
|
5921
|
-
const a = await
|
|
5915
|
+
const a = await Oi(o, r);
|
|
5922
5916
|
a && s.addComponent(a);
|
|
5923
5917
|
} catch (a) {
|
|
5924
5918
|
console.warn(a.message);
|
|
5925
5919
|
}
|
|
5926
5920
|
return console.log(t), s;
|
|
5927
5921
|
};
|
|
5928
|
-
class
|
|
5922
|
+
class Yi extends pt {
|
|
5929
5923
|
constructor({
|
|
5930
5924
|
bg2ioPath: e = null,
|
|
5931
5925
|
materialImportCallback: r
|
|
@@ -5948,9 +5942,9 @@ class Vi extends pt {
|
|
|
5948
5942
|
a.type || (a.type = a.class, delete a.class);
|
|
5949
5943
|
}), this._materialImportCallback && (o.materials = o.materials.map((a) => this._materialImportCallback(a))), r) {
|
|
5950
5944
|
case M.PolyList:
|
|
5951
|
-
return
|
|
5945
|
+
return Xi(o).map((a) => a.plist);
|
|
5952
5946
|
case M.Drawable:
|
|
5953
|
-
return
|
|
5947
|
+
return ki(o, e, i);
|
|
5954
5948
|
case M.Node:
|
|
5955
5949
|
return await mo(o, e, i);
|
|
5956
5950
|
default:
|
|
@@ -5958,17 +5952,17 @@ class Vi extends pt {
|
|
|
5958
5952
|
}
|
|
5959
5953
|
}
|
|
5960
5954
|
}
|
|
5961
|
-
const
|
|
5955
|
+
const vr = {
|
|
5962
5956
|
Read: "read",
|
|
5963
5957
|
Write: "write"
|
|
5964
|
-
},
|
|
5958
|
+
}, mr = (t) => ({
|
|
5965
5959
|
operationType: t,
|
|
5966
5960
|
plugins: {}
|
|
5967
5961
|
}), wt = (t, e) => {
|
|
5968
5962
|
t.resourceTypes.forEach((r) => {
|
|
5969
5963
|
e.plugins[r] = e.plugins[r] || [], e.plugins[r].push(t);
|
|
5970
5964
|
});
|
|
5971
|
-
},
|
|
5965
|
+
}, Pr = function(t, e, r) {
|
|
5972
5966
|
const i = Es(t), n = new RegExp(i, "i"), s = `Could not find a plugin to ${r.operationType} file '${t}' of type '${e}'.`, o = r.plugins[e];
|
|
5973
5967
|
if (o) {
|
|
5974
5968
|
for (const a of o)
|
|
@@ -5977,9 +5971,9 @@ const mr = {
|
|
|
5977
5971
|
throw new Error(s);
|
|
5978
5972
|
} else
|
|
5979
5973
|
throw new Error(s);
|
|
5980
|
-
}, ir =
|
|
5974
|
+
}, ir = mr(vr.Read), Po = (t) => {
|
|
5981
5975
|
t.dependencies.forEach((e) => wt(e, ir)), wt(t, ir);
|
|
5982
|
-
}, nr = (t, e) =>
|
|
5976
|
+
}, nr = (t, e) => Pr(t, e, ir), Or = () => ({
|
|
5983
5977
|
[M.PolyList]: {},
|
|
5984
5978
|
[M.Drawable]: {},
|
|
5985
5979
|
[M.Node]: {},
|
|
@@ -5988,7 +5982,7 @@ const mr = {
|
|
|
5988
5982
|
});
|
|
5989
5983
|
class Bo {
|
|
5990
5984
|
constructor(e) {
|
|
5991
|
-
this._canvas = e || _e.FirstCanvas(), this._cache =
|
|
5985
|
+
this._canvas = e || _e.FirstCanvas(), this._cache = Or(), this._currentPath = "";
|
|
5992
5986
|
}
|
|
5993
5987
|
get canvas() {
|
|
5994
5988
|
return this._canvas;
|
|
@@ -6000,13 +5994,13 @@ class Bo {
|
|
|
6000
5994
|
this._currentPath = e;
|
|
6001
5995
|
}
|
|
6002
5996
|
clearCache() {
|
|
6003
|
-
this._cache =
|
|
5997
|
+
this._cache = Or();
|
|
6004
5998
|
}
|
|
6005
5999
|
findCache(e, r) {
|
|
6006
6000
|
return this._cache[r] && this._cache[r][e];
|
|
6007
6001
|
}
|
|
6008
6002
|
async loadResource(e, r) {
|
|
6009
|
-
!xs(e) && this.currentPath !== "" && (e =
|
|
6003
|
+
!xs(e) && this.currentPath !== "" && (e = ci(this.currentPath, e));
|
|
6010
6004
|
let i = this.findCache(e, r);
|
|
6011
6005
|
return i || (i = await nr(e, r).load(e, r, this)), i;
|
|
6012
6006
|
}
|
|
@@ -6037,7 +6031,7 @@ class Co {
|
|
|
6037
6031
|
}
|
|
6038
6032
|
}
|
|
6039
6033
|
const po = (t, e, r) => {
|
|
6040
|
-
const i =
|
|
6034
|
+
const i = Ar(hr(r)), n = new Oe(i);
|
|
6041
6035
|
return t.forEach((s) => {
|
|
6042
6036
|
const o = new ne();
|
|
6043
6037
|
n.addPolyList(s, o);
|
|
@@ -6068,7 +6062,7 @@ class Do extends pt {
|
|
|
6068
6062
|
}
|
|
6069
6063
|
}
|
|
6070
6064
|
}
|
|
6071
|
-
class
|
|
6065
|
+
class ji {
|
|
6072
6066
|
// Returns an array of valid file extensions for this plugin
|
|
6073
6067
|
// example: ['obj','dae']
|
|
6074
6068
|
get supportedExtensions() {
|
|
@@ -6085,7 +6079,7 @@ class Ki {
|
|
|
6085
6079
|
throw new Error("WriterPlugin.write(): method not implemented");
|
|
6086
6080
|
}
|
|
6087
6081
|
}
|
|
6088
|
-
class bo extends
|
|
6082
|
+
class bo extends ji {
|
|
6089
6083
|
get supportedExtensions() {
|
|
6090
6084
|
return ["obj"];
|
|
6091
6085
|
}
|
|
@@ -6096,14 +6090,14 @@ class bo extends Ki {
|
|
|
6096
6090
|
console.log(e), console.log(r), console.log(i);
|
|
6097
6091
|
}
|
|
6098
6092
|
}
|
|
6099
|
-
const
|
|
6100
|
-
wt(t,
|
|
6101
|
-
},
|
|
6093
|
+
const Vi = mr(vr.Write), Eo = (t) => {
|
|
6094
|
+
wt(t, Vi);
|
|
6095
|
+
}, Ki = (t, e) => Pr(t, e, Vi);
|
|
6102
6096
|
class xo {
|
|
6103
6097
|
constructor() {
|
|
6104
6098
|
}
|
|
6105
6099
|
async writeResource(e, r, i) {
|
|
6106
|
-
return await
|
|
6100
|
+
return await Ki(e, i).write(e, r, i, this);
|
|
6107
6101
|
}
|
|
6108
6102
|
async writePolyList(e, r) {
|
|
6109
6103
|
return await this.writeResource(e, r, M.PolyList);
|
|
@@ -6122,11 +6116,11 @@ class xo {
|
|
|
6122
6116
|
}
|
|
6123
6117
|
}
|
|
6124
6118
|
const Qo = {
|
|
6125
|
-
Bg2LoaderPlugin:
|
|
6126
|
-
PluginOperationType:
|
|
6127
|
-
createPluginDatabase:
|
|
6119
|
+
Bg2LoaderPlugin: Yi,
|
|
6120
|
+
PluginOperationType: vr,
|
|
6121
|
+
createPluginDatabase: mr,
|
|
6128
6122
|
registerPluginInDatabase: wt,
|
|
6129
|
-
getPluginFromDatabase:
|
|
6123
|
+
getPluginFromDatabase: Pr,
|
|
6130
6124
|
Loader: Bo,
|
|
6131
6125
|
registerLoaderPlugin: Po,
|
|
6132
6126
|
getLoaderPlugin: nr,
|
|
@@ -6135,13 +6129,13 @@ const Qo = {
|
|
|
6135
6129
|
ObjLoaderPlugin: Do,
|
|
6136
6130
|
ObjParser: Re,
|
|
6137
6131
|
ObjWriterPlugin: bo,
|
|
6138
|
-
VitscnjLoaderPlugin:
|
|
6132
|
+
VitscnjLoaderPlugin: Ui,
|
|
6139
6133
|
Writer: xo,
|
|
6140
6134
|
registerWriterPlugin: Eo,
|
|
6141
|
-
getWriterPlugin:
|
|
6142
|
-
WriterPlugin:
|
|
6135
|
+
getWriterPlugin: Ki,
|
|
6136
|
+
WriterPlugin: ji
|
|
6143
6137
|
};
|
|
6144
|
-
class
|
|
6138
|
+
class Br {
|
|
6145
6139
|
constructor() {
|
|
6146
6140
|
this._equirectangularTexture = null, this._irradianceIntensity = 1, this._showSkybox = !0, this._cubemapSize = 512, this._irradianceMapSize = 32, this._specularMapSize = 32, this._specularMapL2Size = 32, this._dirty = !0;
|
|
6147
6141
|
}
|
|
@@ -6217,7 +6211,7 @@ class Cr {
|
|
|
6217
6211
|
* Creates a deep copy of this environment
|
|
6218
6212
|
*/
|
|
6219
6213
|
clone() {
|
|
6220
|
-
const e = new
|
|
6214
|
+
const e = new Br();
|
|
6221
6215
|
return e.assign(this), e;
|
|
6222
6216
|
}
|
|
6223
6217
|
/**
|
|
@@ -6379,15 +6373,15 @@ class xt {
|
|
|
6379
6373
|
}
|
|
6380
6374
|
const To = {
|
|
6381
6375
|
Color: p,
|
|
6382
|
-
Environment:
|
|
6376
|
+
Environment: Br,
|
|
6383
6377
|
Light: xt,
|
|
6384
6378
|
LightType: be,
|
|
6385
6379
|
Material: ne,
|
|
6386
6380
|
PolyList: de,
|
|
6387
|
-
BufferType:
|
|
6381
|
+
BufferType: wi,
|
|
6388
6382
|
DrawMode: ae,
|
|
6389
6383
|
RenderLayer: k,
|
|
6390
|
-
getLayers:
|
|
6384
|
+
getLayers: vi,
|
|
6391
6385
|
PolyListFrontFace: ut,
|
|
6392
6386
|
PolyListCullFace: De,
|
|
6393
6387
|
Texture: x,
|
|
@@ -6399,17 +6393,17 @@ const To = {
|
|
|
6399
6393
|
TextureRenderTargetAttachment: Y,
|
|
6400
6394
|
TextureComponentFormat: ie,
|
|
6401
6395
|
TextureChannel: y,
|
|
6402
|
-
TextureDataTypeName:
|
|
6403
|
-
TextureWrapName:
|
|
6404
|
-
TextureFilterName:
|
|
6396
|
+
TextureDataTypeName: Ci,
|
|
6397
|
+
TextureWrapName: pi,
|
|
6398
|
+
TextureFilterName: Di,
|
|
6405
6399
|
TextureTargetName: Be,
|
|
6406
|
-
ProceduralTextureFunctionName:
|
|
6400
|
+
ProceduralTextureFunctionName: bi,
|
|
6407
6401
|
TextureRenderTargetAttachmentNames: je,
|
|
6408
|
-
TextureComponentFormatNames:
|
|
6409
|
-
TextureChannelNames:
|
|
6410
|
-
textureWrapString:
|
|
6402
|
+
TextureComponentFormatNames: Ei,
|
|
6403
|
+
TextureChannelNames: xi,
|
|
6404
|
+
textureWrapString: Qi,
|
|
6411
6405
|
textureDataTypeString: Ss,
|
|
6412
|
-
textureFilterString:
|
|
6406
|
+
textureFilterString: Ti,
|
|
6413
6407
|
textureTargetString: Rs,
|
|
6414
6408
|
proceduralTextureFunctionString: Os,
|
|
6415
6409
|
textureRenderTargetAttachmentString: Fs,
|
|
@@ -6498,7 +6492,7 @@ class Qt extends se {
|
|
|
6498
6492
|
await super.serialize(e, r);
|
|
6499
6493
|
}
|
|
6500
6494
|
}
|
|
6501
|
-
class
|
|
6495
|
+
class Wi {
|
|
6502
6496
|
static Factory(e) {
|
|
6503
6497
|
if (!e || !e.type)
|
|
6504
6498
|
return null;
|
|
@@ -6525,7 +6519,7 @@ const ze = {
|
|
|
6525
6519
|
TRANSLATE_ROTATE: 1,
|
|
6526
6520
|
ROTATE_TRANSLATE: 0
|
|
6527
6521
|
};
|
|
6528
|
-
class Je extends
|
|
6522
|
+
class Je extends Wi {
|
|
6529
6523
|
constructor() {
|
|
6530
6524
|
super(), this._offset = new h(0, 0, 0), this._eulerRotation = new h(0, 0, 0), this._transformOrder = ze.TRANSLATE_ROTATE;
|
|
6531
6525
|
}
|
|
@@ -6603,7 +6597,7 @@ class Je extends Zi {
|
|
|
6603
6597
|
e.type = "LinkJoint", e.offset = Array.from(this._offset), e.yaw = this.yaw, e.pitch = this.pitch, e.roll = this.roll, e.order = this.transformOrder;
|
|
6604
6598
|
}
|
|
6605
6599
|
}
|
|
6606
|
-
class
|
|
6600
|
+
class Ji extends se {
|
|
6607
6601
|
constructor(e) {
|
|
6608
6602
|
super(e), this._joint = new Je();
|
|
6609
6603
|
}
|
|
@@ -6617,14 +6611,14 @@ class qi extends se {
|
|
|
6617
6611
|
this.joint.assign(e.joint);
|
|
6618
6612
|
}
|
|
6619
6613
|
async deserialize(e, r) {
|
|
6620
|
-
const i =
|
|
6614
|
+
const i = Wi.Factory(e.joint);
|
|
6621
6615
|
i && i instanceof Je && (this.joint = i);
|
|
6622
6616
|
}
|
|
6623
6617
|
async serialize(e, r) {
|
|
6624
6618
|
await super.serialize(e, r), e.joint = {}, this.joint.serialize(e.joint);
|
|
6625
6619
|
}
|
|
6626
6620
|
}
|
|
6627
|
-
class Tt extends
|
|
6621
|
+
class Tt extends Ji {
|
|
6628
6622
|
constructor() {
|
|
6629
6623
|
super("InputChainJoint"), this.joint.transformOrder = ze.ROTATE_TRANSLATE;
|
|
6630
6624
|
}
|
|
@@ -6633,7 +6627,7 @@ class Tt extends qi {
|
|
|
6633
6627
|
return e.assign(this), e;
|
|
6634
6628
|
}
|
|
6635
6629
|
}
|
|
6636
|
-
class yt extends
|
|
6630
|
+
class yt extends Ji {
|
|
6637
6631
|
constructor() {
|
|
6638
6632
|
super("OutputChainJoint"), this.joint.transformOrder = ze.TRANSLATE_ROTATE;
|
|
6639
6633
|
}
|
|
@@ -6642,7 +6636,7 @@ class yt extends qi {
|
|
|
6642
6636
|
return e.assign(this), e;
|
|
6643
6637
|
}
|
|
6644
6638
|
}
|
|
6645
|
-
class
|
|
6639
|
+
class Cr extends le {
|
|
6646
6640
|
constructor() {
|
|
6647
6641
|
super(), this._name = void 0, this._result = [], this._hasComponents = [];
|
|
6648
6642
|
}
|
|
@@ -6670,7 +6664,7 @@ class ge extends se {
|
|
|
6670
6664
|
static GetLights(e) {
|
|
6671
6665
|
if (e.sceneChanged || !e.__lights) {
|
|
6672
6666
|
e.__lights = [];
|
|
6673
|
-
let r = new
|
|
6667
|
+
let r = new Cr();
|
|
6674
6668
|
r.hasComponents(["Light"]), e.accept(r), e.__lights = r.result.map((i) => i.lightComponent);
|
|
6675
6669
|
}
|
|
6676
6670
|
return e.__lights;
|
|
@@ -6737,7 +6731,7 @@ class ge extends se {
|
|
|
6737
6731
|
e.addLight(this.light, r);
|
|
6738
6732
|
}
|
|
6739
6733
|
}
|
|
6740
|
-
class $e extends
|
|
6734
|
+
class $e extends ii {
|
|
6741
6735
|
static Factory(e) {
|
|
6742
6736
|
if (!e)
|
|
6743
6737
|
return null;
|
|
@@ -6844,7 +6838,7 @@ class Nt extends $e {
|
|
|
6844
6838
|
}
|
|
6845
6839
|
apply() {
|
|
6846
6840
|
if (this.target) {
|
|
6847
|
-
const e =
|
|
6841
|
+
const e = ti(this.fov);
|
|
6848
6842
|
this.target.perspective(e, this.viewport.aspectRatio, this.near, this.far);
|
|
6849
6843
|
}
|
|
6850
6844
|
}
|
|
@@ -7003,7 +6997,7 @@ class Ht {
|
|
|
7003
6997
|
}
|
|
7004
6998
|
}
|
|
7005
6999
|
var re = /* @__PURE__ */ ((t) => (t.BACKSPACE = "Backspace", t.TAB = "Tab", t.ENTER = "Enter", t.SHIFT = "Shift", t.SHIFT_LEFT = "ShiftLeft", t.SHIFT_RIGHT = "ShiftRight", t.CTRL = "Control", t.CTRL_LEFT = "ControlLeft", t.CTRL_RIGHT = "ControlRight", t.ALT = "Alt", t.ALT_LEFT = "AltLeft", t.ALT_RIGHT = "AltRight", t.PAUSE = "Pause", t.CAPS_LOCK = "CapsLock", t.ESCAPE = "Escape", t.PAGE_UP = "PageUp", t.PAGEDOWN = "PageDown", t.END = "End", t.HOME = "Home", t.LEFT_ARROW = "ArrowLeft", t.UP_ARROW = "ArrowUp", t.RIGHT_ARROW = "ArrowRight", t.DOWN_ARROW = "ArrowDown", t.INSERT = "Insert", t.DELETE = "Delete", t.SPACE = "Space", t))(re || {});
|
|
7006
|
-
const
|
|
7000
|
+
const Zi = (t) => {
|
|
7007
7001
|
const e = re[t.code] != null ? t.keyCode : t.code;
|
|
7008
7002
|
return new zt(e, t);
|
|
7009
7003
|
};
|
|
@@ -7020,14 +7014,14 @@ class zt extends Ht {
|
|
|
7020
7014
|
}
|
|
7021
7015
|
var Fe = /* @__PURE__ */ ((t) => (t[t.NONE = 0] = "NONE", t[t.UP = 1] = "UP", t[t.DOWN = 2] = "DOWN", t))(Fe || {});
|
|
7022
7016
|
const et = (t, e, r) => {
|
|
7023
|
-
if (e.mouseStatus.pos =
|
|
7017
|
+
if (e.mouseStatus.pos = Pi(t, e.canvas), r !== 0) {
|
|
7024
7018
|
const i = r === 2;
|
|
7025
7019
|
t.button === 0 ? e.mouseStatus.leftButton = i : t.button === 1 ? e.mouseStatus.middleButton = i : t.button === 2 && (e.mouseStatus.rightButton = i);
|
|
7026
7020
|
}
|
|
7027
|
-
return new
|
|
7021
|
+
return new _i(t.button, e.mouseStatus.pos.x, e.mouseStatus.pos.y, 0, t);
|
|
7028
7022
|
}, ue = [!1, !1, !1], Ho = () => ue[0], zo = () => ue[1], Lo = () => ue[2], Io = () => {
|
|
7029
7023
|
ue[0] = !1, ue[1] = !1, ue[2] = !1;
|
|
7030
|
-
},
|
|
7024
|
+
}, qi = (t, e) => {
|
|
7031
7025
|
switch (t.button) {
|
|
7032
7026
|
case 0:
|
|
7033
7027
|
ue[0] = e;
|
|
@@ -7040,7 +7034,7 @@ const et = (t, e, r) => {
|
|
|
7040
7034
|
break;
|
|
7041
7035
|
}
|
|
7042
7036
|
};
|
|
7043
|
-
class
|
|
7037
|
+
class _i extends Ht {
|
|
7044
7038
|
constructor(e = -1, r = -1, i = -1, n = 0, s = null) {
|
|
7045
7039
|
super(), this.button = e, this.x = r, this.y = i, this.delta = n, this.event = s;
|
|
7046
7040
|
}
|
|
@@ -7366,7 +7360,7 @@ class It extends se {
|
|
|
7366
7360
|
this.equirectangularTexture = e.equirectangularTexture, this.irradianceIntensity = e.irradianceIntensity, this.showSkybox = e.showSkybox, this.cubemapSize = e.cubemapSize, this.irradianceMapSize = e.irradianceMapSize, this.specularMapSize = e.specularMapSize, this.specularMapL2Size = e.specularMapL2Size;
|
|
7367
7361
|
}
|
|
7368
7362
|
async deserialize(e, r) {
|
|
7369
|
-
super.deserialize(e, r), r.currentPath && e.equirectangularTexture && (this.equirectangularTexture =
|
|
7363
|
+
super.deserialize(e, r), r.currentPath && e.equirectangularTexture && (this.equirectangularTexture = ci(r.currentPath, e.equirectangularTexture)), this.irradianceIntensity = e.irradianceIntensity || this.irradianceIntensity, this.showSkybox = e.showSkybox ?? this.showSkybox, this.cubemapSize = e.cubemapSize || this.cubemapSize, this.irradianceMapSize = e.irradianceMapSize || this.irradianceMapSize, this.specularMapSize = e.specularMapSize || this.specularMapSize, this.specularMapL2Size = e.specularMapL2Size || this.specularMapL2Size;
|
|
7370
7364
|
}
|
|
7371
7365
|
async serialize(e, r) {
|
|
7372
7366
|
throw await super.serialize(e, r), Error("EnvironmentComponent.serialize(): not implemented");
|
|
@@ -7383,7 +7377,7 @@ class It extends se {
|
|
|
7383
7377
|
});
|
|
7384
7378
|
}
|
|
7385
7379
|
}
|
|
7386
|
-
const
|
|
7380
|
+
const $i = () => {
|
|
7387
7381
|
ee("Drawable", Oe), ee("Transform", oe), ee("Light", ge), ee("Chain", Qt), ee("InputChainJoint", Tt), ee("OutputChainJoint", yt), ee("Camera", j), ee("OrbitCameraController", tt), ee("SmoothOrbitCameraController", Lt), ee("Environment", It);
|
|
7388
7382
|
}, Ro = {
|
|
7389
7383
|
Component: se,
|
|
@@ -7400,13 +7394,13 @@ const tn = () => {
|
|
|
7400
7394
|
OrbitCameraControllerComponent: tt,
|
|
7401
7395
|
SmoothOrbitCameraControllerComponent: Lt,
|
|
7402
7396
|
EnvironmentComponent: It,
|
|
7403
|
-
registerComponents:
|
|
7397
|
+
registerComponents: $i,
|
|
7404
7398
|
registerComponent: ee,
|
|
7405
7399
|
Node: Ae,
|
|
7406
7400
|
NodeVisitor: le,
|
|
7407
|
-
FindNodeVisitor:
|
|
7401
|
+
FindNodeVisitor: Cr
|
|
7408
7402
|
};
|
|
7409
|
-
class
|
|
7403
|
+
class en {
|
|
7410
7404
|
constructor() {
|
|
7411
7405
|
this._mainLoop = null;
|
|
7412
7406
|
}
|
|
@@ -7458,22 +7452,22 @@ class rn {
|
|
|
7458
7452
|
touchEnd(e) {
|
|
7459
7453
|
}
|
|
7460
7454
|
}
|
|
7461
|
-
const
|
|
7462
|
-
const r =
|
|
7463
|
-
return new
|
|
7455
|
+
const pr = (t, e) => {
|
|
7456
|
+
const r = Bi(t, e.canvas);
|
|
7457
|
+
return new tn(r, t);
|
|
7464
7458
|
};
|
|
7465
|
-
class
|
|
7459
|
+
class tn extends Ht {
|
|
7466
7460
|
constructor(e, r) {
|
|
7467
7461
|
super(), this.touches = e, this.event = r;
|
|
7468
7462
|
}
|
|
7469
7463
|
}
|
|
7470
|
-
var
|
|
7464
|
+
var rn = /* @__PURE__ */ ((t) => (t[t.AUTO = 0] = "AUTO", t[t.MANUAL = 1] = "MANUAL", t))(rn || {});
|
|
7471
7465
|
const me = {
|
|
7472
7466
|
lastTime: 0,
|
|
7473
7467
|
mainLoop: []
|
|
7474
7468
|
};
|
|
7475
|
-
async function
|
|
7476
|
-
t = t || 0, requestAnimationFrame(
|
|
7469
|
+
async function nn(t) {
|
|
7470
|
+
t = t || 0, requestAnimationFrame(nn);
|
|
7477
7471
|
const e = t - me.lastTime;
|
|
7478
7472
|
me.lastTime = t;
|
|
7479
7473
|
for (const r of me.mainLoop)
|
|
@@ -7513,7 +7507,7 @@ class Fo {
|
|
|
7513
7507
|
return this._redisplayFrames > 0;
|
|
7514
7508
|
}
|
|
7515
7509
|
async run() {
|
|
7516
|
-
await this.canvas.init(), await this.appController.init(), Go(this), me.mainLoop.push(this),
|
|
7510
|
+
await this.canvas.init(), await this.appController.init(), Go(this), me.mainLoop.push(this), nn();
|
|
7517
7511
|
}
|
|
7518
7512
|
exit() {
|
|
7519
7513
|
this.appController.destroy();
|
|
@@ -7530,7 +7524,7 @@ class Fo {
|
|
|
7530
7524
|
function Go(t) {
|
|
7531
7525
|
sr(t);
|
|
7532
7526
|
const e = (n, s) => n.isEventPropagationStopped ? (s.stopPropagation(), s.preventDefault(), !1) : !0, r = t.canvas.domElement;
|
|
7533
|
-
r.__mainLoop = t, r.addEventListener("mousedown", (n) => e(Xo(n, n.target.__mainLoop), n)), r.addEventListener("mousemove", (n) => e(
|
|
7527
|
+
r.__mainLoop = t, r.addEventListener("mousedown", (n) => e(Xo(n, n.target.__mainLoop), n)), r.addEventListener("mousemove", (n) => e(sn(n, n.target.__mainLoop), n)), r.addEventListener("mouseout", (n) => e(ko(n, n.target.__mainLoop), n)), r.addEventListener("mouseover", (n) => e(Yo(n, n.target.__mainLoop), n)), r.addEventListener("mouseup", (n) => e(jo(n, n.target.__mainLoop), n)), r.addEventListener("touchstart", (n) => e(Ko(n, n.target.__mainLoop), n)), r.addEventListener("touchmove", (n) => e(Wo(n, n.target.__mainLoop), n)), r.addEventListener("touchend", (n) => e(Jo(n, n.target.__mainLoop), n));
|
|
7534
7528
|
const i = /Firefox/i.test(navigator.userAgent) ? "DOMMouseScroll" : "mousewheel";
|
|
7535
7529
|
r.addEventListener(i, (n) => e(Vo(n, n.target.__mainLoop), n)), window.addEventListener("keydown", (n) => {
|
|
7536
7530
|
me.mainLoop.forEach((s) => Zo(n, s));
|
|
@@ -7549,9 +7543,9 @@ async function Uo(t, e) {
|
|
|
7549
7543
|
}
|
|
7550
7544
|
function Xo(t, e) {
|
|
7551
7545
|
const r = et(t, e, Fe.DOWN);
|
|
7552
|
-
return
|
|
7546
|
+
return qi(r, !0), e.appController.mouseDown(r), r;
|
|
7553
7547
|
}
|
|
7554
|
-
function
|
|
7548
|
+
function sn(t, e) {
|
|
7555
7549
|
const r = et(t, e, Fe.NONE);
|
|
7556
7550
|
return e.appController.mouseMove(r), e.mouseStatus.anyButton && e.appController.mouseDrag(r), r;
|
|
7557
7551
|
}
|
|
@@ -7560,49 +7554,49 @@ function ko(t, e) {
|
|
|
7560
7554
|
return Io(), e.appController.mouseOut(r), r;
|
|
7561
7555
|
}
|
|
7562
7556
|
function Yo(t, e) {
|
|
7563
|
-
return
|
|
7557
|
+
return sn(t, e);
|
|
7564
7558
|
}
|
|
7565
7559
|
function jo(t, e) {
|
|
7566
7560
|
const r = et(t, e, Fe.UP);
|
|
7567
|
-
return
|
|
7561
|
+
return qi(r, !1), e.appController.mouseUp(r), r;
|
|
7568
7562
|
}
|
|
7569
7563
|
function Vo(t, e) {
|
|
7570
7564
|
const r = et(t, e, Fe.NONE);
|
|
7571
7565
|
return r.delta = t.wheelDelta ? t.wheelDelta * -1 : t.detail * 10, e.appController.mouseWheel(r), r;
|
|
7572
7566
|
}
|
|
7573
7567
|
function Ko(t, e) {
|
|
7574
|
-
const r =
|
|
7568
|
+
const r = pr(t, e);
|
|
7575
7569
|
return e.appController.touchStart(r), r;
|
|
7576
7570
|
}
|
|
7577
7571
|
function Wo(t, e) {
|
|
7578
|
-
const r =
|
|
7572
|
+
const r = pr(t, e);
|
|
7579
7573
|
return e.appController.touchMove(r), r;
|
|
7580
7574
|
}
|
|
7581
7575
|
function Jo(t, e) {
|
|
7582
|
-
const r =
|
|
7576
|
+
const r = pr(t, e);
|
|
7583
7577
|
return e.appController.touchEnd(r), r;
|
|
7584
7578
|
}
|
|
7585
7579
|
function Zo(t, e) {
|
|
7586
|
-
const r =
|
|
7580
|
+
const r = Zi(t);
|
|
7587
7581
|
return e.appController.keyDown(r), r;
|
|
7588
7582
|
}
|
|
7589
7583
|
function qo(t, e) {
|
|
7590
|
-
const r =
|
|
7584
|
+
const r = Zi(t);
|
|
7591
7585
|
return e.appController.keyUp(r), r;
|
|
7592
7586
|
}
|
|
7593
7587
|
const _o = {
|
|
7594
|
-
AppController:
|
|
7595
|
-
FrameUpdate:
|
|
7588
|
+
AppController: en,
|
|
7589
|
+
FrameUpdate: rn,
|
|
7596
7590
|
Canvas: _e,
|
|
7597
|
-
getMouseEventOffset:
|
|
7598
|
-
getEventTouches:
|
|
7591
|
+
getMouseEventOffset: Pi,
|
|
7592
|
+
getEventTouches: Bi,
|
|
7599
7593
|
EventBase: Ht,
|
|
7600
7594
|
Bg2KeyboardEvent: zt,
|
|
7601
7595
|
MainLoop: Fo,
|
|
7602
|
-
Bg2MouseEvent:
|
|
7603
|
-
Bg2TouchEvent:
|
|
7596
|
+
Bg2MouseEvent: _i,
|
|
7597
|
+
Bg2TouchEvent: tn
|
|
7604
7598
|
};
|
|
7605
|
-
class
|
|
7599
|
+
class on {
|
|
7606
7600
|
constructor(e) {
|
|
7607
7601
|
this._renderer = e;
|
|
7608
7602
|
}
|
|
@@ -7622,7 +7616,7 @@ class hn {
|
|
|
7622
7616
|
throw new Error("FrameBuffer: calling base implementation of clear()");
|
|
7623
7617
|
}
|
|
7624
7618
|
}
|
|
7625
|
-
class
|
|
7619
|
+
class an {
|
|
7626
7620
|
constructor(e, r) {
|
|
7627
7621
|
this._renderer = e, this._material = r;
|
|
7628
7622
|
}
|
|
@@ -7638,7 +7632,7 @@ class An {
|
|
|
7638
7632
|
}
|
|
7639
7633
|
}
|
|
7640
7634
|
var Ke = /* @__PURE__ */ ((t) => (t[t.ADD = 1] = "ADD", t[t.SUBTRACT = 2] = "SUBTRACT", t[t.REVERSE_SUBTRACT = 3] = "REVERSE_SUBTRACT", t))(Ke || {}), R = /* @__PURE__ */ ((t) => (t[t.NULL = 0] = "NULL", t[t.ZERO = 1] = "ZERO", t[t.ONE = 2] = "ONE", t[t.SRC_COLOR = 3] = "SRC_COLOR", t[t.ONE_MINUS_SRC_COLOR = 4] = "ONE_MINUS_SRC_COLOR", t[t.DST_COLOR = 5] = "DST_COLOR", t[t.ONE_MINUS_DST_COLOR = 6] = "ONE_MINUS_DST_COLOR", t[t.SRC_ALPHA = 7] = "SRC_ALPHA", t[t.ONE_MINUS_SRC_ALPHA = 8] = "ONE_MINUS_SRC_ALPHA", t[t.DST_ALPHA = 9] = "DST_ALPHA", t[t.ONE_MINUS_DST_ALPHA = 10] = "ONE_MINUS_DST_ALPHA", t))(R || {});
|
|
7641
|
-
class
|
|
7635
|
+
class hn {
|
|
7642
7636
|
constructor(e) {
|
|
7643
7637
|
this._blendState = {
|
|
7644
7638
|
enabled: !1,
|
|
@@ -7693,7 +7687,7 @@ class fn {
|
|
|
7693
7687
|
throw new Error("Pipeline.activate(): calling base class method.");
|
|
7694
7688
|
}
|
|
7695
7689
|
}
|
|
7696
|
-
class
|
|
7690
|
+
class An {
|
|
7697
7691
|
constructor(e, r) {
|
|
7698
7692
|
if (r.renderer)
|
|
7699
7693
|
throw new Error("Invalid initialization of polyList renderer: the polyList is already controlled by another polyList renderer.");
|
|
@@ -7720,22 +7714,22 @@ class ln {
|
|
|
7720
7714
|
}
|
|
7721
7715
|
}
|
|
7722
7716
|
var ve = /* @__PURE__ */ ((t) => (t[t.UNINITIALIZED = 0] = "UNINITIALIZED", t[t.TEXTURE = 1] = "TEXTURE", t[t.CUBE_MAP = 2] = "CUBE_MAP", t))(ve || {});
|
|
7723
|
-
const
|
|
7717
|
+
const fn = {
|
|
7724
7718
|
0: "UNINITIALIZED",
|
|
7725
7719
|
1: "TEXTURE",
|
|
7726
7720
|
2: "CUBE_MAP"
|
|
7727
7721
|
};
|
|
7728
7722
|
var vt = /* @__PURE__ */ ((t) => (t[t.NONE = 0] = "NONE", t[t.POSITIVE_X = 1] = "POSITIVE_X", t[t.NEGATIVE_X = 2] = "NEGATIVE_X", t[t.POSITIVE_Y = 3] = "POSITIVE_Y", t[t.NEGATIVE_Y = 4] = "NEGATIVE_Y", t[t.POSITIVE_Z = 5] = "POSITIVE_Z", t[t.NEGATIVE_Z = 6] = "NEGATIVE_Z", t))(vt || {});
|
|
7729
|
-
function
|
|
7723
|
+
function Fr(t) {
|
|
7730
7724
|
if (t.target === $.TEXTURE_2D)
|
|
7731
7725
|
return 1;
|
|
7732
7726
|
if (t.target === $.CUBE_MAP)
|
|
7733
7727
|
return 2;
|
|
7734
7728
|
}
|
|
7735
|
-
function
|
|
7736
|
-
return
|
|
7729
|
+
function Gr(t) {
|
|
7730
|
+
return fn[t];
|
|
7737
7731
|
}
|
|
7738
|
-
class
|
|
7732
|
+
class ln {
|
|
7739
7733
|
constructor(e, r = new h([512, 512])) {
|
|
7740
7734
|
this._renderer = e, this._attachments = {}, this._size = r, this._dirty = !0, this._type = 0;
|
|
7741
7735
|
}
|
|
@@ -7776,14 +7770,14 @@ class gn {
|
|
|
7776
7770
|
if (this._attachments[e.renderTargetAttachment])
|
|
7777
7771
|
throw new Error(`RenderBuffer.attachTexture(): The attachment is occupied by another texture ${je[e.renderTargetAttachment]}`);
|
|
7778
7772
|
if (this.type !== 0) {
|
|
7779
|
-
const i =
|
|
7773
|
+
const i = Fr(e);
|
|
7780
7774
|
if (this.type !== i)
|
|
7781
|
-
throw new Error(`Invalid texture attachment. RenderBuffer is ${
|
|
7775
|
+
throw new Error(`Invalid texture attachment. RenderBuffer is ${Gr(this.type)}, but the new attachment is ${Gr(
|
|
7782
7776
|
i || 0
|
|
7783
7777
|
/* UNINITIALIZED */
|
|
7784
7778
|
)}`);
|
|
7785
7779
|
} else
|
|
7786
|
-
this._type =
|
|
7780
|
+
this._type = Fr(e) || 0;
|
|
7787
7781
|
e.dataType = Qe.RENDER_TARGET, e.size = this.size, await e.loadImageData();
|
|
7788
7782
|
const r = this.renderer.factory.texture(e);
|
|
7789
7783
|
this._attachments[e.renderTargetAttachment] = r;
|
|
@@ -7916,7 +7910,7 @@ class St {
|
|
|
7916
7910
|
this._queues.forEach((e) => e.queue = []), this._lights = [];
|
|
7917
7911
|
}
|
|
7918
7912
|
addPolyList(e, r, i) {
|
|
7919
|
-
const n =
|
|
7913
|
+
const n = vi(e.polyList, r.material);
|
|
7920
7914
|
this._queues.forEach(({ layer: s, shader: o, queue: a, pipelines: f }) => {
|
|
7921
7915
|
if (n & s) {
|
|
7922
7916
|
const { polyList: c } = e;
|
|
@@ -7963,15 +7957,15 @@ class Rt extends le {
|
|
|
7963
7957
|
this._modelMatrix = this._matrixStack[this._matrixStack.length - 1] || w.MakeIdentity(), this._matrixStack.pop();
|
|
7964
7958
|
}
|
|
7965
7959
|
}
|
|
7966
|
-
class
|
|
7960
|
+
class cn extends le {
|
|
7967
7961
|
constructor(e) {
|
|
7968
7962
|
super(), this._renderer = e;
|
|
7969
7963
|
}
|
|
7970
7964
|
visit(e) {
|
|
7971
|
-
|
|
7965
|
+
Fi(e, this._renderer);
|
|
7972
7966
|
}
|
|
7973
7967
|
}
|
|
7974
|
-
class
|
|
7968
|
+
class gn extends le {
|
|
7975
7969
|
constructor() {
|
|
7976
7970
|
super();
|
|
7977
7971
|
}
|
|
@@ -7993,7 +7987,7 @@ class _ extends le {
|
|
|
7993
7987
|
e[this._callbackName](this._event);
|
|
7994
7988
|
}
|
|
7995
7989
|
}
|
|
7996
|
-
class
|
|
7990
|
+
class un {
|
|
7997
7991
|
constructor(e) {
|
|
7998
7992
|
this._shadowMapSize = null, this._mainDirectionalLight = null, this._opaquePipeline = null, this._transparentPipeline = null, this._renderQueue = null, this._initVisitor = null, this._frameVisitor = null, this._skyCube = null, this._shadowRenderer = null, this._environment = null, this._defaultViewMatrix = w.MakeIdentity(), this._defaultProjectionMatrix = w.MakeIdentity(), this._sceneRoot = null, this._renderer = e, this._keyDownVisitor = new _("keyDown"), this._keyUpVisitor = new _("keyUp"), this._mouseUpVisitor = new _("mouseUp"), this._mouseDownVisitor = new _("mouseDown"), this._mouseMoveVisitor = new _("mouseMove"), this._mouseOutVisitor = new _("mouseOut"), this._mouseDragVisitor = new _("mouseDrag"), this._mouseWheelVisitor = new _("mouseWheel"), this._touchStartVisitor = new _("touchStart"), this._touchMoveVisitor = new _("touchMove"), this._touchEndVisitor = new _("touchEnd"), this._sceneEnvironment = null;
|
|
7999
7993
|
}
|
|
@@ -8021,7 +8015,7 @@ class wn {
|
|
|
8021
8015
|
blendFuncDst: R.ONE_MINUS_SRC_ALPHA,
|
|
8022
8016
|
blendFuncSrcAlpha: R.ONE,
|
|
8023
8017
|
blendFuncDstAlpha: R.ONE_MINUS_SRC_ALPHA
|
|
8024
|
-
}), this._transparentPipeline?.create(), this._renderQueue = new St(this.renderer), this._initVisitor = new
|
|
8018
|
+
}), this._transparentPipeline?.create(), this._renderQueue = new St(this.renderer), this._initVisitor = new gn(), this._frameVisitor = new Rt(this._renderQueue), this._skyCube = this.renderer.factory.skyCube(), this._shadowRenderer = this.renderer.factory.shadowRenderer(), await this._shadowRenderer?.create(this._shadowMapSize);
|
|
8025
8019
|
}
|
|
8026
8020
|
async setEnvironment(e) {
|
|
8027
8021
|
this._environment = e, this._environment?.environmentMap && this._skyCube?.load(this._environment?.environmentMap);
|
|
@@ -8042,9 +8036,9 @@ class wn {
|
|
|
8042
8036
|
this._defaultProjectionMatrix = e;
|
|
8043
8037
|
}
|
|
8044
8038
|
async bindRenderer(e) {
|
|
8045
|
-
const r = new
|
|
8039
|
+
const r = new cn(this.renderer);
|
|
8046
8040
|
e.accept(r), await e.asyncAccept(this._initVisitor);
|
|
8047
|
-
const i = new
|
|
8041
|
+
const i = new Cr();
|
|
8048
8042
|
if (i.hasComponents("Environment"), e.accept(i), i.result.length) {
|
|
8049
8043
|
const n = i.result[0].component("Environment");
|
|
8050
8044
|
n && this.setEnvironment(n.environment), this._sceneEnvironment = n;
|
|
@@ -8112,7 +8106,7 @@ class wn {
|
|
|
8112
8106
|
this._touchEndVisitor.event = r, e.accept(this._touchEndVisitor);
|
|
8113
8107
|
}
|
|
8114
8108
|
}
|
|
8115
|
-
const
|
|
8109
|
+
const Ur = {
|
|
8116
8110
|
webgl: {
|
|
8117
8111
|
vertex: `precision mediump float;
|
|
8118
8112
|
|
|
@@ -8140,14 +8134,14 @@ const Xr = {
|
|
|
8140
8134
|
}`
|
|
8141
8135
|
}
|
|
8142
8136
|
};
|
|
8143
|
-
class
|
|
8137
|
+
class Dr extends V {
|
|
8144
8138
|
constructor(e) {
|
|
8145
8139
|
if (super(e), this._program = null, this._forceDraw = !1, e.typeId !== "WebGL")
|
|
8146
8140
|
throw Error("PickSelectionShader is only compatible with WebGL renderer");
|
|
8147
8141
|
}
|
|
8148
8142
|
async load() {
|
|
8149
8143
|
const { gl: e } = this.renderer;
|
|
8150
|
-
this._program = new T(e, "PickSelectionShader"), this._program.attachVertexSource(
|
|
8144
|
+
this._program = new T(e, "PickSelectionShader"), this._program.attachVertexSource(Ur.webgl.vertex), this._program.attachFragmentSource(Ur.webgl.fragment), this._program.link(), this._forceDraw = !0;
|
|
8151
8145
|
}
|
|
8152
8146
|
set forceDraw(e) {
|
|
8153
8147
|
this._forceDraw = e;
|
|
@@ -8167,13 +8161,13 @@ class br extends V {
|
|
|
8167
8161
|
this._program && (T.Delete(this._program), this._program = null);
|
|
8168
8162
|
}
|
|
8169
8163
|
}
|
|
8170
|
-
const
|
|
8164
|
+
const dn = (t, e = []) => {
|
|
8171
8165
|
t.dependencies.filter((r) => typeof r != "string").forEach((r) => {
|
|
8172
|
-
|
|
8166
|
+
dn(r, e), e.push(r);
|
|
8173
8167
|
}), e.push(t);
|
|
8174
8168
|
}, $o = (t) => {
|
|
8175
8169
|
const e = [];
|
|
8176
|
-
|
|
8170
|
+
dn(t, e);
|
|
8177
8171
|
const r = [];
|
|
8178
8172
|
return e.filter((i) => {
|
|
8179
8173
|
if (r.indexOf(i.name) === -1)
|
|
@@ -8313,11 +8307,11 @@ function s0(t) {
|
|
|
8313
8307
|
${n}
|
|
8314
8308
|
}`);
|
|
8315
8309
|
}
|
|
8316
|
-
const
|
|
8310
|
+
const br = new Q("vec3", "fresnelSchlick", "float cosTheta, vec3 F0", `{
|
|
8317
8311
|
return F0 + (1.0 - F0) * pow(clamp(1.0 - cosTheta, 0.0, 1.0), 5.0);
|
|
8318
|
-
}`),
|
|
8312
|
+
}`), Er = new Q("vec3", "fresnelSchlickRoughness", "float cosTheta, vec3 F0, float roughness", `{
|
|
8319
8313
|
return F0 + (max(vec3(1.0 - roughness), F0) - F0) * pow(clamp(1.0 - cosTheta, 0.0, 1.0), 5.0);
|
|
8320
|
-
}`),
|
|
8314
|
+
}`), xr = new Q("float", "distributionGGX", "vec3 N, vec3 H, float roughness", `{
|
|
8321
8315
|
float a = roughness * roughness;
|
|
8322
8316
|
float a2 = a * a;
|
|
8323
8317
|
float NdotH = max(dot(N, H), 0.0);
|
|
@@ -8328,7 +8322,7 @@ const Er = new Q("vec3", "fresnelSchlick", "float cosTheta, vec3 F0", `{
|
|
|
8328
8322
|
denom = ${Math.PI} * denom * denom;
|
|
8329
8323
|
|
|
8330
8324
|
return num / denom;
|
|
8331
|
-
}`),
|
|
8325
|
+
}`), wn = new Q("float", "geometrySchlickGGX", "float NdotV, float roughness", `{
|
|
8332
8326
|
float r = (roughness + 1.0);
|
|
8333
8327
|
float k = (r * r) / 8.0;
|
|
8334
8328
|
|
|
@@ -8336,14 +8330,14 @@ const Er = new Q("vec3", "fresnelSchlick", "float cosTheta, vec3 F0", `{
|
|
|
8336
8330
|
float denom = NdotV * (1.0 - k) + k;
|
|
8337
8331
|
|
|
8338
8332
|
return num / denom;
|
|
8339
|
-
}`),
|
|
8333
|
+
}`), Qr = new Q("float", "geometrySmith", "vec3 N, vec3 V, vec3 L, float roughness", `{
|
|
8340
8334
|
float NdotV = max(dot(N,V), 0.0);
|
|
8341
8335
|
float NdotL = max(dot(N,L), 0.0);
|
|
8342
8336
|
float ggx2 = geometrySchlickGGX(NdotV, roughness);
|
|
8343
8337
|
float ggx1 = geometrySchlickGGX(NdotL, roughness);
|
|
8344
8338
|
|
|
8345
8339
|
return ggx1 * ggx2;
|
|
8346
|
-
}`, [
|
|
8340
|
+
}`, [wn]), vn = new Q(
|
|
8347
8341
|
"vec3",
|
|
8348
8342
|
"pbrPointLight",
|
|
8349
8343
|
"vec3 lightPos, vec3 lightColor, vec3 fragPos, vec3 fragNorm, vec3 viewPos, vec3 albedo, float roughness, float metallic, vec3 fresnel",
|
|
@@ -8375,8 +8369,8 @@ const Er = new Q("vec3", "fresnelSchlick", "float cosTheta, vec3 F0", `{
|
|
|
8375
8369
|
float NdotL = max(dot(fragNorm,L), 0.0);
|
|
8376
8370
|
return (kD * albedo / ${Math.PI} + specular) * radiance * NdotL;
|
|
8377
8371
|
}`,
|
|
8378
|
-
[
|
|
8379
|
-
),
|
|
8372
|
+
[br, xr, Qr]
|
|
8373
|
+
), mn = new Q(
|
|
8380
8374
|
"vec3",
|
|
8381
8375
|
"pbrDirectionalLight",
|
|
8382
8376
|
"vec3 lightDir, vec3 lightColor, vec3 fragPos, vec3 fragNorm, vec3 viewPos, vec3 albedo, float roughness, float metallic, vec3 fresnel, vec3 shadowColor",
|
|
@@ -8404,8 +8398,8 @@ const Er = new Q("vec3", "fresnelSchlick", "float cosTheta, vec3 F0", `{
|
|
|
8404
8398
|
float NdotL = max(dot(fragNorm,L), 0.0);
|
|
8405
8399
|
return (kD * albedo / ${Math.PI} + specular * fresnel * shadowColor) * lightColor * shadowColor * NdotL;
|
|
8406
8400
|
}`,
|
|
8407
|
-
[
|
|
8408
|
-
),
|
|
8401
|
+
[br, xr, Qr, Er]
|
|
8402
|
+
), Pn = new Q(
|
|
8409
8403
|
"vec3",
|
|
8410
8404
|
"getPrefilteredColor",
|
|
8411
8405
|
"float roughness, vec3 refVec, samplerCube irrMap, samplerCube specMap, samplerCube envMap",
|
|
@@ -8442,8 +8436,8 @@ const Er = new Q("vec3", "fresnelSchlick", "float cosTheta, vec3 F0", `{
|
|
|
8442
8436
|
|
|
8443
8437
|
return kD * diffuse + indirectSpecular;
|
|
8444
8438
|
}`,
|
|
8445
|
-
[
|
|
8446
|
-
),
|
|
8439
|
+
[Er, Pn]
|
|
8440
|
+
), Bn = new Q(
|
|
8447
8441
|
"vec4",
|
|
8448
8442
|
"applyConvolution",
|
|
8449
8443
|
"sampler2D texture, vec2 texCoord, vec2 texSize, float[9] convMatrix, float radius",
|
|
@@ -8525,20 +8519,20 @@ const Er = new Q("vec3", "fresnelSchlick", "float cosTheta, vec3 F0", `{
|
|
|
8525
8519
|
}`, []), l0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
8526
8520
|
__proto__: null,
|
|
8527
8521
|
SRGB2Lineal: A0,
|
|
8528
|
-
applyConvolution:
|
|
8522
|
+
applyConvolution: Bn,
|
|
8529
8523
|
brightnessContrast: f0,
|
|
8530
|
-
distributionGGX:
|
|
8531
|
-
fresnelSchlick:
|
|
8532
|
-
fresnelSchlickRoughness:
|
|
8533
|
-
geometrySchlickGGX:
|
|
8534
|
-
geometrySmith:
|
|
8535
|
-
getPrefilteredColor:
|
|
8524
|
+
distributionGGX: xr,
|
|
8525
|
+
fresnelSchlick: br,
|
|
8526
|
+
fresnelSchlickRoughness: Er,
|
|
8527
|
+
geometrySchlickGGX: wn,
|
|
8528
|
+
geometrySmith: Qr,
|
|
8529
|
+
getPrefilteredColor: Pn,
|
|
8536
8530
|
getShadowColor: a0,
|
|
8537
8531
|
lineal2SRGB: h0,
|
|
8538
8532
|
pbrAmbientLight: o0,
|
|
8539
|
-
pbrDirectionalLight:
|
|
8540
|
-
pbrPointLight:
|
|
8541
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
8533
|
+
pbrDirectionalLight: mn,
|
|
8534
|
+
pbrPointLight: vn
|
|
8535
|
+
}, Symbol.toStringTag, { value: "Module" })), Xr = {
|
|
8542
8536
|
webgl: {
|
|
8543
8537
|
vertex: `precision mediump float;
|
|
8544
8538
|
|
|
@@ -8570,19 +8564,19 @@ const Er = new Q("vec3", "fresnelSchlick", "float cosTheta, vec3 F0", `{
|
|
|
8570
8564
|
else {
|
|
8571
8565
|
discard;
|
|
8572
8566
|
}
|
|
8573
|
-
}`, [
|
|
8567
|
+
}`, [Bn])
|
|
8574
8568
|
]
|
|
8575
8569
|
)
|
|
8576
8570
|
}
|
|
8577
8571
|
};
|
|
8578
|
-
class
|
|
8572
|
+
class Cn extends V {
|
|
8579
8573
|
constructor(e) {
|
|
8580
8574
|
if (super(e), this._program = null, e.typeId !== "WebGL")
|
|
8581
8575
|
throw Error("SelectionHighlightShader is only compatible with WebGL renderer");
|
|
8582
8576
|
}
|
|
8583
8577
|
async load() {
|
|
8584
8578
|
const { gl: e } = this.renderer;
|
|
8585
|
-
this._program = new T(e, "SelectionHighlightShader"), this._program.attachVertexSource(
|
|
8579
|
+
this._program = new T(e, "SelectionHighlightShader"), this._program.attachVertexSource(Xr.webgl.vertex), this._program.attachFragmentSource(Xr.webgl.fragment), this._program.link(), this._borderWidth = 3, this._borderColor = new h([0, 0.7, 1, 1]), this._convMatrix = [
|
|
8586
8580
|
0,
|
|
8587
8581
|
1,
|
|
8588
8582
|
0,
|
|
@@ -8617,7 +8611,7 @@ class c0 {
|
|
|
8617
8611
|
}
|
|
8618
8612
|
async init() {
|
|
8619
8613
|
const e = this._renderer;
|
|
8620
|
-
this._targetTexture = new x(), this._targetTexture.renderTargetAttachment = Y.COLOR_ATTACHMENT_0, this._targetTexture.componentFormat = ie.UNSIGNED_BYTE, this._targetTexture.wrapModeXY = U.CLAMP, this._renderBuffer = e.factory.renderBuffer(), await this._renderBuffer.attachTexture(this._targetTexture), this._shader = new
|
|
8614
|
+
this._targetTexture = new x(), this._targetTexture.renderTargetAttachment = Y.COLOR_ATTACHMENT_0, this._targetTexture.componentFormat = ie.UNSIGNED_BYTE, this._targetTexture.wrapModeXY = U.CLAMP, this._renderBuffer = e.factory.renderBuffer(), await this._renderBuffer.attachTexture(this._targetTexture), this._shader = new Dr(e), await this._shader.load(), this._shader.forceDraw = !1, this._renderQueue = new St(e), this._renderQueue.enableQueue(k.SELECTION_DEFAULT, this._shader), this._frameVisitor = new Rt(this._renderQueue), this._selectionDrawShader = new Cn(e), await this._selectionDrawShader.load();
|
|
8621
8615
|
}
|
|
8622
8616
|
setViewportSize(e, r) {
|
|
8623
8617
|
this._renderBuffer.size = new h(e, r);
|
|
@@ -8642,7 +8636,7 @@ class g0 {
|
|
|
8642
8636
|
}
|
|
8643
8637
|
async init() {
|
|
8644
8638
|
const e = this._renderer;
|
|
8645
|
-
this._targetTexture = new x(), this._targetTexture.renderTargetAttachment = Y.COLOR_ATTACHMENT_0, this._targetTexture.componentFormat = ie.UNSIGNED_BYTE, this._targetTexture.wrapModeXY = U.CLAMP, this._renderBuffer = e.factory.renderBuffer(), await this._renderBuffer.attachTexture(this._targetTexture), this._shader = new
|
|
8639
|
+
this._targetTexture = new x(), this._targetTexture.renderTargetAttachment = Y.COLOR_ATTACHMENT_0, this._targetTexture.componentFormat = ie.UNSIGNED_BYTE, this._targetTexture.wrapModeXY = U.CLAMP, this._renderBuffer = e.factory.renderBuffer(), await this._renderBuffer.attachTexture(this._targetTexture), this._shader = new Dr(e), await this._shader.load(), this._renderQueue = new St(e), this._renderQueue.enableQueue(k.SELECTION_DEFAULT, this._shader), this._frameVisitor = new Rt(this._renderQueue);
|
|
8646
8640
|
}
|
|
8647
8641
|
reshape(e, r) {
|
|
8648
8642
|
this._renderBuffer && (this._renderBuffer.size = new h(e, r));
|
|
@@ -8786,7 +8780,7 @@ class d0 {
|
|
|
8786
8780
|
this._selectionBuffer?.destroy();
|
|
8787
8781
|
}
|
|
8788
8782
|
}
|
|
8789
|
-
const
|
|
8783
|
+
const kr = {
|
|
8790
8784
|
webgl: {
|
|
8791
8785
|
vertex: `precision mediump float;
|
|
8792
8786
|
|
|
@@ -8819,14 +8813,14 @@ const Yr = {
|
|
|
8819
8813
|
)
|
|
8820
8814
|
}
|
|
8821
8815
|
};
|
|
8822
|
-
class
|
|
8816
|
+
class pn extends V {
|
|
8823
8817
|
constructor(e) {
|
|
8824
8818
|
if (super(e), this._program = null, e.typeId !== "WebGL")
|
|
8825
8819
|
throw Error("DebugRenderShader is only compatible with WebGL renderer");
|
|
8826
8820
|
}
|
|
8827
8821
|
async load() {
|
|
8828
8822
|
const { gl: e } = this.renderer;
|
|
8829
|
-
this._program = new T(e, "DebugRenderShader"), this._program.attachVertexSource(
|
|
8823
|
+
this._program = new T(e, "DebugRenderShader"), this._program.attachVertexSource(kr.webgl.vertex), this._program.attachFragmentSource(kr.webgl.fragment), this._program.link();
|
|
8830
8824
|
}
|
|
8831
8825
|
setup(e, r, i, n, s) {
|
|
8832
8826
|
if (!this._program)
|
|
@@ -8838,7 +8832,7 @@ class bn extends V {
|
|
|
8838
8832
|
this._program && (T.Delete(this._program), this._program = null);
|
|
8839
8833
|
}
|
|
8840
8834
|
}
|
|
8841
|
-
const
|
|
8835
|
+
const Yr = {
|
|
8842
8836
|
webgl: {
|
|
8843
8837
|
vertex: `precision mediump float;
|
|
8844
8838
|
|
|
@@ -8871,14 +8865,14 @@ const jr = {
|
|
|
8871
8865
|
)
|
|
8872
8866
|
}
|
|
8873
8867
|
};
|
|
8874
|
-
class
|
|
8868
|
+
class Dn extends V {
|
|
8875
8869
|
constructor(e) {
|
|
8876
8870
|
if (super(e), this._program = null, e.typeId !== "WebGL")
|
|
8877
8871
|
throw Error("PresentDebugFramebufferShader is only compatible with WebGL renderer");
|
|
8878
8872
|
}
|
|
8879
8873
|
async load() {
|
|
8880
8874
|
const { gl: e } = this.renderer;
|
|
8881
|
-
this._program = new T(e, "PresentDebugFramebufferShader"), this._program.attachVertexSource(
|
|
8875
|
+
this._program = new T(e, "PresentDebugFramebufferShader"), this._program.attachVertexSource(Yr.webgl.vertex), this._program.attachFragmentSource(Yr.webgl.fragment), this._program.link(), this._borderWidth = 3, this._borderColor = new h([0, 0.7, 1, 1]), this._convMatrix = [
|
|
8882
8876
|
0,
|
|
8883
8877
|
1,
|
|
8884
8878
|
0,
|
|
@@ -8907,26 +8901,26 @@ class En extends V {
|
|
|
8907
8901
|
this._program && (T.Delete(this._program), this._program = null);
|
|
8908
8902
|
}
|
|
8909
8903
|
}
|
|
8910
|
-
const qt = {},
|
|
8904
|
+
const qt = {}, jr = (t, e) => (!t && e ? t = w.MakeTranslation(e) : t || (t = w.MakeIdentity()), t);
|
|
8911
8905
|
class xe {
|
|
8912
8906
|
static Get(e) {
|
|
8913
8907
|
return qt[e.uniqueId] || (qt[e.uniqueId] = new xe(e)), qt[e.uniqueId];
|
|
8914
8908
|
}
|
|
8915
8909
|
constructor(e) {
|
|
8916
|
-
this._renderer = e, this._objects = [], this._sphere =
|
|
8910
|
+
this._renderer = e, this._objects = [], this._sphere = gr(1), this._sphereRenderer = this.renderer.factory.polyList(this._sphere), this._arrow = Hi(1, 0.3), this._arrow.lineWidth = 3, this._arrowRenderer = this.renderer.factory.polyList(this._arrow), this._baseMaterial = new ne(), this._materialRenderer = this.renderer.factory.material(this._baseMaterial);
|
|
8917
8911
|
}
|
|
8918
8912
|
get renderer() {
|
|
8919
8913
|
return this._renderer;
|
|
8920
8914
|
}
|
|
8921
8915
|
async init() {
|
|
8922
8916
|
const e = this._renderer;
|
|
8923
|
-
this._shader = new
|
|
8917
|
+
this._shader = new pn(e), await this._shader.load(), this._presentShader = new Dn(e), await this._presentShader.load(), this._targetTexture = new x(), this._targetTexture.name = "DebugRendererTargetTexture", this._targetTexture.renderTargetAttachment = Y.COLOR_ATTACHMENT_0, this._targetTexture.componentFormat = ie.UNSIGNED_BYTE, this._targetTexture.wrapModeXY = U.CLAMP, this._renderBuffer = e.factory.renderBuffer(), await this._renderBuffer.attachTexture(this._targetTexture);
|
|
8924
8918
|
}
|
|
8925
8919
|
beginFrame() {
|
|
8926
8920
|
this._objects = [];
|
|
8927
8921
|
}
|
|
8928
8922
|
drawSphere({ radius: e = 1, color: r = p.White(), transformMatrix: i = null, position: n = null } = {}) {
|
|
8929
|
-
i =
|
|
8923
|
+
i = jr(i, n), this._objects.push({
|
|
8930
8924
|
renderer: this._sphereRenderer,
|
|
8931
8925
|
scale: e,
|
|
8932
8926
|
color: r,
|
|
@@ -8934,7 +8928,7 @@ class xe {
|
|
|
8934
8928
|
});
|
|
8935
8929
|
}
|
|
8936
8930
|
drawArrow({ length: e = 1, color: r = p.White(), transformMatrix: i = null, position: n = null } = {}) {
|
|
8937
|
-
i =
|
|
8931
|
+
i = jr(i, n), this._objects.push({
|
|
8938
8932
|
renderer: this._arrowRenderer,
|
|
8939
8933
|
scale: e,
|
|
8940
8934
|
color: r,
|
|
@@ -8965,7 +8959,7 @@ class xe {
|
|
|
8965
8959
|
this._renderBuffer.destroy(), this._targetTexture.destroy(), this._renderBuffer = null, this._targetTexture = null;
|
|
8966
8960
|
}
|
|
8967
8961
|
}
|
|
8968
|
-
class w0 extends
|
|
8962
|
+
class w0 extends en {
|
|
8969
8963
|
constructor() {
|
|
8970
8964
|
super(...arguments), this._sceneRoot = null, this._sceneRenderer = null, this._environment = null, this._selectionManager = null, this._selectionHighlight = null, this._debugRenderer = null;
|
|
8971
8965
|
}
|
|
@@ -9007,7 +9001,7 @@ class w0 extends rn {
|
|
|
9007
9001
|
async loadDone() {
|
|
9008
9002
|
}
|
|
9009
9003
|
async init() {
|
|
9010
|
-
if (
|
|
9004
|
+
if ($i(), await this.registerLoaders(), this._sceneRoot = await this.loadScene(), !this._sceneRoot)
|
|
9011
9005
|
throw new Error("SceneAppController.init: Failed to load scene.");
|
|
9012
9006
|
this._environment = await this.loadEnvironment(), this._environment || (this._environment = this.renderer.factory.environment(), await this._environment?.load()), this._sceneRenderer = this.renderer.factory.scene(), await this.sceneRenderer?.init({ shadowMapSize: new h(4096, 4096) }), this.environment && await this.sceneRenderer?.setEnvironment(this.environment), await this.sceneRenderer?.bindRenderer(this.sceneRoot), this.selectionManagerEnabled && (this._selectionManager = new d0(this.renderer), await this._selectionManager.init(), this._selectionManager.sceneRoot = this.sceneRoot), this.selectionHighlightEnabled && (this._selectionHighlight = new c0(this.renderer), await this._selectionHighlight.init()), this._debugRenderer = xe.Get(this.renderer), await this._debugRenderer?.init(), await this.loadDone();
|
|
9013
9007
|
}
|
|
@@ -9028,40 +9022,40 @@ class w0 extends rn {
|
|
|
9028
9022
|
this.sceneRenderer?.destroy(), this.selectionManagerEnabled && this.selectionManager?.destroy();
|
|
9029
9023
|
}
|
|
9030
9024
|
keyDown(e) {
|
|
9031
|
-
this.sceneRoot && this.sceneRenderer?.keyDown(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9025
|
+
this.sceneRoot && this.sceneRenderer?.keyDown(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9032
9026
|
}
|
|
9033
9027
|
keyUp(e) {
|
|
9034
|
-
this.sceneRoot && this.sceneRenderer?.keyUp(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9028
|
+
this.sceneRoot && this.sceneRenderer?.keyUp(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9035
9029
|
}
|
|
9036
9030
|
mouseUp(e) {
|
|
9037
|
-
this.sceneRoot && this.sceneRenderer?.mouseUp(this.sceneRoot, e), this.selectionManager?.mouseUp(e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9031
|
+
this.sceneRoot && this.sceneRenderer?.mouseUp(this.sceneRoot, e), this.selectionManager?.mouseUp(e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9038
9032
|
}
|
|
9039
9033
|
mouseDown(e) {
|
|
9040
|
-
this.sceneRoot && this.sceneRenderer?.mouseDown(this.sceneRoot, e), this.selectionManager?.mouseDown(e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9034
|
+
this.sceneRoot && this.sceneRenderer?.mouseDown(this.sceneRoot, e), this.selectionManager?.mouseDown(e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9041
9035
|
}
|
|
9042
9036
|
mouseMove(e) {
|
|
9043
|
-
this.sceneRoot && this.sceneRenderer?.mouseMove(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9037
|
+
this.sceneRoot && this.sceneRenderer?.mouseMove(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9044
9038
|
}
|
|
9045
9039
|
mouseOut(e) {
|
|
9046
|
-
this.sceneRoot && this.sceneRenderer?.mouseOut(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9040
|
+
this.sceneRoot && this.sceneRenderer?.mouseOut(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9047
9041
|
}
|
|
9048
9042
|
mouseDrag(e) {
|
|
9049
|
-
this.sceneRoot && this.sceneRenderer?.mouseDrag(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9043
|
+
this.sceneRoot && this.sceneRenderer?.mouseDrag(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9050
9044
|
}
|
|
9051
9045
|
mouseWheel(e) {
|
|
9052
|
-
this.sceneRoot && this.sceneRenderer?.mouseWheel(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9046
|
+
this.sceneRoot && this.sceneRenderer?.mouseWheel(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9053
9047
|
}
|
|
9054
9048
|
touchStart(e) {
|
|
9055
|
-
this.sceneRoot && this.sceneRenderer?.touchStart(this.sceneRoot, e), this.selectionManager?.touchStart(e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9049
|
+
this.sceneRoot && this.sceneRenderer?.touchStart(this.sceneRoot, e), this.selectionManager?.touchStart(e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9056
9050
|
}
|
|
9057
9051
|
touchMove(e) {
|
|
9058
|
-
this.sceneRoot && this.sceneRenderer?.touchMove(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9052
|
+
this.sceneRoot && this.sceneRenderer?.touchMove(this.sceneRoot, e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9059
9053
|
}
|
|
9060
9054
|
touchEnd(e) {
|
|
9061
|
-
this.sceneRoot && this.sceneRenderer?.touchEnd(this.sceneRoot, e), this.selectionManager?.touchEnd(e), this.updateOnInputEvents && this.mainLoop.postRedisplay();
|
|
9055
|
+
this.sceneRoot && this.sceneRenderer?.touchEnd(this.sceneRoot, e), this.selectionManager?.touchEnd(e), this.updateOnInputEvents && this.mainLoop.postRedisplay({ frames: 60 });
|
|
9062
9056
|
}
|
|
9063
9057
|
}
|
|
9064
|
-
const
|
|
9058
|
+
const Vr = {
|
|
9065
9059
|
webgl: {
|
|
9066
9060
|
vertex: `precision mediump float;
|
|
9067
9061
|
attribute vec3 position;
|
|
@@ -9091,14 +9085,14 @@ const Kr = {
|
|
|
9091
9085
|
)
|
|
9092
9086
|
}
|
|
9093
9087
|
};
|
|
9094
|
-
class
|
|
9088
|
+
class bn extends V {
|
|
9095
9089
|
constructor(e) {
|
|
9096
9090
|
if (super(e), this._program = null, e.typeId !== "WebGL")
|
|
9097
9091
|
throw Error("DepthRenderShader is only compatible with WebGL renderer");
|
|
9098
9092
|
}
|
|
9099
9093
|
async load() {
|
|
9100
9094
|
const { gl: e } = this.renderer;
|
|
9101
|
-
this._program = new T(e, "DepthRenderShader"), this._program.attachVertexSource(
|
|
9095
|
+
this._program = new T(e, "DepthRenderShader"), this._program.attachVertexSource(Vr.webgl.vertex), this._program.attachFragmentSource(Vr.webgl.fragment), this._program.link();
|
|
9102
9096
|
}
|
|
9103
9097
|
setup(e, r, i, n, s) {
|
|
9104
9098
|
if (!this._program)
|
|
@@ -9110,7 +9104,7 @@ class xn extends V {
|
|
|
9110
9104
|
this._program && (T.Delete(this._program), this._program = null);
|
|
9111
9105
|
}
|
|
9112
9106
|
}
|
|
9113
|
-
class
|
|
9107
|
+
class En {
|
|
9114
9108
|
constructor(e) {
|
|
9115
9109
|
this._size = null, this._texture = null, this._renderBuffer = null, this._depthTexture = null, this._shader = null, this._renderer = e, this._shadowMapRenderDistance = 100, this._debug = !1;
|
|
9116
9110
|
}
|
|
@@ -9137,7 +9131,7 @@ class Qn {
|
|
|
9137
9131
|
return this._depthTexture;
|
|
9138
9132
|
}
|
|
9139
9133
|
async create(e = new h(1024, 1024)) {
|
|
9140
|
-
this._size = e, this._texture = new x(), this._texture.name = `ShadowMap_${e.width}x${e.height}`, this._texture.renderTargetAttachment = Y.COLOR_ATTACHMENT_0, this._texture.componentFormat = ie.UNSIGNED_BYTE, this._texture.wrapModeXY = U.CLAMP, this._renderBuffer = this.renderer.factory.renderBuffer(), await this._renderBuffer.attachTexture(this._texture), this._depthTexture = new x(), this._depthTexture.name = `ShadowMapDepth_${e.width}x${e.height}`, this._depthTexture.renderTargetAttachment = Y.DEPTH_ATTACHMENT, this._depthTexture.componentFormat = ie.UNSIGNED_BYTE, this._depthTexture.wrapModeXY = U.CLAMP, await this._renderBuffer.attachTexture(this._depthTexture), this._renderBuffer.size = this._size, this._shader = new
|
|
9134
|
+
this._size = e, this._texture = new x(), this._texture.name = `ShadowMap_${e.width}x${e.height}`, this._texture.renderTargetAttachment = Y.COLOR_ATTACHMENT_0, this._texture.componentFormat = ie.UNSIGNED_BYTE, this._texture.wrapModeXY = U.CLAMP, this._renderBuffer = this.renderer.factory.renderBuffer(), await this._renderBuffer.attachTexture(this._texture), this._depthTexture = new x(), this._depthTexture.name = `ShadowMapDepth_${e.width}x${e.height}`, this._depthTexture.renderTargetAttachment = Y.DEPTH_ATTACHMENT, this._depthTexture.componentFormat = ie.UNSIGNED_BYTE, this._depthTexture.wrapModeXY = U.CLAMP, await this._renderBuffer.attachTexture(this._depthTexture), this._renderBuffer.size = this._size, this._shader = new bn(this.renderer), await this._shader.load();
|
|
9141
9135
|
}
|
|
9142
9136
|
getLightTransform(e, r) {
|
|
9143
9137
|
let i = null, n = null, s = null;
|
|
@@ -9166,7 +9160,7 @@ class Qn {
|
|
|
9166
9160
|
}), r.depthTexture = this._depthTexture, r.viewMatrix = n;
|
|
9167
9161
|
}
|
|
9168
9162
|
}
|
|
9169
|
-
const
|
|
9163
|
+
const Kr = {
|
|
9170
9164
|
webgl: {
|
|
9171
9165
|
vertex: `precision mediump float;
|
|
9172
9166
|
|
|
@@ -9195,14 +9189,14 @@ const Wr = {
|
|
|
9195
9189
|
}`
|
|
9196
9190
|
}
|
|
9197
9191
|
};
|
|
9198
|
-
class
|
|
9192
|
+
class xn extends V {
|
|
9199
9193
|
constructor(e) {
|
|
9200
9194
|
if (super(e), this._program = null, e.typeId !== "WebGL")
|
|
9201
9195
|
throw Error("SkyCubeShader is only compatible with WebGL renderer");
|
|
9202
9196
|
}
|
|
9203
9197
|
async load() {
|
|
9204
9198
|
const { gl: e } = this.renderer;
|
|
9205
|
-
this._program = new T(e, "SkyCubeShader"), this._program.attachVertexSource(
|
|
9199
|
+
this._program = new T(e, "SkyCubeShader"), this._program.attachVertexSource(Kr.webgl.vertex), this._program.attachFragmentSource(Kr.webgl.fragment), this._program.link();
|
|
9206
9200
|
}
|
|
9207
9201
|
setup(e, r, i, n, s) {
|
|
9208
9202
|
if (!this._program)
|
|
@@ -9218,7 +9212,7 @@ class Tn extends V {
|
|
|
9218
9212
|
this._program && (T.Delete(this._program), this._program = null);
|
|
9219
9213
|
}
|
|
9220
9214
|
}
|
|
9221
|
-
class
|
|
9215
|
+
class Qn {
|
|
9222
9216
|
constructor(e) {
|
|
9223
9217
|
this._renderer = e, this._texture = null, this._material = null, this._shader = null, this._plistRenderer = null, this._renderState = null;
|
|
9224
9218
|
}
|
|
@@ -9233,7 +9227,7 @@ class yn {
|
|
|
9233
9227
|
this._texture = e, this._material.albedoTexture = this._texture;
|
|
9234
9228
|
}
|
|
9235
9229
|
async load(e, r = null, i = []) {
|
|
9236
|
-
this._texture = e, this._material = new ne(), this._material.albedoTexture = this._texture, this._shader = r ? new r(this.renderer) : new
|
|
9230
|
+
this._texture = e, this._material = new ne(), this._material.albedoTexture = this._texture, this._shader = r ? new r(this.renderer) : new xn(this.renderer), await this._shader?.load();
|
|
9237
9231
|
}
|
|
9238
9232
|
updateRenderState({ viewMatrix: e, projectionMatrix: r = null }) {
|
|
9239
9233
|
const i = w.GetRotation(e);
|
|
@@ -9257,7 +9251,7 @@ class yn {
|
|
|
9257
9251
|
}
|
|
9258
9252
|
get polyListRenderer() {
|
|
9259
9253
|
if (!this._plistRenderer) {
|
|
9260
|
-
const e =
|
|
9254
|
+
const e = Ni(1, 1, 1);
|
|
9261
9255
|
e.cullFace = De.FRONT, this._plistRenderer = this.renderer.factory.polyList(e);
|
|
9262
9256
|
}
|
|
9263
9257
|
return this._plistRenderer;
|
|
@@ -9266,7 +9260,7 @@ class yn {
|
|
|
9266
9260
|
this._shader?.destroy(), this._texture?.destroy(), this._plistRenderer?.destroy(), this._material?.destroy(), this._shader = null, this._texture = null, this._material = null, this._plistRenderer = null, this._renderState = null;
|
|
9267
9261
|
}
|
|
9268
9262
|
}
|
|
9269
|
-
class
|
|
9263
|
+
class Tn {
|
|
9270
9264
|
constructor(e, r) {
|
|
9271
9265
|
if (r.renderer)
|
|
9272
9266
|
throw new Error("Invalid initialization of texture renderer: The texture object is already controlled by another texture renderer.");
|
|
@@ -9285,7 +9279,7 @@ class Mn {
|
|
|
9285
9279
|
throw new Error("TextureRenderer: destroy() invalid usage of generic implementation of TextureRenderer");
|
|
9286
9280
|
}
|
|
9287
9281
|
}
|
|
9288
|
-
class
|
|
9282
|
+
class yn extends on {
|
|
9289
9283
|
clear({ color: e = !0, depth: r = !0, stencil: i = !1 } = {}) {
|
|
9290
9284
|
const { state: n } = this.renderer;
|
|
9291
9285
|
n.clear({ color: e, depth: r, stencil: i });
|
|
@@ -9296,18 +9290,18 @@ const v0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIAEAIAAAArip/uAA
|
|
|
9296
9290
|
blackTexture: {},
|
|
9297
9291
|
normalTexture: {},
|
|
9298
9292
|
brdfIntegrationTexture: {}
|
|
9299
|
-
},
|
|
9293
|
+
}, Tr = async (t, e = "") => {
|
|
9300
9294
|
const r = new x();
|
|
9301
9295
|
return r.magFilter = q.NEAREST, r.minFilter = q.NEAREST, r.wrapModeXY = U.REPEAT, r.proceduralFunction = Pe.PLAIN_COLOR, r.proceduralParameters = t, r.size = [2, 2], e = e || `ColorTexture_${t.r}_${t.g}_${t.b}_${t.a}`, r.name = `${e}_${r.size.width}_${r.size.height}`, await r.loadImageData(), r;
|
|
9302
|
-
}, m0 = async (t) => (F.whiteTexture[t.uniqueId] || (F.whiteTexture[t.uniqueId] = await
|
|
9296
|
+
}, m0 = async (t) => (F.whiteTexture[t.uniqueId] || (F.whiteTexture[t.uniqueId] = await Tr(p.White(), "WhiteTexture")), F.whiteTexture[t.uniqueId]), P0 = (t) => {
|
|
9303
9297
|
if (!F.whiteTexture[t.uniqueId])
|
|
9304
9298
|
throw new Error("TextureResourceDatabase: whiteTexture is not initialize. Call 'createWhiteTexture' before use 'whiteTexture' function");
|
|
9305
9299
|
return F.whiteTexture[t.uniqueId];
|
|
9306
|
-
}, B0 = async (t) => (F.blackTexture[t.uniqueId] || (F.blackTexture[t.uniqueId] = await
|
|
9300
|
+
}, B0 = async (t) => (F.blackTexture[t.uniqueId] || (F.blackTexture[t.uniqueId] = await Tr(p.Black(), "BlackTexture")), F.blackTexture[t.uniqueId]), C0 = (t) => {
|
|
9307
9301
|
if (!F.blackTexture[t.uniqueId])
|
|
9308
9302
|
throw new Error("TextureResourceDatabase: blackTexture is not initialize. Call 'createBlackTexture' before use 'blackTexture' function");
|
|
9309
9303
|
return F.blackTexture[t.uniqueId];
|
|
9310
|
-
},
|
|
9304
|
+
}, Mn = async (t) => (F.normalTexture[t.uniqueId] || (F.normalTexture[t.uniqueId] = await Tr(new p([0.5, 0.5, 1, 1]), "NormalMapTexture")), F.normalTexture[t.uniqueId]), Nn = (t) => {
|
|
9311
9305
|
if (!F.normalTexture[t.uniqueId])
|
|
9312
9306
|
throw new Error("TextureResourceDatabase: normalTexture is not initialized. Call 'createNormalTexture' before use 'normalTexture' function");
|
|
9313
9307
|
return F.normalTexture[t.uniqueId];
|
|
@@ -9320,7 +9314,7 @@ const v0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIAEAIAAAArip/uAA
|
|
|
9320
9314
|
}
|
|
9321
9315
|
return F.brdfIntegrationTexture[t.uniqueId];
|
|
9322
9316
|
};
|
|
9323
|
-
class or extends
|
|
9317
|
+
class or extends an {
|
|
9324
9318
|
static async InitResources(e) {
|
|
9325
9319
|
await m0(e), await B0(e);
|
|
9326
9320
|
}
|
|
@@ -9406,7 +9400,7 @@ const D0 = (t, e) => {
|
|
|
9406
9400
|
}
|
|
9407
9401
|
throw new Error(`Invalid blend function specified in WebGLPipeline: ${e}`);
|
|
9408
9402
|
};
|
|
9409
|
-
class
|
|
9403
|
+
class Hn extends hn {
|
|
9410
9404
|
create() {
|
|
9411
9405
|
const { gl: e } = this.renderer;
|
|
9412
9406
|
if (this._blendEquation = D0(e, this.blendState.blendEquation), this._blendFuncSrcColor = ft(e, this.blendState.blendFuncSrc), this._blendFuncSrcAlpha = ft(e, this.blendState.blendFuncSrcAlpha), this._blendFuncDstColor = ft(e, this.blendState.blendFuncDst), this._blendFuncDstAlpha = ft(e, this.blendState.blendFuncDstAlpha), this._blendFuncDstAlpha === null && this._blendFuncSrcAlpha !== null || this._blendFuncDstAlpha !== null && this._blendFuncSrcAlpha === null)
|
|
@@ -9423,9 +9417,9 @@ class Ln extends fn {
|
|
|
9423
9417
|
), r.depthTestEnabled = this.depthTest, this.cullFace ? e.enable(e.CULL_FACE) : e.disable(e.CULL_FACE);
|
|
9424
9418
|
}
|
|
9425
9419
|
}
|
|
9426
|
-
var Se = /* @__PURE__ */ ((t) => (t[t.ARRAY_BUFFER = 0] = "ARRAY_BUFFER", t[t.ELEMENT_ARRAY_BUFFER = 1] = "ELEMENT_ARRAY_BUFFER", t[t.COPY_READ_BUFFER = 2] = "COPY_READ_BUFFER", t[t.COPY_WRITE_BUFFER = 3] = "COPY_WRITE_BUFFER", t[t.TRANSFORM_FEEDBACK_BUFFER = 4] = "TRANSFORM_FEEDBACK_BUFFER", t[t.UNIFORM_BUFFER = 5] = "UNIFORM_BUFFER", t[t.PIXEL_PACK_BUFFER = 6] = "PIXEL_PACK_BUFFER", t[t.PIXEL_UNPACK_BUFFER = 7] = "PIXEL_UNPACK_BUFFER", t))(Se || {}),
|
|
9420
|
+
var Se = /* @__PURE__ */ ((t) => (t[t.ARRAY_BUFFER = 0] = "ARRAY_BUFFER", t[t.ELEMENT_ARRAY_BUFFER = 1] = "ELEMENT_ARRAY_BUFFER", t[t.COPY_READ_BUFFER = 2] = "COPY_READ_BUFFER", t[t.COPY_WRITE_BUFFER = 3] = "COPY_WRITE_BUFFER", t[t.TRANSFORM_FEEDBACK_BUFFER = 4] = "TRANSFORM_FEEDBACK_BUFFER", t[t.UNIFORM_BUFFER = 5] = "UNIFORM_BUFFER", t[t.PIXEL_PACK_BUFFER = 6] = "PIXEL_PACK_BUFFER", t[t.PIXEL_UNPACK_BUFFER = 7] = "PIXEL_UNPACK_BUFFER", t))(Se || {}), zn = /* @__PURE__ */ ((t) => (t[t.STATIC_DRAW = 0] = "STATIC_DRAW", t[t.DYNAMIC_DRAW = 1] = "DYNAMIC_DRAW", t[t.STREAM_DRAW = 2] = "STREAM_DRAW", t[t.STATIC_READ = 3] = "STATIC_READ", t[t.DYNAMIC_READ = 4] = "DYNAMIC_READ", t[t.STREAM_READ = 5] = "STREAM_READ", t[t.STATIC_COPY = 6] = "STATIC_COPY", t[t.DYNAMIC_COPY = 7] = "DYNAMIC_COPY", t[t.STREAM_COPY = 8] = "STREAM_COPY", t))(zn || {});
|
|
9427
9421
|
const Xe = [], ke = [], we = {};
|
|
9428
|
-
let
|
|
9422
|
+
let Wr = 0;
|
|
9429
9423
|
class he {
|
|
9430
9424
|
static Delete(e) {
|
|
9431
9425
|
if (!e._buffer || !e._gl) return;
|
|
@@ -9463,7 +9457,7 @@ class he {
|
|
|
9463
9457
|
return this._buffer?._bg2e_id_;
|
|
9464
9458
|
}
|
|
9465
9459
|
constructor(e) {
|
|
9466
|
-
this._gl = e, this._buffer = e.createBuffer(), e._bg2_id_ = e._bg2_id_ ?? ++
|
|
9460
|
+
this._gl = e, this._buffer = e.createBuffer(), e._bg2_id_ = e._bg2_id_ ?? ++Wr, this._buffer._bg2e_id_ = ++Wr;
|
|
9467
9461
|
const r = e._bg2_id_;
|
|
9468
9462
|
we[r] = we[r] || {}, we[r][this._buffer._bg2e_id_] = this, Xe.length === 0 && (Xe.push(e.ARRAY_BUFFER), Xe.push(e.ELEMENT_ARRAY_BUFFER)), ke.length === 0 && (ke.push(e.STATIC_DRAW), ke.push(e.DYNAMIC_DRAW), ke.push(e.STREAM_DRAW));
|
|
9469
9463
|
}
|
|
@@ -9481,7 +9475,7 @@ class he {
|
|
|
9481
9475
|
);
|
|
9482
9476
|
}
|
|
9483
9477
|
}
|
|
9484
|
-
class
|
|
9478
|
+
class Ln extends An {
|
|
9485
9479
|
constructor(e, r) {
|
|
9486
9480
|
super(e, r), this._vertexBuffer = null, this._indexBuffer = null, this._indexArrayFormat = null, this._stride = 0, this._offsets = { vertex: 0, normal: 0, texCoord0: 0, texCoord1: 0, texCoord2: 0, color: 0, tangent: 0 };
|
|
9487
9481
|
}
|
|
@@ -9623,7 +9617,7 @@ function E0(t, e) {
|
|
|
9623
9617
|
function x0(t, e) {
|
|
9624
9618
|
return t[Be[e.target]];
|
|
9625
9619
|
}
|
|
9626
|
-
class
|
|
9620
|
+
class In extends ln {
|
|
9627
9621
|
constructor(e) {
|
|
9628
9622
|
super(e);
|
|
9629
9623
|
}
|
|
@@ -9711,7 +9705,7 @@ class Rn extends gn {
|
|
|
9711
9705
|
e.bindFramebuffer(e.FRAMEBUFFER, null), this.renderer.state.viewport = this._screenViewport;
|
|
9712
9706
|
}
|
|
9713
9707
|
}
|
|
9714
|
-
const
|
|
9708
|
+
const Sn = `#ifndef COLOR_CORRECTION_GLSL
|
|
9715
9709
|
#define COLOR_CORRECTION_GLSL
|
|
9716
9710
|
|
|
9717
9711
|
// Convert lineal color to SRGB for shader output
|
|
@@ -9764,7 +9758,7 @@ vec4 brightnessContrast(vec4 color, float brightness, float contrast)
|
|
|
9764
9758
|
#define LIGHT_TYPE_DIRECTIONAL 4
|
|
9765
9759
|
#define LIGHT_TYPE_SPOT 1
|
|
9766
9760
|
#define LIGHT_TYPE_DISABLED 10
|
|
9767
|
-
`,
|
|
9761
|
+
`, Rn = `
|
|
9768
9762
|
mat3 TBNMatrix(mat4 model, vec3 normal, vec3 tangent)
|
|
9769
9763
|
{
|
|
9770
9764
|
vec3 T = normalize(vec3(model * vec4(tangent, 0.0)));
|
|
@@ -9773,7 +9767,7 @@ mat3 TBNMatrix(mat4 model, vec3 normal, vec3 tangent)
|
|
|
9773
9767
|
return mat3(T, B, N);
|
|
9774
9768
|
}
|
|
9775
9769
|
|
|
9776
|
-
`,
|
|
9770
|
+
`, On = `
|
|
9777
9771
|
#include "lib/constants.glsl"
|
|
9778
9772
|
|
|
9779
9773
|
vec3 fresnelSchlick(float cosTheta, vec3 F0)
|
|
@@ -9946,7 +9940,7 @@ vec3 getShadowColor(vec4 positionFromLightPov, sampler2D shadowMap, float shadow
|
|
|
9946
9940
|
}
|
|
9947
9941
|
return vec3(1.0);
|
|
9948
9942
|
}
|
|
9949
|
-
`,
|
|
9943
|
+
`, Fn = `
|
|
9950
9944
|
struct PBRMaterialData
|
|
9951
9945
|
{
|
|
9952
9946
|
vec4 albedo;
|
|
@@ -10042,27 +10036,27 @@ let _t = null;
|
|
|
10042
10036
|
function T0() {
|
|
10043
10037
|
return _t || (_t = [
|
|
10044
10038
|
...Ue(Q0),
|
|
10039
|
+
...Ue(Sn),
|
|
10040
|
+
...Ue(Rn),
|
|
10045
10041
|
...Ue(On),
|
|
10046
|
-
...Ue(Fn)
|
|
10047
|
-
...Ue(Gn),
|
|
10048
|
-
...Ue(Un)
|
|
10042
|
+
...Ue(Fn)
|
|
10049
10043
|
]), _t;
|
|
10050
10044
|
}
|
|
10051
10045
|
let $t = null;
|
|
10052
10046
|
function y0() {
|
|
10053
|
-
return $t || ($t = Ot(
|
|
10047
|
+
return $t || ($t = Ot(Sn)), $t;
|
|
10054
10048
|
}
|
|
10055
10049
|
let er = null;
|
|
10056
|
-
function
|
|
10057
|
-
return er || (er = Ot(
|
|
10050
|
+
function Jr() {
|
|
10051
|
+
return er || (er = Ot(Rn)), er;
|
|
10058
10052
|
}
|
|
10059
10053
|
let tr = null;
|
|
10060
10054
|
function M0() {
|
|
10061
|
-
return tr || (tr = Ot(
|
|
10055
|
+
return tr || (tr = Ot(On)), tr;
|
|
10062
10056
|
}
|
|
10063
10057
|
let rr = null;
|
|
10064
10058
|
function N0() {
|
|
10065
|
-
return rr || (rr = Ot(
|
|
10059
|
+
return rr || (rr = Ot(Fn)), rr;
|
|
10066
10060
|
}
|
|
10067
10061
|
function H0(t) {
|
|
10068
10062
|
const e = T0();
|
|
@@ -10123,12 +10117,12 @@ function z0(t, e) {
|
|
|
10123
10117
|
gl_Position = uProj * uView * uWorld * vec4(inPosition,1.0);
|
|
10124
10118
|
fragTBN = TBNMatrix(uWorld, inNormal, inTangent);
|
|
10125
10119
|
}`, [
|
|
10126
|
-
...
|
|
10120
|
+
...Jr()
|
|
10127
10121
|
])
|
|
10128
10122
|
]
|
|
10129
10123
|
), n = [
|
|
10130
10124
|
...y0(),
|
|
10131
|
-
...
|
|
10125
|
+
...Jr(),
|
|
10132
10126
|
...N0(),
|
|
10133
10127
|
...M0()
|
|
10134
10128
|
], s = H0(Q.GetShaderCode(
|
|
@@ -10274,14 +10268,14 @@ function z0(t, e) {
|
|
|
10274
10268
|
));
|
|
10275
10269
|
return this._programs[e] = T.Create(r.gl, "PBRLightIBL", i, s), this._programs[e];
|
|
10276
10270
|
}
|
|
10277
|
-
class
|
|
10271
|
+
class Gn extends V {
|
|
10278
10272
|
constructor(e) {
|
|
10279
10273
|
if (super(e), this._lightTypes = [], this._lightPositions = [], this._lightDirections = [], this._lightColors = [], this._lightIntensities = [], this._brdfIntegrationTexture = null, this._environment = null, this._program = null, this._lights = [], this._lightTransforms = [], this._brightness = 0.2, this._contrast = 1.1, this._cameraPosition = new h(0, 0, 0), e.typeId !== "WebGL")
|
|
10280
10274
|
throw Error("PresentTextureShader is only compatible with WebGL renderer");
|
|
10281
10275
|
this._programs = {};
|
|
10282
10276
|
}
|
|
10283
10277
|
async load() {
|
|
10284
|
-
await
|
|
10278
|
+
await Mn(this.renderer), this._brdfIntegrationTexture = await p0(this.renderer);
|
|
10285
10279
|
}
|
|
10286
10280
|
get brightness() {
|
|
10287
10281
|
return this._brightness;
|
|
@@ -10343,7 +10337,7 @@ class Xn extends V {
|
|
|
10343
10337
|
const a = r.material;
|
|
10344
10338
|
r.mergeTextures(), o.state.shaderProgram = this._program;
|
|
10345
10339
|
const f = w.GetNormalMatrix(i);
|
|
10346
|
-
if (this._program.bindMatrix("uNormMatrix", f), this._program.bindMatrix("uWorld", i), this._program.bindMatrix("uView", n), this._program.bindMatrix("uViewInverse", w.GetInverted(n)), this._program.bindMatrix("uProj", s), this._cameraPosition ? this._program.bindVector("uCameraPos", this._cameraPosition) : (console.warn("Serious performance warning: camera position not set in BasicPBRLightShader. Extracting the camera position from the view matrix involves inverting the matrix."), this._program.bindVector("uCameraPos", w.GetPosition(w.GetInverted(n)))), r.bindTexture(this._program, "albedoTexture", "uAlbedoTexture", 0), r.bindTexture(this._program, "normalTexture", "uNormalTexture", 1,
|
|
10340
|
+
if (this._program.bindMatrix("uNormMatrix", f), this._program.bindMatrix("uWorld", i), this._program.bindMatrix("uView", n), this._program.bindMatrix("uViewInverse", w.GetInverted(n)), this._program.bindMatrix("uProj", s), this._cameraPosition ? this._program.bindVector("uCameraPos", this._cameraPosition) : (console.warn("Serious performance warning: camera position not set in BasicPBRLightShader. Extracting the camera position from the view matrix involves inverting the matrix."), this._program.bindVector("uCameraPos", w.GetPosition(w.GetInverted(n)))), r.bindTexture(this._program, "albedoTexture", "uAlbedoTexture", 0), r.bindTexture(this._program, "normalTexture", "uNormalTexture", 1, Nn(this.renderer)), r.bindMetalnessRoughnessHeightAOTexture(this._program, "uMetallicRoughnessHeightAOTexture", 2), this._program.uniform1f("uAlphaTresshold", a.alphaCutoff), r.bindColor(this._program, "albedo", "uAlbedo"), r.bindValue(this._program, "metalness", "uMetallic"), r.bindValue(this._program, "roughness", "uRoughness"), r.bindValue(this._program, "lightEmission", "uLightEmission", 0), this._program.uniform1i("uAlbedoMap", a.albedoUV), this._program.uniform1i("uNormalMap", a.normalUV), this._program.uniform1i("uAOMap", a.ambientOcclussionUV), this._program.uniform1i("uMetallicMap", a.metalnessChannel), this._program.uniform1i("uRoughnessMap", a.roughnessChannel), this._program.uniform1i("uLightemissionMap", a.lightEmissionChannel), this._program.bindVector("uAlbedoScale", a.albedoScale), this._program.bindVector("uNormalScale", a.normalScale), this._program.bindVector("uMetallicScale", a.metalnessScale), this._program.bindVector("uRoughnessScale", a.roughnessScale), this._program.bindVector("uLightEmissionScale", a.lightEmissionScale), this._program.bindVector("uFresnelTint", a.fresnelTint), this._program.bindVector("uSheenColor", a.sheenColor), this._program.uniform1f("uSheenIntensity", a.sheenIntensity), !this.irradianceMap || !this.specularMap || !this.environmentMap || !this._brdfIntegrationTexture)
|
|
10347
10341
|
throw new Error("PBRLightIBLShader: Environment maps not set.");
|
|
10348
10342
|
const c = this.renderer.factory.texture(this.irradianceMap), d = this.renderer.factory.texture(this.specularMap), P = this.renderer.factory.texture(this.environmentMap), C = this.renderer.factory.texture(this._brdfIntegrationTexture);
|
|
10349
10343
|
this._program.bindTexture("uIrradianceMap", c, 3), this._program.bindTexture("uSpecularMap", d, 4), this._program.bindTexture("uEnvMap", P, 5), this._program.bindTexture("uBRDFIntegrationMap", C, 6), this._program.uniform1f("uBrightness", this._brightness), this._program.uniform1f("uContrast", this._contrast), this._program.uniform1f("uAmbientIntensity", 1);
|
|
@@ -10368,9 +10362,9 @@ class Xn extends V {
|
|
|
10368
10362
|
this._program && T.Delete(this._program);
|
|
10369
10363
|
}
|
|
10370
10364
|
}
|
|
10371
|
-
class
|
|
10365
|
+
class Un extends un {
|
|
10372
10366
|
constructor(e) {
|
|
10373
|
-
super(e), this._shader = new
|
|
10367
|
+
super(e), this._shader = new Gn(this.renderer);
|
|
10374
10368
|
}
|
|
10375
10369
|
get shader() {
|
|
10376
10370
|
return this._shader;
|
|
@@ -10403,9 +10397,9 @@ class kn extends wn {
|
|
|
10403
10397
|
this.shader.cameraPosition = s;
|
|
10404
10398
|
}
|
|
10405
10399
|
}
|
|
10406
|
-
class
|
|
10400
|
+
class Xn extends En {
|
|
10407
10401
|
}
|
|
10408
|
-
class
|
|
10402
|
+
class kn extends Qn {
|
|
10409
10403
|
draw() {
|
|
10410
10404
|
const { state: e } = this.renderer;
|
|
10411
10405
|
if (!this._renderState)
|
|
@@ -10414,7 +10408,7 @@ class jn extends yn {
|
|
|
10414
10408
|
e.depthMask = !1, this._renderState.draw(), e.depthMask = r;
|
|
10415
10409
|
}
|
|
10416
10410
|
}
|
|
10417
|
-
class
|
|
10411
|
+
class Yn extends ur {
|
|
10418
10412
|
draw() {
|
|
10419
10413
|
const e = this.renderer;
|
|
10420
10414
|
if (!this._renderState)
|
|
@@ -10423,7 +10417,7 @@ class Vn extends dr {
|
|
|
10423
10417
|
e.state.depthMask = !1, this._renderState.draw(), e.state.depthMask = r;
|
|
10424
10418
|
}
|
|
10425
10419
|
}
|
|
10426
|
-
class
|
|
10420
|
+
class jn {
|
|
10427
10421
|
get CW() {
|
|
10428
10422
|
return this.gl.CW;
|
|
10429
10423
|
}
|
|
@@ -10543,11 +10537,11 @@ const L0 = (t, e) => {
|
|
|
10543
10537
|
if (e === 1)
|
|
10544
10538
|
return t.CLAMP_TO_EDGE;
|
|
10545
10539
|
{
|
|
10546
|
-
const r =
|
|
10540
|
+
const r = Qi(e);
|
|
10547
10541
|
return t[r];
|
|
10548
10542
|
}
|
|
10549
|
-
},
|
|
10550
|
-
const r =
|
|
10543
|
+
}, Zr = (t, e) => {
|
|
10544
|
+
const r = Ti(e);
|
|
10551
10545
|
return t[r];
|
|
10552
10546
|
}, I0 = (t, e) => {
|
|
10553
10547
|
switch (e.componentFormat) {
|
|
@@ -10562,12 +10556,12 @@ const L0 = (t, e) => {
|
|
|
10562
10556
|
e._apiObject = t.createTexture(), e._apiObject._bg2_uuid = Pt(), t._bg2_textures = t._bg2_textures || {};
|
|
10563
10557
|
let r = e.name || e._apiObject._bg2_uuid;
|
|
10564
10558
|
t._bg2_textures[r] && t._bg2_textures[r] !== e && (r = e.name + "_" + e._apiObject._bg2_uuid), t._bg2_textures[r] = e;
|
|
10565
|
-
},
|
|
10559
|
+
}, Vn = (t, e) => {
|
|
10566
10560
|
e._apiObject && (t.deleteTexture(e._apiObject), delete t._bg2_textures[e._apiObject._bg2_uuid], e._apiObject = null, e.setUpdated(!1));
|
|
10567
10561
|
}, R0 = (t, e) => {
|
|
10568
10562
|
if (!e.imageData)
|
|
10569
10563
|
throw new Error("Error loading WebGL texture: image data not loaded");
|
|
10570
|
-
|
|
10564
|
+
Vn(t, e), S0(t, e);
|
|
10571
10565
|
const r = L0(t, e), i = I0(t, e);
|
|
10572
10566
|
if (t.bindTexture(r, e._apiObject), e.dataType === Qe.RENDER_TARGET) {
|
|
10573
10567
|
const { width: n, height: s } = e.size, o = e.renderTargetAttachment === Y.DEPTH_ATTACHMENT, a = o ? t.DEPTH_COMPONENT : t.RGBA;
|
|
@@ -10580,9 +10574,9 @@ const L0 = (t, e) => {
|
|
|
10580
10574
|
t.texImage2D(r, 0, a, n, s, 0, f, c, null);
|
|
10581
10575
|
e.imageData.currentSize = new h(e.size);
|
|
10582
10576
|
} else
|
|
10583
|
-
t.texImage2D(r, 0, t.RGBA, t.RGBA, i, e._imageData), t.texParameteri(r, t.TEXTURE_WRAP_S, lt(t, e.wrapModeX)), t.texParameteri(r, t.TEXTURE_WRAP_T, lt(t, e.wrapModeY)), t.texParameteri(r, t.TEXTURE_MAG_FILTER,
|
|
10577
|
+
t.texImage2D(r, 0, t.RGBA, t.RGBA, i, e._imageData), t.texParameteri(r, t.TEXTURE_WRAP_S, lt(t, e.wrapModeX)), t.texParameteri(r, t.TEXTURE_WRAP_T, lt(t, e.wrapModeY)), t.texParameteri(r, t.TEXTURE_MAG_FILTER, Zr(t, e.magFilter)), t.texParameteri(r, t.TEXTURE_MIN_FILTER, Zr(t, e.minFilter)), e.mipmapRequired && t.generateMipmap(r);
|
|
10584
10578
|
};
|
|
10585
|
-
class
|
|
10579
|
+
class Kn extends Tn {
|
|
10586
10580
|
static ListTextures(e) {
|
|
10587
10581
|
return e instanceof Et && (e = e.gl), e._bg2_textures || {};
|
|
10588
10582
|
}
|
|
@@ -10597,7 +10591,7 @@ class Jn extends Mn {
|
|
|
10597
10591
|
}
|
|
10598
10592
|
destroy() {
|
|
10599
10593
|
const { gl: e } = this.renderer;
|
|
10600
|
-
|
|
10594
|
+
Vn(e, this.texture);
|
|
10601
10595
|
}
|
|
10602
10596
|
///// webgl specific functions
|
|
10603
10597
|
// Returns the webgl target (TEXTURE_2D, TEXTURE_3D...)
|
|
@@ -10613,22 +10607,22 @@ class Jn extends Mn {
|
|
|
10613
10607
|
}
|
|
10614
10608
|
}
|
|
10615
10609
|
const O0 = {
|
|
10616
|
-
FrameBuffer:
|
|
10610
|
+
FrameBuffer: yn,
|
|
10617
10611
|
MaterialRenderer: or,
|
|
10618
|
-
Pipeline:
|
|
10619
|
-
PolyListRenderer:
|
|
10620
|
-
RenderBuffer:
|
|
10621
|
-
SceneRenderer:
|
|
10612
|
+
Pipeline: Hn,
|
|
10613
|
+
PolyListRenderer: Ln,
|
|
10614
|
+
RenderBuffer: In,
|
|
10615
|
+
SceneRenderer: Un,
|
|
10622
10616
|
ShaderProgram: T,
|
|
10623
10617
|
ShaderType: Ye,
|
|
10624
|
-
ShadowRenderer:
|
|
10625
|
-
SkyCube:
|
|
10626
|
-
SkySphere:
|
|
10627
|
-
State:
|
|
10628
|
-
TextureRenderer:
|
|
10618
|
+
ShadowRenderer: Xn,
|
|
10619
|
+
SkyCube: kn,
|
|
10620
|
+
SkySphere: Yn,
|
|
10621
|
+
State: jn,
|
|
10622
|
+
TextureRenderer: Kn,
|
|
10629
10623
|
VertexBuffer: he,
|
|
10630
10624
|
BufferTarget: Se,
|
|
10631
|
-
BufferUsage:
|
|
10625
|
+
BufferUsage: zn
|
|
10632
10626
|
};
|
|
10633
10627
|
function F0(t) {
|
|
10634
10628
|
t.getSupportedExtensions()?.forEach((e) => {
|
|
@@ -10636,7 +10630,7 @@ function F0(t) {
|
|
|
10636
10630
|
});
|
|
10637
10631
|
}
|
|
10638
10632
|
let G0 = 0;
|
|
10639
|
-
class
|
|
10633
|
+
class Wn extends Et {
|
|
10640
10634
|
constructor() {
|
|
10641
10635
|
super("webgl"), this._debugMode = !1, this._uuid = G0++;
|
|
10642
10636
|
}
|
|
@@ -10647,7 +10641,7 @@ class Zn extends Et {
|
|
|
10647
10641
|
return "WebGL";
|
|
10648
10642
|
}
|
|
10649
10643
|
get frameBuffer() {
|
|
10650
|
-
return this._frameBuffer || (this._frameBuffer = new
|
|
10644
|
+
return this._frameBuffer || (this._frameBuffer = new yn(this)), this._frameBuffer;
|
|
10651
10645
|
}
|
|
10652
10646
|
set viewport(e) {
|
|
10653
10647
|
this.state.viewport = e;
|
|
@@ -10678,7 +10672,7 @@ class Zn extends Et {
|
|
|
10678
10672
|
};
|
|
10679
10673
|
this._gl = window.WebGLDebugUtils.makeDebugContext(this._gl, i, n);
|
|
10680
10674
|
}
|
|
10681
|
-
this._state = new
|
|
10675
|
+
this._state = new jn(this), F0.apply(this, [this.gl]), await this.initPresentTextureShader(), await or.InitResources(this);
|
|
10682
10676
|
}
|
|
10683
10677
|
get gl() {
|
|
10684
10678
|
return this._gl;
|
|
@@ -10700,7 +10694,7 @@ class Zn extends Et {
|
|
|
10700
10694
|
if (e.renderer)
|
|
10701
10695
|
return e.renderer;
|
|
10702
10696
|
{
|
|
10703
|
-
const r = new
|
|
10697
|
+
const r = new Ln(this, e);
|
|
10704
10698
|
return r.init(), r.refresh(), r;
|
|
10705
10699
|
}
|
|
10706
10700
|
}
|
|
@@ -10708,25 +10702,25 @@ class Zn extends Et {
|
|
|
10708
10702
|
return e.renderer ? e.renderer : new or(this, e);
|
|
10709
10703
|
}
|
|
10710
10704
|
textureFactory(e) {
|
|
10711
|
-
return e.renderer ? e.renderer : new
|
|
10705
|
+
return e.renderer ? e.renderer : new Kn(this, e);
|
|
10712
10706
|
}
|
|
10713
10707
|
renderBufferFactory() {
|
|
10714
|
-
return new
|
|
10708
|
+
return new In(this);
|
|
10715
10709
|
}
|
|
10716
10710
|
skySphereFactory() {
|
|
10717
|
-
return new
|
|
10711
|
+
return new Yn(this);
|
|
10718
10712
|
}
|
|
10719
10713
|
skyCubeFactory() {
|
|
10720
|
-
return new
|
|
10714
|
+
return new kn(this);
|
|
10721
10715
|
}
|
|
10722
10716
|
pipelineFactory() {
|
|
10723
|
-
return new
|
|
10717
|
+
return new Hn(this);
|
|
10724
10718
|
}
|
|
10725
10719
|
sceneRendererFactory() {
|
|
10726
|
-
return new
|
|
10720
|
+
return new Un(this);
|
|
10727
10721
|
}
|
|
10728
10722
|
shadowRendererFactory() {
|
|
10729
|
-
return new
|
|
10723
|
+
return new Xn(this);
|
|
10730
10724
|
}
|
|
10731
10725
|
get clearColor() {
|
|
10732
10726
|
return this.state.clearColor;
|
|
@@ -10749,36 +10743,36 @@ class Zn extends Et {
|
|
|
10749
10743
|
}
|
|
10750
10744
|
}
|
|
10751
10745
|
const U0 = {
|
|
10752
|
-
Environment:
|
|
10753
|
-
FrameBuffer:
|
|
10754
|
-
MaterialRenderer:
|
|
10755
|
-
Pipeline:
|
|
10746
|
+
Environment: Li,
|
|
10747
|
+
FrameBuffer: on,
|
|
10748
|
+
MaterialRenderer: an,
|
|
10749
|
+
Pipeline: hn,
|
|
10756
10750
|
BlendEquation: Ke,
|
|
10757
10751
|
BlendFunction: R,
|
|
10758
|
-
PolyListRenderer:
|
|
10759
|
-
RenderBuffer:
|
|
10752
|
+
PolyListRenderer: An,
|
|
10753
|
+
RenderBuffer: ln,
|
|
10760
10754
|
RenderBufferType: ve,
|
|
10761
|
-
RenderBufferTypeName:
|
|
10755
|
+
RenderBufferTypeName: fn,
|
|
10762
10756
|
CubeMapFace: vt,
|
|
10763
10757
|
Renderer: Et,
|
|
10764
10758
|
EngineFeatures: Ve,
|
|
10765
10759
|
RenderQueue: St,
|
|
10766
10760
|
RenderState: Dt,
|
|
10767
10761
|
SceneAppController: w0,
|
|
10768
|
-
SceneRenderer:
|
|
10762
|
+
SceneRenderer: un,
|
|
10769
10763
|
FrameVisitor: Rt,
|
|
10770
|
-
BindRendererVisitor:
|
|
10771
|
-
InitVisitor:
|
|
10764
|
+
BindRendererVisitor: cn,
|
|
10765
|
+
InitVisitor: gn,
|
|
10772
10766
|
EventCallbackVisitor: _,
|
|
10773
10767
|
Shader: V,
|
|
10774
|
-
ShadowRenderer:
|
|
10775
|
-
SkyCube:
|
|
10776
|
-
SkySphere:
|
|
10777
|
-
TextureMergerRenderer:
|
|
10778
|
-
TextureRenderer:
|
|
10768
|
+
ShadowRenderer: En,
|
|
10769
|
+
SkyCube: Qn,
|
|
10770
|
+
SkySphere: ur,
|
|
10771
|
+
TextureMergerRenderer: Ii,
|
|
10772
|
+
TextureRenderer: Tn,
|
|
10779
10773
|
webgl: O0,
|
|
10780
|
-
WebGLRenderer:
|
|
10781
|
-
},
|
|
10774
|
+
WebGLRenderer: Wn
|
|
10775
|
+
}, qr = {
|
|
10782
10776
|
webgl: {
|
|
10783
10777
|
vertex: `precision mediump float;
|
|
10784
10778
|
|
|
@@ -10816,7 +10810,7 @@ class X0 extends V {
|
|
|
10816
10810
|
}
|
|
10817
10811
|
async load() {
|
|
10818
10812
|
const { gl: e } = this.renderer;
|
|
10819
|
-
this._program = new T(e, "BasicDiffuseColorShader"), this._program.attachVertexSource(
|
|
10813
|
+
this._program = new T(e, "BasicDiffuseColorShader"), this._program.attachVertexSource(qr.webgl.vertex), this._program.attachFragmentSource(qr.webgl.fragment), this._program.link(), this._whiteTexture = new x(), this._whiteTexture.proceduralFunction = Pe.PLAIN_COLOR, this._whiteTexture.proceduralParameters = [1, 1, 1, 1], this._whiteTexture.size = new h(4, 4), await this._whiteTexture.loadImageData(), this._whiteTextureRenderer = this.renderer.factory.texture(this._whiteTexture);
|
|
10820
10814
|
}
|
|
10821
10815
|
setup(e, r, i, n, s) {
|
|
10822
10816
|
if (!this._program)
|
|
@@ -10931,7 +10925,7 @@ function k0(t, e) {
|
|
|
10931
10925
|
color = pow(color, vec3(1.0/2.2));
|
|
10932
10926
|
|
|
10933
10927
|
gl_FragColor = vec4(color,1.0);
|
|
10934
|
-
}`, [
|
|
10928
|
+
}`, [vn, mn])
|
|
10935
10929
|
]
|
|
10936
10930
|
);
|
|
10937
10931
|
return this._programs[e] = T.Create(r.gl, "PBRBasicLight", i, n), this._programs[e];
|
|
@@ -10943,7 +10937,7 @@ class Y0 extends V {
|
|
|
10943
10937
|
this._programs = {};
|
|
10944
10938
|
}
|
|
10945
10939
|
async load() {
|
|
10946
|
-
await
|
|
10940
|
+
await Mn(this.renderer);
|
|
10947
10941
|
}
|
|
10948
10942
|
set cameraPosition(e) {
|
|
10949
10943
|
this._cameraPosition = e;
|
|
@@ -10972,7 +10966,7 @@ class Y0 extends V {
|
|
|
10972
10966
|
const o = r.material, a = this.renderer;
|
|
10973
10967
|
a.state.shaderProgram = this._program;
|
|
10974
10968
|
const f = w.GetNormalMatrix(i);
|
|
10975
|
-
this._program.bindMatrix("uNormMatrix", f), this._program.bindMatrix("uWorld", i), this._program.bindMatrix("uView", n), this._program.bindMatrix("uProj", s), this._cameraPosition ? this._program.bindVector("uCameraPos", this._cameraPosition) : (console.warn("Serious performance warning: camera position not set in BasicPBRLightShader. Extracting the camera position from the view matrix involves inverting the matrix."), this._program.bindVector("uCameraPos", w.GetPosition(w.GetInverted(n)))), r.bindTexture(this._program, "albedoTexture", "uAlbedoTexture", 0), r.bindTexture(this._program, "normalTexture", "uNormalTexture", 1,
|
|
10969
|
+
this._program.bindMatrix("uNormMatrix", f), this._program.bindMatrix("uWorld", i), this._program.bindMatrix("uView", n), this._program.bindMatrix("uProj", s), this._cameraPosition ? this._program.bindVector("uCameraPos", this._cameraPosition) : (console.warn("Serious performance warning: camera position not set in BasicPBRLightShader. Extracting the camera position from the view matrix involves inverting the matrix."), this._program.bindVector("uCameraPos", w.GetPosition(w.GetInverted(n)))), r.bindTexture(this._program, "albedoTexture", "uAlbedoTexture", 0), r.bindTexture(this._program, "normalTexture", "uNormalTexture", 1, Nn(this.renderer)), r.bindTexture(this._program, "metalnessTexture", "uMetallicTexture", 2), r.bindTexture(this._program, "roughnessTexture", "uRoughnessTexture", 3), r.bindColor(this._program, "albedo", "uAlbedo"), r.bindValue(this._program, "metalness", "uMetallic"), r.bindValue(this._program, "roughness", "uRoughness"), this._program.bindVector("uAlbedoScale", o.albedoScale), this._program.bindVector("uNormalScale", o.normalScale), this._program.bindVector("uMetallicScale", o.metalnessScale), this._program.bindVector("uRoughnessScale", o.roughnessScale), this._lights.forEach((c, d) => {
|
|
10976
10970
|
this._program?.uniform1i(`uLightTypes[${d}]`, this._lightTypes[d]), this._program?.bindVector(`uLightPositions[${d}]`, this._lightPositions[d]), this._program?.bindVector(`uLightDirections[${d}]`, this._lightDirections[d]), this._program?.bindVector(`uLightColors[${d}]`, this._lightColors[d].rgb), this._program?.uniform1f(`uLightIntensities[${d}]`, this._lightIntensities[d]);
|
|
10977
10971
|
}), this._program.bindAttribs(e, {
|
|
10978
10972
|
position: "inPosition",
|
|
@@ -10988,18 +10982,18 @@ class Y0 extends V {
|
|
|
10988
10982
|
const j0 = {
|
|
10989
10983
|
BasicDiffuseColorShader: X0,
|
|
10990
10984
|
BasicPBRLightShader: Y0,
|
|
10991
|
-
DebugRenderShader:
|
|
10992
|
-
DepthRenderShader:
|
|
10993
|
-
IrradianceMapCubeShader:
|
|
10994
|
-
PBRLightIBLShader:
|
|
10995
|
-
PickSelectionShader:
|
|
10996
|
-
PresentDebugFramebufferShader:
|
|
10997
|
-
PresentTextureShader:
|
|
10998
|
-
SelectionHighlightShader:
|
|
10985
|
+
DebugRenderShader: pn,
|
|
10986
|
+
DepthRenderShader: bn,
|
|
10987
|
+
IrradianceMapCubeShader: yi,
|
|
10988
|
+
PBRLightIBLShader: Gn,
|
|
10989
|
+
PickSelectionShader: Dr,
|
|
10990
|
+
PresentDebugFramebufferShader: Dn,
|
|
10991
|
+
PresentTextureShader: Si,
|
|
10992
|
+
SelectionHighlightShader: Cn,
|
|
10999
10993
|
ShaderFunction: Q,
|
|
11000
|
-
SkyCubeShader:
|
|
11001
|
-
SkySphereShader:
|
|
11002
|
-
SpecularMapCubeShader:
|
|
10994
|
+
SkyCubeShader: xn,
|
|
10995
|
+
SkySphereShader: zi,
|
|
10996
|
+
SpecularMapCubeShader: Mi,
|
|
11003
10997
|
TextureMergerShader: bt,
|
|
11004
10998
|
shaderLib: {
|
|
11005
10999
|
webgl: l0
|
|
@@ -11007,7 +11001,7 @@ const j0 = {
|
|
|
11007
11001
|
};
|
|
11008
11002
|
class V0 {
|
|
11009
11003
|
constructor(e) {
|
|
11010
|
-
if (!(e instanceof
|
|
11004
|
+
if (!(e instanceof Wn))
|
|
11011
11005
|
throw new Error("WebGLTextureViewer works only with WebGL Renderer");
|
|
11012
11006
|
this._renderer = e, this._size = [512, 512], this._canvas = document.createElement("canvas"), this._canvas.width = this._size[0], this._canvas.height = this._size[1], this._context = this._canvas.getContext("2d");
|
|
11013
11007
|
}
|
|
@@ -11041,12 +11035,12 @@ const K0 = {
|
|
|
11041
11035
|
DebugRenderer: xe,
|
|
11042
11036
|
WebGLTextureViewer: V0
|
|
11043
11037
|
}, J0 = _o, Z0 = To, q0 = Qo, _0 = K0, $0 = {
|
|
11044
|
-
...
|
|
11038
|
+
...us,
|
|
11045
11039
|
Mat3: te,
|
|
11046
11040
|
Mat4: w,
|
|
11047
11041
|
Vec: h,
|
|
11048
|
-
Quat:
|
|
11049
|
-
MatrixStrategy:
|
|
11042
|
+
Quat: ds,
|
|
11043
|
+
MatrixStrategy: ii
|
|
11050
11044
|
}, ea = U0, ta = Ro, ra = zs, ia = fo, na = j0;
|
|
11051
11045
|
export {
|
|
11052
11046
|
J0 as app,
|