|
@@ -7,7 +7,7 @@
|
|
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.THREE = {}));
|
|
|
-})(this, (function (exports) { 'use strict';
|
|
|
+}(this, (function (exports) { 'use strict';
|
|
|
|
|
|
const REVISION = '135dev';
|
|
|
const MOUSE = {
|
|
@@ -5067,6 +5067,10 @@
|
|
|
return (this.mask & layers.mask) !== 0;
|
|
|
}
|
|
|
|
|
|
+ isEnabled(channel) {
|
|
|
+ return (this.mask & (1 << channel | 0)) !== 0;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
let _object3DId = 0;
|
|
@@ -13586,7 +13590,7 @@
|
|
|
|
|
|
function setValueV4uiArray(gl, v) {
|
|
|
gl.uniform4uiv(this.addr, v);
|
|
|
- } // Array of textures (2D / Cube)
|
|
|
+ } // Array of textures (2D / 3D / Cube / 2DArray)
|
|
|
|
|
|
|
|
|
function setValueT1Array(gl, v, textures) {
|
|
@@ -13599,6 +13603,16 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ function setValueT3DArray(gl, v, textures) {
|
|
|
+ const n = v.length;
|
|
|
+ const units = allocTexUnits(textures, n);
|
|
|
+ gl.uniform1iv(this.addr, units);
|
|
|
+
|
|
|
+ for (let i = 0; i !== n; ++i) {
|
|
|
+ textures.setTexture3D(v[i] || emptyTexture3d, units[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
function setValueT6Array(gl, v, textures) {
|
|
|
const n = v.length;
|
|
|
const units = allocTexUnits(textures, n);
|
|
@@ -13607,6 +13621,16 @@
|
|
|
for (let i = 0; i !== n; ++i) {
|
|
|
textures.safeSetTextureCube(v[i] || emptyCubeTexture, units[i]);
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ function setValueT2DArrayArray(gl, v, textures) {
|
|
|
+ const n = v.length;
|
|
|
+ const units = allocTexUnits(textures, n);
|
|
|
+ gl.uniform1iv(this.addr, units);
|
|
|
+
|
|
|
+ for (let i = 0; i !== n; ++i) {
|
|
|
+ textures.setTexture2DArray(v[i] || emptyTexture2dArray, units[i]);
|
|
|
+ }
|
|
|
} // Helper to pick the right setter for a pure (bottom-level) array
|
|
|
|
|
|
|
|
@@ -13688,6 +13712,14 @@
|
|
|
// SAMPLER_2D_SHADOW
|
|
|
return setValueT1Array;
|
|
|
|
|
|
+ case 0x8b5f: // SAMPLER_3D
|
|
|
+
|
|
|
+ case 0x8dcb: // INT_SAMPLER_3D
|
|
|
+
|
|
|
+ case 0x8dd3:
|
|
|
+ // UNSIGNED_INT_SAMPLER_3D
|
|
|
+ return setValueT3DArray;
|
|
|
+
|
|
|
case 0x8b60: // SAMPLER_CUBE
|
|
|
|
|
|
case 0x8dcc: // INT_SAMPLER_CUBE
|
|
@@ -13697,6 +13729,16 @@
|
|
|
case 0x8dc5:
|
|
|
// SAMPLER_CUBE_SHADOW
|
|
|
return setValueT6Array;
|
|
|
+
|
|
|
+ case 0x8dc1: // SAMPLER_2D_ARRAY
|
|
|
+
|
|
|
+ case 0x8dcf: // INT_SAMPLER_2D_ARRAY
|
|
|
+
|
|
|
+ case 0x8dd7: // UNSIGNED_INT_SAMPLER_2D_ARRAY
|
|
|
+
|
|
|
+ case 0x8dc4:
|
|
|
+ // SAMPLER_2D_ARRAY_SHADOW
|
|
|
+ return setValueT2DArrayArray;
|
|
|
}
|
|
|
} // --- Uniform Classes ---
|
|
|
|
|
@@ -16823,7 +16865,7 @@
|
|
|
// set 0 level mipmap and then use GL to generate other mipmap levels
|
|
|
const levels = getMipLevels(texture, image, supportsMips);
|
|
|
const useTexStorage = isWebGL2 && texture.isVideoTexture !== true;
|
|
|
- const allocateMemory = texture.version === 1;
|
|
|
+ const allocateMemory = textureProperties.__version === undefined;
|
|
|
|
|
|
if (mipmaps.length > 0 && supportsMips) {
|
|
|
if (useTexStorage && allocateMemory) {
|
|
@@ -24251,9 +24293,7 @@
|
|
|
|
|
|
|
|
|
function isValidDiagonal(a, b) {
|
|
|
- return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && ( // dones't intersect other edges
|
|
|
- locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && ( // locally visible
|
|
|
- area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors
|
|
|
+ return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors
|
|
|
equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0); // special zero-length case
|
|
|
} // signed area of a triangle
|
|
|
|
|
@@ -36393,4 +36433,4 @@
|
|
|
|
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
|
|
|
-}));
|
|
|
+})));
|