@woosh/meep-engine 2.72.0 → 2.73.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/meep.cjs +34 -185
- package/build/meep.min.js +1 -1
- package/build/meep.module.js +34 -185
- package/package.json +3 -2
- package/src/engine/graphics/ecs/camera/FrustumProjector.js +31 -182
- package/src/engine/graphics/texture/virtual/v2/NOTES.md +11 -1
- package/src/engine/graphics/texture/virtual/v2/ShaderUsage.js +7 -5
- package/src/engine/graphics/texture/virtual/v2/SparseTexture.js +182 -0
- package/src/engine/graphics/texture/virtual/v2/TextureTile.js +31 -0
- package/src/engine/graphics/texture/virtual/v2/TileLoader.js +215 -0
- package/src/engine/graphics/texture/virtual/v2/UsageDebugView.js +24 -11
- package/src/engine/graphics/texture/virtual/v2/UsageMetadata.js +77 -145
- package/src/engine/graphics/texture/virtual/v2/UsagePyramidDebugView.js +27 -14
- package/src/engine/graphics/texture/virtual/v2/VirtualTextureManager.js +13 -4
- package/src/engine/graphics/texture/virtual/v2/compose_finger_print.js +13 -0
- package/src/engine/graphics/texture/virtual/v2/finger_print_to_tile_index.js +37 -0
- package/src/engine/graphics/texture/virtual/v2/prototype.js +29 -11
- package/src/engine/graphics/texture/virtual/v2/tile_index_to_finger_print.js +31 -0
- package/src/engine/graphics/clouds/MaterialTransformer.js +0 -0
- package/src/engine/graphics/clouds/TerrainCloudsPlugin.js +0 -0
- package/src/engine/graphics/clouds/cs_build_fragment_shader.js +0 -0
- package/src/engine/graphics/clouds/cs_build_vertex_shader.js +0 -0
- package/src/engine/graphics/ecs/camera/TiltCameraController.js +0 -69
- package/src/engine/graphics/ecs/camera/is_valid_distance_value.js +0 -11
package/build/meep.cjs
CHANGED
|
@@ -111514,7 +111514,7 @@ function aabb3_matrix4_project_by_corners(
|
|
|
111514
111514
|
result[5] = z1;
|
|
111515
111515
|
}
|
|
111516
111516
|
|
|
111517
|
-
const corners = [];
|
|
111517
|
+
const corners$1 = [];
|
|
111518
111518
|
|
|
111519
111519
|
class Decal extends AbstractLight {
|
|
111520
111520
|
constructor() {
|
|
@@ -111600,9 +111600,9 @@ class Decal extends AbstractLight {
|
|
|
111600
111600
|
}
|
|
111601
111601
|
|
|
111602
111602
|
getAABB(result) {
|
|
111603
|
-
aabb3_build_corners(corners, 0, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
|
|
111603
|
+
aabb3_build_corners(corners$1, 0, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
|
|
111604
111604
|
|
|
111605
|
-
aabb3_matrix4_project_by_corners(result, corners, this.transform);
|
|
111605
|
+
aabb3_matrix4_project_by_corners(result, corners$1, this.transform);
|
|
111606
111606
|
}
|
|
111607
111607
|
|
|
111608
111608
|
toArray(destination, address) {
|
|
@@ -113434,190 +113434,41 @@ class ForwardPlusRenderingPlugin extends EnginePlugin {
|
|
|
113434
113434
|
*/
|
|
113435
113435
|
|
|
113436
113436
|
|
|
113437
|
-
const
|
|
113438
|
-
|
|
113439
|
-
|
|
113440
|
-
new Vector3(-1, -1, 0),
|
|
113437
|
+
const corners = [
|
|
113438
|
+
new Vector3(-1, -1, 0),
|
|
113439
|
+
new Vector3(-1, -1, 0),
|
|
113441
113440
|
|
|
113442
|
-
|
|
113443
|
-
|
|
113441
|
+
new Vector3(-1, 1, 0),
|
|
113442
|
+
new Vector3(-1, 1, 0),
|
|
113444
113443
|
|
|
113445
|
-
|
|
113446
|
-
|
|
113444
|
+
new Vector3(1, -1, 0),
|
|
113445
|
+
new Vector3(1, -1, 0),
|
|
113447
113446
|
|
|
113448
|
-
|
|
113449
|
-
|
|
113450
|
-
|
|
113451
|
-
|
|
113452
|
-
|
|
113453
|
-
/**
|
|
113454
|
-
*
|
|
113455
|
-
* @param {Number} nearZ
|
|
113456
|
-
* @param {Number} farZ
|
|
113457
|
-
* @param {THREE.Camera} camera
|
|
113458
|
-
* @param {THREE.Matrix4} matrixWorldInverse
|
|
113459
|
-
* @param {function} callback
|
|
113460
|
-
*/
|
|
113461
|
-
function projectInWorldSpace(nearZ, farZ, camera, callback) {
|
|
113462
|
-
corners[0].set(-1, -1, nearZ);
|
|
113463
|
-
corners[1].set(-1, -1, farZ);
|
|
113464
|
-
|
|
113465
|
-
corners[2].set(-1, 1, nearZ);
|
|
113466
|
-
corners[3].set(-1, 1, farZ);
|
|
113467
|
-
|
|
113468
|
-
corners[4].set(1, -1, nearZ);
|
|
113469
|
-
corners[5].set(1, -1, farZ);
|
|
113470
|
-
|
|
113471
|
-
corners[6].set(1, 1, nearZ);
|
|
113472
|
-
corners[7].set(1, 1, farZ);
|
|
113473
|
-
|
|
113474
|
-
//compute corners of view frustum in light space
|
|
113475
|
-
let x0 = Number.POSITIVE_INFINITY;
|
|
113476
|
-
let y0 = Number.POSITIVE_INFINITY;
|
|
113477
|
-
let z0 = Number.POSITIVE_INFINITY;
|
|
113478
|
-
|
|
113479
|
-
let x1 = Number.NEGATIVE_INFINITY;
|
|
113480
|
-
let y1 = Number.NEGATIVE_INFINITY;
|
|
113481
|
-
let z1 = Number.NEGATIVE_INFINITY;
|
|
113482
|
-
|
|
113483
|
-
|
|
113484
|
-
for (let i = 0; i < 8; i++) {
|
|
113485
|
-
const corner = corners[i];
|
|
113486
|
-
corner.unproject(camera);
|
|
113487
|
-
|
|
113488
|
-
if (corner.x < x0) {
|
|
113489
|
-
x0 = corner.x;
|
|
113490
|
-
}
|
|
113491
|
-
if (corner.x > x1) {
|
|
113492
|
-
x1 = corner.x;
|
|
113493
|
-
}
|
|
113494
|
-
|
|
113495
|
-
if (corner.y < y0) {
|
|
113496
|
-
y0 = corner.y;
|
|
113497
|
-
}
|
|
113498
|
-
if (corner.y > y1) {
|
|
113499
|
-
y1 = corner.y;
|
|
113500
|
-
}
|
|
113501
|
-
|
|
113502
|
-
if (corner.z < z0) {
|
|
113503
|
-
z0 = corner.z;
|
|
113504
|
-
}
|
|
113505
|
-
if (corner.z > z1) {
|
|
113506
|
-
z1 = corner.z;
|
|
113507
|
-
}
|
|
113508
|
-
}
|
|
113509
|
-
|
|
113510
|
-
callback(x0, y0, z0, x1, y1, z1);
|
|
113511
|
-
}
|
|
113512
|
-
|
|
113513
|
-
return projectInWorldSpace;
|
|
113514
|
-
})();
|
|
113515
|
-
|
|
113516
|
-
const project = (function () {
|
|
113517
|
-
const corners = [
|
|
113518
|
-
new Vector3(-1, -1, 0),
|
|
113519
|
-
new Vector3(-1, -1, 0),
|
|
113520
|
-
|
|
113521
|
-
new Vector3(-1, 1, 0),
|
|
113522
|
-
new Vector3(-1, 1, 0),
|
|
113523
|
-
|
|
113524
|
-
new Vector3(1, -1, 0),
|
|
113525
|
-
new Vector3(1, -1, 0),
|
|
113526
|
-
|
|
113527
|
-
new Vector3(1, 1, 0),
|
|
113528
|
-
new Vector3(1, 1, 0)
|
|
113529
|
-
];
|
|
113530
|
-
|
|
113531
|
-
|
|
113532
|
-
/**
|
|
113533
|
-
*
|
|
113534
|
-
* @param {Number} nearZ
|
|
113535
|
-
* @param {Number} farZ
|
|
113536
|
-
* @param {THREE.Camera} camera
|
|
113537
|
-
* @param {THREE.Matrix4} matrixWorldInverse
|
|
113538
|
-
* @param {AABB3} result
|
|
113539
|
-
*/
|
|
113540
|
-
function project(nearZ, farZ, camera, matrixWorldInverse, result) {
|
|
113541
|
-
corners[0].set(-1, -1, nearZ);
|
|
113542
|
-
corners[1].set(-1, -1, farZ);
|
|
113543
|
-
|
|
113544
|
-
corners[2].set(-1, 1, nearZ);
|
|
113545
|
-
corners[3].set(-1, 1, farZ);
|
|
113546
|
-
|
|
113547
|
-
corners[4].set(1, -1, nearZ);
|
|
113548
|
-
corners[5].set(1, -1, farZ);
|
|
113549
|
-
|
|
113550
|
-
corners[6].set(1, 1, nearZ);
|
|
113551
|
-
corners[7].set(1, 1, farZ);
|
|
113552
|
-
|
|
113553
|
-
//compute corners of view frustum in light space
|
|
113554
|
-
let x0 = Number.POSITIVE_INFINITY;
|
|
113555
|
-
let y0 = Number.POSITIVE_INFINITY;
|
|
113556
|
-
let z0 = Number.POSITIVE_INFINITY;
|
|
113557
|
-
|
|
113558
|
-
let x1 = Number.NEGATIVE_INFINITY;
|
|
113559
|
-
let y1 = Number.NEGATIVE_INFINITY;
|
|
113560
|
-
let z1 = Number.NEGATIVE_INFINITY;
|
|
113561
|
-
|
|
113562
|
-
|
|
113563
|
-
for (let i = 0; i < 8; i++) {
|
|
113564
|
-
const corner = corners[i];
|
|
113565
|
-
corner.unproject(camera);
|
|
113566
|
-
corner.applyMatrix4(matrixWorldInverse);
|
|
113567
|
-
|
|
113568
|
-
if (corner.x < x0) {
|
|
113569
|
-
x0 = corner.x;
|
|
113570
|
-
}
|
|
113571
|
-
if (corner.x > x1) {
|
|
113572
|
-
x1 = corner.x;
|
|
113573
|
-
}
|
|
113574
|
-
|
|
113575
|
-
if (corner.y < y0) {
|
|
113576
|
-
y0 = corner.y;
|
|
113577
|
-
}
|
|
113578
|
-
if (corner.y > y1) {
|
|
113579
|
-
y1 = corner.y;
|
|
113580
|
-
}
|
|
113581
|
-
|
|
113582
|
-
if (corner.z < z0) {
|
|
113583
|
-
z0 = corner.z;
|
|
113584
|
-
}
|
|
113585
|
-
if (corner.z > z1) {
|
|
113586
|
-
z1 = corner.z;
|
|
113587
|
-
}
|
|
113588
|
-
}
|
|
113589
|
-
|
|
113590
|
-
result.setBounds(x0, y0, z0, x1, y1, z1);
|
|
113591
|
-
}
|
|
113447
|
+
new Vector3(1, 1, 0),
|
|
113448
|
+
new Vector3(1, 1, 0)
|
|
113449
|
+
];
|
|
113592
113450
|
|
|
113593
|
-
return project;
|
|
113594
|
-
})();
|
|
113595
113451
|
|
|
113596
113452
|
/**
|
|
113597
113453
|
*
|
|
113598
|
-
* @param
|
|
113599
|
-
* @param
|
|
113600
|
-
* @param
|
|
113601
|
-
* @param
|
|
113602
|
-
* @param
|
|
113603
|
-
* @param _z1
|
|
113604
|
-
* @param {Camera} camera
|
|
113605
|
-
* @param callback
|
|
113454
|
+
* @param {Number} nearZ
|
|
113455
|
+
* @param {Number} farZ
|
|
113456
|
+
* @param {THREE.Camera} camera
|
|
113457
|
+
* @param {THREE.Matrix4} matrixWorldInverse
|
|
113458
|
+
* @param {AABB3} result
|
|
113606
113459
|
*/
|
|
113607
|
-
function
|
|
113608
|
-
|
|
113609
|
-
|
|
113610
|
-
new Vector3(_x0, _y0, _z1),
|
|
113460
|
+
function project(nearZ, farZ, camera, matrixWorldInverse, result) {
|
|
113461
|
+
corners[0].set(-1, -1, nearZ);
|
|
113462
|
+
corners[1].set(-1, -1, farZ);
|
|
113611
113463
|
|
|
113612
|
-
|
|
113613
|
-
|
|
113464
|
+
corners[2].set(-1, 1, nearZ);
|
|
113465
|
+
corners[3].set(-1, 1, farZ);
|
|
113614
113466
|
|
|
113615
|
-
|
|
113616
|
-
|
|
113467
|
+
corners[4].set(1, -1, nearZ);
|
|
113468
|
+
corners[5].set(1, -1, farZ);
|
|
113617
113469
|
|
|
113618
|
-
|
|
113619
|
-
|
|
113620
|
-
];
|
|
113470
|
+
corners[6].set(1, 1, nearZ);
|
|
113471
|
+
corners[7].set(1, 1, farZ);
|
|
113621
113472
|
|
|
113622
113473
|
//compute corners of view frustum in light space
|
|
113623
113474
|
let x0 = Number.POSITIVE_INFINITY;
|
|
@@ -113629,8 +113480,10 @@ function unproject(_x0, _y0, _z0, _x1, _y1, _z1, camera, callback) {
|
|
|
113629
113480
|
let z1 = Number.NEGATIVE_INFINITY;
|
|
113630
113481
|
|
|
113631
113482
|
|
|
113632
|
-
|
|
113633
|
-
corner
|
|
113483
|
+
for (let i = 0; i < 8; i++) {
|
|
113484
|
+
const corner = corners[i];
|
|
113485
|
+
corner.unproject(camera);
|
|
113486
|
+
corner.applyMatrix4(matrixWorldInverse);
|
|
113634
113487
|
|
|
113635
113488
|
if (corner.x < x0) {
|
|
113636
113489
|
x0 = corner.x;
|
|
@@ -113652,21 +113505,17 @@ function unproject(_x0, _y0, _z0, _x1, _y1, _z1, camera, callback) {
|
|
|
113652
113505
|
if (corner.z > z1) {
|
|
113653
113506
|
z1 = corner.z;
|
|
113654
113507
|
}
|
|
113655
|
-
}
|
|
113508
|
+
}
|
|
113656
113509
|
|
|
113657
|
-
|
|
113510
|
+
result.setBounds(x0, y0, z0, x1, y1, z1);
|
|
113658
113511
|
}
|
|
113659
113512
|
|
|
113513
|
+
|
|
113660
113514
|
var FrustumProjector = {
|
|
113661
113515
|
/**
|
|
113662
113516
|
* @deprecated use non-threejs specific code
|
|
113663
113517
|
*/
|
|
113664
113518
|
project,
|
|
113665
|
-
unproject,
|
|
113666
|
-
/**
|
|
113667
|
-
* @deprecated use non-threejs specific code
|
|
113668
|
-
*/
|
|
113669
|
-
projectInWorldSpace
|
|
113670
113519
|
};
|
|
113671
113520
|
|
|
113672
113521
|
class SystemEntityContext {
|