three-stdlib 2.14.1 → 2.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. package/csm/CSM.cjs.js +1 -1
  2. package/csm/CSM.js +8 -8
  3. package/csm/CSMFrustum.cjs.js +1 -0
  4. package/csm/CSMFrustum.d.ts +19 -0
  5. package/csm/{Frustum.js → CSMFrustum.js} +8 -7
  6. package/csm/CSMShader.cjs.js +1 -0
  7. package/csm/CSMShader.d.ts +4 -0
  8. package/csm/{Shader.js → CSMShader.js} +52 -36
  9. package/curves/CurveExtras.d.ts +52 -54
  10. package/geometries/ParametricGeometries.cjs.js +1 -1
  11. package/geometries/ParametricGeometries.js +91 -99
  12. package/geometries/ParametricGeometry.cjs.js +1 -0
  13. package/geometries/ParametricGeometry.d.ts +18 -0
  14. package/geometries/ParametricGeometry.js +87 -0
  15. package/index.cjs.js +1 -1
  16. package/index.d.ts +3 -77
  17. package/index.js +4 -1
  18. package/interactive/InteractiveGroup.cjs.js +1 -0
  19. package/interactive/InteractiveGroup.d.ts +5 -0
  20. package/interactive/InteractiveGroup.js +87 -0
  21. package/lines/Line2.cjs.js +1 -1
  22. package/lines/Line2.d.ts +7 -5
  23. package/lines/Line2.js +2 -5
  24. package/lines/LineGeometry.cjs.js +1 -1
  25. package/lines/LineGeometry.d.ts +6 -8
  26. package/lines/LineGeometry.js +28 -39
  27. package/lines/LineMaterial.cjs.js +1 -1
  28. package/lines/LineMaterial.d.ts +23 -19
  29. package/lines/LineMaterial.js +263 -107
  30. package/lines/LineSegments2.cjs.js +1 -1
  31. package/lines/LineSegments2.d.ts +12 -20
  32. package/lines/LineSegments2.js +272 -125
  33. package/lines/LineSegmentsGeometry.cjs.js +1 -1
  34. package/lines/LineSegmentsGeometry.d.ts +18 -16
  35. package/lines/LineSegmentsGeometry.js +30 -40
  36. package/lines/Wireframe.cjs.js +1 -1
  37. package/lines/Wireframe.js +39 -39
  38. package/lines/WireframeGeometry2.cjs.js +1 -1
  39. package/lines/WireframeGeometry2.js +8 -9
  40. package/loaders/GLTFLoader.d.ts +2 -9
  41. package/loaders/LUT3dlLoader.d.ts +2 -2
  42. package/loaders/LUTCubeLoader.d.ts +2 -2
  43. package/loaders/RGBELoader.cjs.js +1 -1
  44. package/loaders/RGBELoader.js +1 -9
  45. package/loaders/VOXLoader.d.ts +2 -2
  46. package/objects/Reflector.d.ts +1 -0
  47. package/objects/ReflectorForSSRPass.d.ts +4 -4
  48. package/objects/Refractor.d.ts +1 -0
  49. package/objects/Water2.d.ts +1 -1
  50. package/package.json +2 -1
  51. package/postprocessing/LUTPass.d.ts +3 -3
  52. package/postprocessing/SSAARenderPass.d.ts +1 -1
  53. package/postprocessing/SSRPass.d.ts +3 -3
  54. package/shaders/BokehShader2.d.ts +27 -72
  55. package/shaders/BokehShader2.js +0 -1
  56. package/shaders/index.cjs.js +1 -1
  57. package/shaders/index.d.ts +2 -1
  58. package/shaders/index.js +1 -1
  59. package/csm/Frustum.cjs.js +0 -1
  60. package/csm/Shader.cjs.js +0 -1
  61. package/loaders/VRMLoader.d.ts +0 -19
  62. package/nodes/Nodes.d.ts +0 -106
  63. package/nodes/accessors/CameraNode.d.ts +0 -29
  64. package/nodes/accessors/NormalNode.d.ts +0 -13
  65. package/nodes/accessors/PositionNode.d.ts +0 -15
  66. package/nodes/accessors/ReflectNode.d.ts +0 -12
  67. package/nodes/accessors/UVNode.d.ts +0 -10
  68. package/nodes/core/AttributeNode.d.ts +0 -13
  69. package/nodes/core/ConstNode.d.ts +0 -22
  70. package/nodes/core/ExpressionNode.d.ts +0 -5
  71. package/nodes/core/FunctionCallNode.d.ts +0 -17
  72. package/nodes/core/FunctionNode.d.ts +0 -28
  73. package/nodes/core/InputNode.d.ts +0 -12
  74. package/nodes/core/Node.d.ts +0 -34
  75. package/nodes/core/NodeBuilder.d.ts +0 -149
  76. package/nodes/core/NodeFrame.d.ts +0 -17
  77. package/nodes/core/NodeUniform.d.ts +0 -17
  78. package/nodes/core/NodeUtils.d.ts +0 -7
  79. package/nodes/core/TempNode.d.ts +0 -23
  80. package/nodes/core/VarNode.d.ts +0 -12
  81. package/nodes/materials/MeshStandardNodeMaterial.d.ts +0 -21
  82. package/nodes/materials/NodeMaterial.d.ts +0 -28
  83. package/nodes/math/CondNode.d.ts +0 -26
  84. package/nodes/math/MathNode.d.ts +0 -57
  85. package/nodes/math/OperatorNode.d.ts +0 -17
  86. package/nodes/procedural/CheckerNode.d.ts +0 -17
  87. package/nodes/utils/JoinNode.d.ts +0 -15
  88. package/nodes/utils/TimerNode.d.ts +0 -19
  89. package/objects/ReflectorRTT.d.ts +0 -6
@@ -1,45 +1,45 @@
1
- import { Mesh, Vector3, InstancedInterleavedBuffer, InterleavedBufferAttribute } from 'three';
1
+ import { Vector3, Mesh, InstancedInterleavedBuffer, InterleavedBufferAttribute } from 'three';
2
2
  import { LineSegmentsGeometry } from './LineSegmentsGeometry.js';
3
3
  import { LineMaterial } from './LineMaterial.js';
4
4
 
5
- var Wireframe = function (geometry, material) {
6
- Mesh.call(this);
7
- this.type = 'Wireframe';
8
- this.geometry = geometry !== undefined ? geometry : new LineSegmentsGeometry();
9
- this.material = material !== undefined ? material : new LineMaterial({
5
+ const _start = new Vector3();
6
+
7
+ const _end = new Vector3();
8
+
9
+ class Wireframe extends Mesh {
10
+ constructor(geometry = new LineSegmentsGeometry(), material = new LineMaterial({
10
11
  color: Math.random() * 0xffffff
11
- });
12
- };
13
-
14
- Wireframe.prototype = Object.assign(Object.create(Mesh.prototype), {
15
- constructor: Wireframe,
16
- isWireframe: true,
17
- computeLineDistances: function () {
18
- // for backwards-compatability, but could be a method of LineSegmentsGeometry...
19
- var start = new Vector3();
20
- var end = new Vector3();
21
- return function computeLineDistances() {
22
- var geometry = this.geometry;
23
- var instanceStart = geometry.attributes.instanceStart;
24
- var instanceEnd = geometry.attributes.instanceEnd;
25
- var lineDistances = new Float32Array(2 * instanceStart.data.count);
26
-
27
- for (let i = 0, j = 0, l = instanceStart.data.count; i < l; i++, j += 2) {
28
- start.fromBufferAttribute(instanceStart, i);
29
- end.fromBufferAttribute(instanceEnd, i);
30
- lineDistances[j] = j === 0 ? 0 : lineDistances[j - 1];
31
- lineDistances[j + 1] = lineDistances[j] + start.distanceTo(end);
32
- }
33
-
34
- var instanceDistanceBuffer = new InstancedInterleavedBuffer(lineDistances, 2, 1); // d0, d1
35
-
36
- geometry.setAttribute('instanceDistanceStart', new InterleavedBufferAttribute(instanceDistanceBuffer, 1, 0)); // d0
37
-
38
- geometry.setAttribute('instanceDistanceEnd', new InterleavedBufferAttribute(instanceDistanceBuffer, 1, 1)); // d1
39
-
40
- return this;
41
- };
42
- }()
43
- });
12
+ })) {
13
+ super(geometry, material);
14
+ this.isWireframe = true;
15
+ this.type = 'Wireframe';
16
+ } // for backwards-compatibility, but could be a method of LineSegmentsGeometry...
17
+
18
+
19
+ computeLineDistances() {
20
+ const geometry = this.geometry;
21
+ const instanceStart = geometry.attributes.instanceStart;
22
+ const instanceEnd = geometry.attributes.instanceEnd;
23
+ const lineDistances = new Float32Array(2 * instanceStart.count);
24
+
25
+ for (let i = 0, j = 0, l = instanceStart.count; i < l; i++, j += 2) {
26
+ _start.fromBufferAttribute(instanceStart, i);
27
+
28
+ _end.fromBufferAttribute(instanceEnd, i);
29
+
30
+ lineDistances[j] = j === 0 ? 0 : lineDistances[j - 1];
31
+ lineDistances[j + 1] = lineDistances[j] + _start.distanceTo(_end);
32
+ }
33
+
34
+ const instanceDistanceBuffer = new InstancedInterleavedBuffer(lineDistances, 2, 1); // d0, d1
35
+
36
+ geometry.setAttribute('instanceDistanceStart', new InterleavedBufferAttribute(instanceDistanceBuffer, 1, 0)); // d0
37
+
38
+ geometry.setAttribute('instanceDistanceEnd', new InterleavedBufferAttribute(instanceDistanceBuffer, 1, 1)); // d1
39
+
40
+ return this;
41
+ }
42
+
43
+ }
44
44
 
45
45
  export { Wireframe };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("./LineSegmentsGeometry.cjs.js");require("@babel/runtime/helpers/defineProperty");var t=function(t){r.LineSegmentsGeometry.call(this),this.type="WireframeGeometry2",this.fromWireframeGeometry(new e.WireframeGeometry(t))};t.prototype=Object.assign(Object.create(r.LineSegmentsGeometry.prototype),{constructor:t,isWireframeGeometry2:!0}),exports.WireframeGeometry2=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("./LineSegmentsGeometry.cjs.js");class t extends r.LineSegmentsGeometry{constructor(r){super(),this.isWireframeGeometry2=!0,this.type="WireframeGeometry2",this.fromWireframeGeometry(new e.WireframeGeometry(r))}}exports.WireframeGeometry2=t;
@@ -1,15 +1,14 @@
1
1
  import { WireframeGeometry } from 'three';
2
2
  import { LineSegmentsGeometry } from './LineSegmentsGeometry.js';
3
3
 
4
- var WireframeGeometry2 = function (geometry) {
5
- LineSegmentsGeometry.call(this);
6
- this.type = 'WireframeGeometry2';
7
- this.fromWireframeGeometry(new WireframeGeometry(geometry)); // set colors, maybe
8
- };
4
+ class WireframeGeometry2 extends LineSegmentsGeometry {
5
+ constructor(geometry) {
6
+ super();
7
+ this.isWireframeGeometry2 = true;
8
+ this.type = 'WireframeGeometry2';
9
+ this.fromWireframeGeometry(new WireframeGeometry(geometry)); // set colors, maybe
10
+ }
9
11
 
10
- WireframeGeometry2.prototype = Object.assign(Object.create(LineSegmentsGeometry.prototype), {
11
- constructor: WireframeGeometry2,
12
- isWireframeGeometry2: true
13
- });
12
+ }
14
13
 
15
14
  export { WireframeGeometry2 };
@@ -101,15 +101,8 @@ export class GLTFParser {
101
101
  loadBufferView: (bufferViewIndex: number) => Promise<ArrayBuffer>;
102
102
  loadAccessor: (accessorIndex: number) => Promise<BufferAttribute | InterleavedBufferAttribute>;
103
103
  loadTexture: (textureIndex: number) => Promise<Texture>;
104
- loadTextureImage: (
105
- textureIndex: number,
106
- /**
107
- * GLTF.Image
108
- * See: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/schema/image.schema.json
109
- */
110
- source: { [key: string]: any },
111
- loader: Loader,
112
- ) => Promise<Texture>;
104
+ loadTextureImage: (textureIndex: number, sourceIndex: number, loader: Loader) => Promise<Texture>;
105
+ loadImageSource: (sourceIndex: number, loader: Loader) => Promise<Texture>;
113
106
  assignTexture: (
114
107
  materialParams: { [key: string]: any },
115
108
  mapName: string,
@@ -1,9 +1,9 @@
1
- import { Loader, LoadingManager, DataTexture, DataTexture3D } from 'three';
1
+ import { Loader, LoadingManager, DataTexture, Data3DTexture } from 'three';
2
2
 
3
3
  export interface LUT3dlResult {
4
4
  size: number;
5
5
  texture: DataTexture;
6
- texture3D: DataTexture3D;
6
+ texture3D: Data3DTexture;
7
7
  }
8
8
 
9
9
  export class LUT3dlLoader extends Loader {
@@ -1,4 +1,4 @@
1
- import { Loader, LoadingManager, Vector3, DataTexture, DataTexture3D } from 'three';
1
+ import { Loader, LoadingManager, Vector3, DataTexture, Data3DTexture } from 'three';
2
2
 
3
3
  export interface LUTCubeResult {
4
4
  title: string;
@@ -6,7 +6,7 @@ export interface LUTCubeResult {
6
6
  domainMin: Vector3;
7
7
  domainMax: Vector3;
8
8
  texture: DataTexture;
9
- texture3D: DataTexture3D;
9
+ texture3D: Data3DTexture;
10
10
  }
11
11
 
12
12
  export class LUTCubeLoader extends Loader {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class t extends e.DataTextureLoader{constructor(t){super(t),this.type=e.HalfFloatType}parse(t){const r=function(e,t){switch(e){case 1:console.error("THREE.RGBELoader Read Error: "+(t||""));break;case 2:console.error("THREE.RGBELoader Write Error: "+(t||""));break;case 3:console.error("THREE.RGBELoader Bad File Format: "+(t||""));break;default:case 4:console.error("THREE.RGBELoader: Error: "+(t||""))}return-1},a=function(e,t,r){t=t||1024;let a=e.pos,n=-1,o=0,s="",i=String.fromCharCode.apply(null,new Uint16Array(e.subarray(a,a+128)));for(;0>(n=i.indexOf("\n"))&&o<t&&a<e.byteLength;)s+=i,o+=i.length,a+=128,i+=String.fromCharCode.apply(null,new Uint16Array(e.subarray(a,a+128)));return-1<n&&(!1!==r&&(e.pos+=o+n+1),s+i.slice(0,n))},n=function(e,t,r,a){const n=e[t+3],o=Math.pow(2,n-128)/255;r[a+0]=e[t+0]*o,r[a+1]=e[t+1]*o,r[a+2]=e[t+2]*o,r[a+3]=1},o=function(t,r,a,n){const o=t[r+3],s=Math.pow(2,o-128)/255;a[n+0]=e.DataUtils.toHalfFloat(Math.min(t[r+0]*s,65504)),a[n+1]=e.DataUtils.toHalfFloat(Math.min(t[r+1]*s,65504)),a[n+2]=e.DataUtils.toHalfFloat(Math.min(t[r+2]*s,65504)),a[n+3]=e.DataUtils.toHalfFloat(1)},s=new Uint8Array(t);s.pos=0;const i=function(e){const t=/^\s*GAMMA\s*=\s*(\d+(\.\d+)?)\s*$/,n=/^\s*EXPOSURE\s*=\s*(\d+(\.\d+)?)\s*$/,o=/^\s*FORMAT=(\S+)\s*$/,s=/^\s*\-Y\s+(\d+)\s+\+X\s+(\d+)\s*$/,i={valid:0,string:"",comments:"",programtype:"RGBE",format:"",gamma:1,exposure:1,width:0,height:0};let l,c;if(e.pos>=e.byteLength||!(l=a(e)))return r(1,"no header found");if(!(c=l.match(/^#\?(\S+)/)))return r(3,"bad initial token");for(i.valid|=1,i.programtype=c[1],i.string+=l+"\n";l=a(e),!1!==l;)if(i.string+=l+"\n","#"!==l.charAt(0)){if((c=l.match(t))&&(i.gamma=parseFloat(c[1])),(c=l.match(n))&&(i.exposure=parseFloat(c[1])),(c=l.match(o))&&(i.valid|=2,i.format=c[1]),(c=l.match(s))&&(i.valid|=4,i.height=parseInt(c[1],10),i.width=parseInt(c[2],10)),2&i.valid&&4&i.valid)break}else i.comments+=l+"\n";return 2&i.valid?4&i.valid?i:r(3,"missing image size specifier"):r(3,"missing format specifier")}(s);if(-1!==i){const t=i.width,a=i.height,l=function(e,t,a){const n=t;if(n<8||n>32767||2!==e[0]||2!==e[1]||128&e[2])return new Uint8Array(e);if(n!==(e[2]<<8|e[3]))return r(3,"wrong scanline width");const o=new Uint8Array(4*t*a);if(!o.length)return r(4,"unable to allocate buffer space");let s=0,i=0;const l=4*n,c=new Uint8Array(4),f=new Uint8Array(l);let p=a;for(;p>0&&i<e.byteLength;){if(i+4>e.byteLength)return r(1);if(c[0]=e[i++],c[1]=e[i++],c[2]=e[i++],c[3]=e[i++],2!=c[0]||2!=c[1]||(c[2]<<8|c[3])!=n)return r(3,"bad rgbe scanline format");let t,a=0;for(;a<l&&i<e.byteLength;){t=e[i++];const n=t>128;if(n&&(t-=128),0===t||a+t>l)return r(3,"bad scanline data");if(n){const r=e[i++];for(let e=0;e<t;e++)f[a++]=r}else f.set(e.subarray(i,i+t),a),a+=t,i+=t}const d=n;for(let e=0;e<d;e++){let t=0;o[s]=f[e+t],t+=n,o[s+1]=f[e+t],t+=n,o[s+2]=f[e+t],t+=n,o[s+3]=f[e+t],s+=4}p--}return o}(s.subarray(s.pos),t,a);if(-1!==l){let r,s,c,f;switch(this.type){case e.FloatType:f=l.length/4;const t=new Float32Array(4*f);for(let e=0;e<f;e++)n(l,4*e,t,4*e);r=t,c=e.FloatType;break;case e.HalfFloatType:f=l.length/4;const a=new Uint16Array(4*f);for(let e=0;e<f;e++)o(l,4*e,a,4*e);r=a,c=e.HalfFloatType;break;default:console.error("THREE.RGBELoader: unsupported type: ",this.type)}return{width:t,height:a,data:r,header:i.string,gamma:i.gamma,exposure:i.exposure,format:s,type:c}}}return null}setDataType(e){return this.type=e,this}load(t,r,a,n){return super.load(t,(function(t,a){switch(t.type){case e.FloatType:case e.HalfFloatType:t.encoding=e.LinearEncoding,t.minFilter=e.LinearFilter,t.magFilter=e.LinearFilter,t.generateMipmaps=!1,t.flipY=!0}r&&r(t,a)}),a,n)}}exports.RGBELoader=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class t extends e.DataTextureLoader{constructor(t){super(t),this.type=e.HalfFloatType}parse(t){const r=function(e,t){switch(e){case 1:console.error("THREE.RGBELoader Read Error: "+(t||""));break;case 2:console.error("THREE.RGBELoader Write Error: "+(t||""));break;case 3:console.error("THREE.RGBELoader Bad File Format: "+(t||""));break;default:case 4:console.error("THREE.RGBELoader: Error: "+(t||""))}return-1},a=function(e,t,r){t=t||1024;let a=e.pos,n=-1,o=0,s="",i=String.fromCharCode.apply(null,new Uint16Array(e.subarray(a,a+128)));for(;0>(n=i.indexOf("\n"))&&o<t&&a<e.byteLength;)s+=i,o+=i.length,a+=128,i+=String.fromCharCode.apply(null,new Uint16Array(e.subarray(a,a+128)));return-1<n&&(!1!==r&&(e.pos+=o+n+1),s+i.slice(0,n))},n=function(e,t,r,a){const n=e[t+3],o=Math.pow(2,n-128)/255;r[a+0]=e[t+0]*o,r[a+1]=e[t+1]*o,r[a+2]=e[t+2]*o,r[a+3]=1},o=function(t,r,a,n){const o=t[r+3],s=Math.pow(2,o-128)/255;a[n+0]=e.DataUtils.toHalfFloat(Math.min(t[r+0]*s,65504)),a[n+1]=e.DataUtils.toHalfFloat(Math.min(t[r+1]*s,65504)),a[n+2]=e.DataUtils.toHalfFloat(Math.min(t[r+2]*s,65504)),a[n+3]=e.DataUtils.toHalfFloat(1)},s=new Uint8Array(t);s.pos=0;const i=function(e){const t=/^\s*GAMMA\s*=\s*(\d+(\.\d+)?)\s*$/,n=/^\s*EXPOSURE\s*=\s*(\d+(\.\d+)?)\s*$/,o=/^\s*FORMAT=(\S+)\s*$/,s=/^\s*\-Y\s+(\d+)\s+\+X\s+(\d+)\s*$/,i={valid:0,string:"",comments:"",programtype:"RGBE",format:"",gamma:1,exposure:1,width:0,height:0};let l,c;if(e.pos>=e.byteLength||!(l=a(e)))return r(1,"no header found");if(!(c=l.match(/^#\?(\S+)/)))return r(3,"bad initial token");for(i.valid|=1,i.programtype=c[1],i.string+=l+"\n";l=a(e),!1!==l;)if(i.string+=l+"\n","#"!==l.charAt(0)){if((c=l.match(t))&&(i.gamma=parseFloat(c[1])),(c=l.match(n))&&(i.exposure=parseFloat(c[1])),(c=l.match(o))&&(i.valid|=2,i.format=c[1]),(c=l.match(s))&&(i.valid|=4,i.height=parseInt(c[1],10),i.width=parseInt(c[2],10)),2&i.valid&&4&i.valid)break}else i.comments+=l+"\n";return 2&i.valid?4&i.valid?i:r(3,"missing image size specifier"):r(3,"missing format specifier")}(s);if(-1!==i){const t=i.width,a=i.height,l=function(e,t,a){const n=t;if(n<8||n>32767||2!==e[0]||2!==e[1]||128&e[2])return new Uint8Array(e);if(n!==(e[2]<<8|e[3]))return r(3,"wrong scanline width");const o=new Uint8Array(4*t*a);if(!o.length)return r(4,"unable to allocate buffer space");let s=0,i=0;const l=4*n,c=new Uint8Array(4),f=new Uint8Array(l);let p=a;for(;p>0&&i<e.byteLength;){if(i+4>e.byteLength)return r(1);if(c[0]=e[i++],c[1]=e[i++],c[2]=e[i++],c[3]=e[i++],2!=c[0]||2!=c[1]||(c[2]<<8|c[3])!=n)return r(3,"bad rgbe scanline format");let t,a=0;for(;a<l&&i<e.byteLength;){t=e[i++];const n=t>128;if(n&&(t-=128),0===t||a+t>l)return r(3,"bad scanline data");if(n){const r=e[i++];for(let e=0;e<t;e++)f[a++]=r}else f.set(e.subarray(i,i+t),a),a+=t,i+=t}const d=n;for(let e=0;e<d;e++){let t=0;o[s]=f[e+t],t+=n,o[s+1]=f[e+t],t+=n,o[s+2]=f[e+t],t+=n,o[s+3]=f[e+t],s+=4}p--}return o}(s.subarray(s.pos),t,a);if(-1!==l){let r,s,c;switch(this.type){case e.FloatType:c=l.length/4;const t=new Float32Array(4*c);for(let e=0;e<c;e++)n(l,4*e,t,4*e);r=t,s=e.FloatType;break;case e.HalfFloatType:c=l.length/4;const a=new Uint16Array(4*c);for(let e=0;e<c;e++)o(l,4*e,a,4*e);r=a,s=e.HalfFloatType;break;default:console.error("THREE.RGBELoader: unsupported type: ",this.type)}return{width:t,height:a,data:r,header:i.string,gamma:i.gamma,exposure:i.exposure,type:s}}}return null}setDataType(e){return this.type=e,this}load(t,r,a,n){return super.load(t,(function(t,a){switch(t.type){case e.FloatType:case e.HalfFloatType:t.encoding=e.LinearEncoding,t.minFilter=e.LinearFilter,t.magFilter=e.LinearFilter,t.generateMipmaps=!1,t.flipY=!0}r&&r(t,a)}),a,n)}}exports.RGBELoader=t;
@@ -304,7 +304,7 @@ class RGBELoader extends DataTextureLoader {
304
304
  image_rgba_data = RGBE_ReadPixels_RLE(byteArray.subarray(byteArray.pos), w, h);
305
305
 
306
306
  if (RGBE_RETURN_FAILURE !== image_rgba_data) {
307
- let data, format, type;
307
+ let data, type;
308
308
  let numElements;
309
309
 
310
310
  switch (this.type) {
@@ -344,7 +344,6 @@ class RGBELoader extends DataTextureLoader {
344
344
  header: rgbe_header_info.string,
345
345
  gamma: rgbe_header_info.gamma,
346
346
  exposure: rgbe_header_info.exposure,
347
- format: format,
348
347
  type: type
349
348
  };
350
349
  }
@@ -362,13 +361,6 @@ class RGBELoader extends DataTextureLoader {
362
361
  function onLoadCallback(texture, texData) {
363
362
  switch (texture.type) {
364
363
  case FloatType:
365
- texture.encoding = LinearEncoding;
366
- texture.minFilter = LinearFilter;
367
- texture.magFilter = LinearFilter;
368
- texture.generateMipmaps = false;
369
- texture.flipY = true;
370
- break;
371
-
372
364
  case HalfFloatType:
373
365
  texture.encoding = LinearEncoding;
374
366
  texture.minFilter = LinearFilter;
@@ -1,4 +1,4 @@
1
- import { DataTexture3D, Mesh, Loader, LoadingManager } from 'three';
1
+ import { Data3DTexture, Mesh, Loader, LoadingManager } from 'three';
2
2
 
3
3
  export interface Chunk {
4
4
  palette: number[];
@@ -23,6 +23,6 @@ export class VOXMesh extends Mesh {
23
23
  constructor(chunk: Chunk);
24
24
  }
25
25
 
26
- export class VOXDataTexture3D extends DataTexture3D {
26
+ export class VOXData3DTexture extends Data3DTexture {
27
27
  constructor(chunk: Chunk);
28
28
  }
@@ -7,6 +7,7 @@ export interface ReflectorOptions {
7
7
  clipBias?: number;
8
8
  shader?: object;
9
9
  encoding?: TextureEncoding;
10
+ multisample?: number;
10
11
  }
11
12
 
12
13
  export class Reflector extends Mesh {
@@ -21,7 +21,7 @@ export interface ReflectorShader {
21
21
  fragmentShader: string;
22
22
  }
23
23
 
24
- export interface ReflectorOptions {
24
+ export interface ReflectorForSSRPassOptions {
25
25
  clipBias?: number | undefined;
26
26
  textureWidth?: number | undefined;
27
27
  textureHeight?: number | undefined;
@@ -30,9 +30,9 @@ export interface ReflectorOptions {
30
30
  shader?: ReflectorShader | undefined;
31
31
  }
32
32
 
33
- export class Reflector<TGeometry extends BufferGeometry = BufferGeometry> extends Mesh<TGeometry> {
33
+ export class ReflectorForSSRPass<TGeometry extends BufferGeometry = BufferGeometry> extends Mesh<TGeometry> {
34
34
  type: 'ReflectorForSSRPass';
35
- options: ReflectorOptions;
35
+ options: ReflectorForSSRPassOptions;
36
36
 
37
37
  static ReflectorShader: ReflectorShader;
38
38
 
@@ -49,7 +49,7 @@ export class Reflector<TGeometry extends BufferGeometry = BufferGeometry> extend
49
49
 
50
50
  renderTarget: WebGLRenderTarget;
51
51
 
52
- constructor(geometry: TGeometry, options: ReflectorOptions);
52
+ constructor(geometry: TGeometry, options: ReflectorForSSRPassOptions);
53
53
 
54
54
  doRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera) => void;
55
55
 
@@ -7,6 +7,7 @@ export interface RefractorOptions {
7
7
  clipBias?: number;
8
8
  shader?: object;
9
9
  encoding?: TextureEncoding;
10
+ multisample?: number;
10
11
  }
11
12
 
12
13
  export class Refractor extends Mesh {
@@ -24,7 +24,7 @@ export interface Water2Options {
24
24
  encoding?: TextureEncoding;
25
25
  }
26
26
 
27
- export class Water extends Mesh {
27
+ export class Water2 extends Mesh {
28
28
  material: ShaderMaterial;
29
29
  constructor(geometry: BufferGeometry, options: Water2Options);
30
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "three-stdlib",
3
- "version": "2.14.1",
3
+ "version": "2.15.0",
4
4
  "private": false,
5
5
  "description": "stand-alone library of threejs examples",
6
6
  "main": "index.cjs.js",
@@ -21,6 +21,7 @@
21
21
  "homepage": "https://github.com/pmndrs/three-stdlib#readme",
22
22
  "dependencies": {
23
23
  "@babel/runtime": "^7.16.7",
24
+ "@types/offscreencanvas": "^2019.6.4",
24
25
  "@webgpu/glslang": "^0.0.15",
25
26
  "chevrotain": "^10.1.2",
26
27
  "draco3d": "^1.4.1",
@@ -1,13 +1,13 @@
1
- import { DataTexture, DataTexture3D } from 'three';
1
+ import { DataTexture, Data3DTexture } from 'three';
2
2
  import { ShaderPass } from './ShaderPass';
3
3
 
4
4
  export interface LUTPassParameters {
5
- lut?: DataTexture | DataTexture3D;
5
+ lut?: DataTexture | Data3DTexture;
6
6
  intensity?: number;
7
7
  }
8
8
 
9
9
  export class LUTPass extends ShaderPass {
10
- lut?: DataTexture | DataTexture3D;
10
+ lut?: DataTexture | Data3DTexture;
11
11
  intensity?: number;
12
12
  constructor(params: LUTPassParameters);
13
13
  }
@@ -3,7 +3,7 @@ import { Scene, Camera, ColorRepresentation, ShaderMaterial, WebGLRenderTarget }
3
3
  import { Pass } from './Pass';
4
4
 
5
5
  export class SSAARenderPass extends Pass {
6
- constructor(scene: Scene, camera: Camera, clearColor: ColorRepresentation, clearAlpha: number);
6
+ constructor(scene: Scene, camera: Camera, clearColor?: ColorRepresentation, clearAlpha?: number);
7
7
  scene: Scene;
8
8
  camera: Camera;
9
9
  sampleLevel: number;
@@ -12,7 +12,7 @@ import {
12
12
  ColorRepresentation,
13
13
  } from 'three';
14
14
  import { Pass, FullScreenQuad } from '../postprocessing/Pass';
15
- import { Reflector } from '../objects/ReflectorForSSRPass';
15
+ import { ReflectorForSSRPass } from '../objects/ReflectorForSSRPass';
16
16
 
17
17
  export interface SSRPassParams {
18
18
  renderer: WebGLRenderer;
@@ -23,7 +23,7 @@ export interface SSRPassParams {
23
23
  selects: Mesh[] | null;
24
24
  isPerspectiveCamera?: boolean | undefined;
25
25
  isBouncing?: boolean | undefined;
26
- groundReflector: Reflector | null;
26
+ groundReflector: ReflectorForSSRPass | null;
27
27
  }
28
28
 
29
29
  export class SSRPass extends Pass {
@@ -33,7 +33,7 @@ export class SSRPass extends Pass {
33
33
  renderer: WebGLRenderer;
34
34
  scene: Scene;
35
35
  camera: Camera;
36
- groundReflector: Reflector | null;
36
+ groundReflector: ReflectorForSSRPass | null;
37
37
  opacity: number;
38
38
  output: number;
39
39
  maxDistance: number;
@@ -1,76 +1,31 @@
1
- import { Vector2 } from 'three';
1
+ import { IUniform, Texture, Vector2 } from 'three';
2
+ export interface BokehShaderUniforms {
3
+ textureWidth: IUniform<number>;
4
+ textureHeight: IUniform<number>;
5
+ focalDepth: IUniform<number>;
6
+ focalLength: IUniform<number>;
7
+ fstop: IUniform<number>;
8
+ tColor: IUniform<Texture | null>;
9
+ tDepth: IUniform<Texture | null>;
10
+ maxblur: IUniform<number>;
11
+ showFocus: IUniform<number>;
12
+ manualdof: IUniform<number>;
13
+ vignetting: IUniform<number>;
14
+ depthblur: IUniform<number>;
15
+ threshold: IUniform<number>;
16
+ gain: IUniform<number>;
17
+ bias: IUniform<number>;
18
+ fringe: IUniform<number>;
19
+ znear: IUniform<number>;
20
+ zfar: IUniform<number>;
21
+ noise: IUniform<number>;
22
+ dithering: IUniform<number>;
23
+ pentagon: IUniform<number>;
24
+ shaderFocus: IUniform<number>;
25
+ focusCoords: IUniform<Vector2>;
26
+ }
2
27
  export declare const BokehShader2: {
3
- uniforms: {
4
- textureWidth: {
5
- value: number;
6
- };
7
- textureHeight: {
8
- value: number;
9
- };
10
- focalDepth: {
11
- value: number;
12
- };
13
- focalLength: {
14
- value: number;
15
- };
16
- fstop: {
17
- value: number;
18
- };
19
- tColor: {
20
- value: null;
21
- };
22
- tDepth: {
23
- value: null;
24
- };
25
- maxblur: {
26
- value: number;
27
- };
28
- showFocus: {
29
- value: number;
30
- };
31
- manualdof: {
32
- value: number;
33
- };
34
- vignetting: {
35
- value: number;
36
- };
37
- depthblur: {
38
- value: number;
39
- };
40
- threshold: {
41
- value: number;
42
- };
43
- gain: {
44
- value: number;
45
- };
46
- bias: {
47
- value: number;
48
- };
49
- fringe: {
50
- value: number;
51
- };
52
- znear: {
53
- value: number;
54
- };
55
- zfar: {
56
- value: number;
57
- };
58
- noise: {
59
- value: number;
60
- };
61
- dithering: {
62
- value: number;
63
- };
64
- pentagon: {
65
- value: number;
66
- };
67
- shaderFocus: {
68
- value: number;
69
- };
70
- focusCoords: {
71
- value: Vector2;
72
- };
73
- };
28
+ uniforms: BokehShaderUniforms;
74
29
  vertexShader: string;
75
30
  fragmentShader: string;
76
31
  };
@@ -7,7 +7,6 @@ import { Vector2 } from 'three';
7
7
  *
8
8
  * Requires #define RINGS and SAMPLES integers
9
9
  */
10
-
11
10
  const BokehShader2 = {
12
11
  uniforms: {
13
12
  textureWidth: {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./ACESFilmicToneMappingShader.cjs.js"),r=require("./AfterimageShader.cjs.js"),a=require("./BasicShader.cjs.js"),S=require("./BleachBypassShader.cjs.js"),h=require("./BlendShader.cjs.js"),s=require("./BokehShader.cjs.js"),o=require("./BokehShader2.cjs.js"),d=require("./BrightnessContrastShader.cjs.js"),t=require("./ColorCorrectionShader.cjs.js"),i=require("./ColorifyShader.cjs.js"),p=require("./ConvolutionShader.cjs.js"),j=require("./CopyShader.cjs.js"),c=require("./DOFMipMapShader.cjs.js"),u=require("./DepthLimitedBlurShader.cjs.js"),l=require("./DigitalGlitch.cjs.js"),n=require("./DotScreenShader.cjs.js"),x=require("./FXAAShader.cjs.js"),q=require("./FilmShader.cjs.js"),B=require("./FocusShader.cjs.js"),A=require("./FreiChenShader.cjs.js"),m=require("./FresnelShader.cjs.js"),g=require("./GammaCorrectionShader.cjs.js"),C=require("./GodRaysShader.cjs.js"),M=require("./HalftoneShader.cjs.js"),R=require("./HorizontalBlurShader.cjs.js"),T=require("./HorizontalTiltShiftShader.cjs.js"),f=require("./HueSaturationShader.cjs.js"),y=require("./KaleidoShader.cjs.js"),D=require("./LuminosityHighPassShader.cjs.js"),F=require("./LuminosityShader.cjs.js"),G=require("./MirrorShader.cjs.js"),H=require("./NormalMapShader.cjs.js"),O=require("./ParallaxShader.cjs.js"),k=require("./PixelShader.cjs.js"),V=require("./RGBShiftShader.cjs.js"),P=require("./SAOShader.cjs.js"),b=require("./SMAAShader.cjs.js"),L=require("./SSAOShader.cjs.js"),z=require("./SSRShader.cjs.js"),v=require("./SepiaShader.cjs.js"),E=require("./SobelOperatorShader.cjs.js"),U=require("./SubsurfaceScatteringShader.cjs.js"),W=require("./TechnicolorShader.cjs.js"),K=require("./ToneMapShader.cjs.js"),N=require("./ToonShader.cjs.js"),X=require("./TriangleBlurShader.cjs.js"),_=require("./UnpackDepthRGBAShader.cjs.js"),w=require("./VerticalBlurShader.cjs.js"),I=require("./VerticalTiltShiftShader.cjs.js"),J=require("./VignetteShader.cjs.js"),Q=require("./VolumeShader.cjs.js"),Y=require("./WaterRefractionShader.cjs.js");require("three"),exports.ACESFilmicToneMappingShader=e.ACESFilmicToneMappingShader,exports.AfterimageShader=r.AfterimageShader,exports.BasicShader=a.BasicShader,exports.BleachBypassShader=S.BleachBypassShader,exports.BlendShader=h.BlendShader,exports.BokehShader=s.BokehShader,exports.BokehDepthShader=o.BokehDepthShader,exports.BokehShader2=o.BokehShader2,exports.BrightnessContrastShader=d.BrightnessContrastShader,exports.ColorCorrectionShader=t.ColorCorrectionShader,exports.ColorifyShader=i.ColorifyShader,exports.ConvolutionShader=p.ConvolutionShader,exports.CopyShader=j.CopyShader,exports.DOFMipMapShader=c.DOFMipMapShader,exports.BlurShaderUtils=u.BlurShaderUtils,exports.DepthLimitedBlurShader=u.DepthLimitedBlurShader,exports.DigitalGlitch=l.DigitalGlitch,exports.DotScreenShader=n.DotScreenShader,exports.FXAAShader=x.FXAAShader,exports.FilmShader=q.FilmShader,exports.FocusShader=B.FocusShader,exports.FreiChenShader=A.FreiChenShader,exports.FresnelShader=m.FresnelShader,exports.GammaCorrectionShader=g.GammaCorrectionShader,exports.GodRaysCombineShader=C.GodRaysCombineShader,exports.GodRaysDepthMaskShader=C.GodRaysDepthMaskShader,exports.GodRaysFakeSunShader=C.GodRaysFakeSunShader,exports.GodRaysGenerateShader=C.GodRaysGenerateShader,exports.HalftoneShader=M.HalftoneShader,exports.HorizontalBlurShader=R.HorizontalBlurShader,exports.HorizontalTiltShiftShader=T.HorizontalTiltShiftShader,exports.HueSaturationShader=f.HueSaturationShader,exports.KaleidoShader=y.KaleidoShader,exports.LuminosityHighPassShader=D.LuminosityHighPassShader,exports.LuminosityShader=F.LuminosityShader,exports.MirrorShader=G.MirrorShader,exports.NormalMapShader=H.NormalMapShader,exports.ParallaxShader=O.ParallaxShader,exports.PixelShader=k.PixelShader,exports.RGBShiftShader=V.RGBShiftShader,exports.SAOShader=P.SAOShader,exports.SMAABlendShader=b.SMAABlendShader,exports.SMAAEdgesShader=b.SMAAEdgesShader,exports.SMAAWeightsShader=b.SMAAWeightsShader,exports.SSAOBlurShader=L.SSAOBlurShader,exports.SSAODepthShader=L.SSAODepthShader,exports.SSAOShader=L.SSAOShader,exports.SSRBlurShader=z.SSRBlurShader,exports.SSRDepthShader=z.SSRDepthShader,exports.SSRShader=z.SSRShader,exports.SepiaShader=v.SepiaShader,exports.SobelOperatorShader=E.SobelOperatorShader,exports.SubsurfaceScatteringShader=U.SubsurfaceScatteringShader,exports.TechnicolorShader=W.TechnicolorShader,exports.ToneMapShader=K.ToneMapShader,exports.ToonShader1=N.ToonShader1,exports.ToonShader2=N.ToonShader2,exports.ToonShaderDotted=N.ToonShaderDotted,exports.ToonShaderHatching=N.ToonShaderHatching,exports.TriangleBlurShader=X.TriangleBlurShader,exports.UnpackDepthRGBAShader=_.UnpackDepthRGBAShader,exports.VerticalBlurShader=w.VerticalBlurShader,exports.VerticalTiltShiftShader=I.VerticalTiltShiftShader,exports.VignetteShader=J.VignetteShader,exports.VolumeRenderShader1=Q.VolumeRenderShader1,exports.WaterRefractionShader=Y.WaterRefractionShader;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./ACESFilmicToneMappingShader.cjs.js"),r=require("./AfterimageShader.cjs.js"),a=require("./BasicShader.cjs.js"),S=require("./BleachBypassShader.cjs.js"),h=require("./BlendShader.cjs.js"),s=require("./BokehShader.cjs.js"),d=require("./BokehShader2.cjs.js"),o=require("./BrightnessContrastShader.cjs.js"),t=require("./ColorCorrectionShader.cjs.js"),i=require("./ColorifyShader.cjs.js"),p=require("./ConvolutionShader.cjs.js"),j=require("./CopyShader.cjs.js"),c=require("./DOFMipMapShader.cjs.js"),u=require("./DepthLimitedBlurShader.cjs.js"),l=require("./DigitalGlitch.cjs.js"),n=require("./DotScreenShader.cjs.js"),x=require("./FXAAShader.cjs.js"),q=require("./FilmShader.cjs.js"),B=require("./FocusShader.cjs.js"),A=require("./FreiChenShader.cjs.js"),m=require("./FresnelShader.cjs.js"),g=require("./GammaCorrectionShader.cjs.js"),C=require("./GodRaysShader.cjs.js"),M=require("./HalftoneShader.cjs.js"),R=require("./HorizontalBlurShader.cjs.js"),T=require("./HorizontalTiltShiftShader.cjs.js"),f=require("./HueSaturationShader.cjs.js"),y=require("./KaleidoShader.cjs.js"),D=require("./LuminosityHighPassShader.cjs.js"),F=require("./LuminosityShader.cjs.js"),G=require("./MirrorShader.cjs.js"),H=require("./NormalMapShader.cjs.js"),O=require("./ParallaxShader.cjs.js"),k=require("./PixelShader.cjs.js"),V=require("./RGBShiftShader.cjs.js"),P=require("./SAOShader.cjs.js"),b=require("./SMAAShader.cjs.js"),L=require("./SSAOShader.cjs.js"),z=require("./SSRShader.cjs.js"),v=require("./SepiaShader.cjs.js"),E=require("./SobelOperatorShader.cjs.js"),U=require("./SubsurfaceScatteringShader.cjs.js"),W=require("./TechnicolorShader.cjs.js"),K=require("./ToneMapShader.cjs.js"),N=require("./ToonShader.cjs.js"),X=require("./TriangleBlurShader.cjs.js"),_=require("./UnpackDepthRGBAShader.cjs.js"),w=require("./VerticalBlurShader.cjs.js"),I=require("./VerticalTiltShiftShader.cjs.js"),J=require("./VignetteShader.cjs.js"),Q=require("./VolumeShader.cjs.js"),Y=require("./WaterRefractionShader.cjs.js");require("three"),exports.ACESFilmicToneMappingShader=e.ACESFilmicToneMappingShader,exports.AfterimageShader=r.AfterimageShader,exports.BasicShader=a.BasicShader,exports.BleachBypassShader=S.BleachBypassShader,exports.BlendShader=h.BlendShader,exports.BokehShader=s.BokehShader,exports.BokehShader2=d.BokehShader2,exports.BrightnessContrastShader=o.BrightnessContrastShader,exports.ColorCorrectionShader=t.ColorCorrectionShader,exports.ColorifyShader=i.ColorifyShader,exports.ConvolutionShader=p.ConvolutionShader,exports.CopyShader=j.CopyShader,exports.DOFMipMapShader=c.DOFMipMapShader,exports.BlurShaderUtils=u.BlurShaderUtils,exports.DepthLimitedBlurShader=u.DepthLimitedBlurShader,exports.DigitalGlitch=l.DigitalGlitch,exports.DotScreenShader=n.DotScreenShader,exports.FXAAShader=x.FXAAShader,exports.FilmShader=q.FilmShader,exports.FocusShader=B.FocusShader,exports.FreiChenShader=A.FreiChenShader,exports.FresnelShader=m.FresnelShader,exports.GammaCorrectionShader=g.GammaCorrectionShader,exports.GodRaysCombineShader=C.GodRaysCombineShader,exports.GodRaysDepthMaskShader=C.GodRaysDepthMaskShader,exports.GodRaysFakeSunShader=C.GodRaysFakeSunShader,exports.GodRaysGenerateShader=C.GodRaysGenerateShader,exports.HalftoneShader=M.HalftoneShader,exports.HorizontalBlurShader=R.HorizontalBlurShader,exports.HorizontalTiltShiftShader=T.HorizontalTiltShiftShader,exports.HueSaturationShader=f.HueSaturationShader,exports.KaleidoShader=y.KaleidoShader,exports.LuminosityHighPassShader=D.LuminosityHighPassShader,exports.LuminosityShader=F.LuminosityShader,exports.MirrorShader=G.MirrorShader,exports.NormalMapShader=H.NormalMapShader,exports.ParallaxShader=O.ParallaxShader,exports.PixelShader=k.PixelShader,exports.RGBShiftShader=V.RGBShiftShader,exports.SAOShader=P.SAOShader,exports.SMAABlendShader=b.SMAABlendShader,exports.SMAAEdgesShader=b.SMAAEdgesShader,exports.SMAAWeightsShader=b.SMAAWeightsShader,exports.SSAOBlurShader=L.SSAOBlurShader,exports.SSAODepthShader=L.SSAODepthShader,exports.SSAOShader=L.SSAOShader,exports.SSRBlurShader=z.SSRBlurShader,exports.SSRDepthShader=z.SSRDepthShader,exports.SSRShader=z.SSRShader,exports.SepiaShader=v.SepiaShader,exports.SobelOperatorShader=E.SobelOperatorShader,exports.SubsurfaceScatteringShader=U.SubsurfaceScatteringShader,exports.TechnicolorShader=W.TechnicolorShader,exports.ToneMapShader=K.ToneMapShader,exports.ToonShader1=N.ToonShader1,exports.ToonShader2=N.ToonShader2,exports.ToonShaderDotted=N.ToonShaderDotted,exports.ToonShaderHatching=N.ToonShaderHatching,exports.TriangleBlurShader=X.TriangleBlurShader,exports.UnpackDepthRGBAShader=_.UnpackDepthRGBAShader,exports.VerticalBlurShader=w.VerticalBlurShader,exports.VerticalTiltShiftShader=I.VerticalTiltShiftShader,exports.VignetteShader=J.VignetteShader,exports.VolumeRenderShader1=Q.VolumeRenderShader1,exports.WaterRefractionShader=Y.WaterRefractionShader;
@@ -5,7 +5,8 @@ export * from './BasicShader';
5
5
  export * from './BleachBypassShader';
6
6
  export * from './BlendShader';
7
7
  export * from './BokehShader';
8
- export * from './BokehShader2';
8
+ export { BokehShader2 } from './BokehShader2';
9
+ export type { BokehShaderUniforms as BokehShader2Uniforms } from './BokehShader2';
9
10
  export * from './BrightnessContrastShader';
10
11
  export * from './ColorCorrectionShader';
11
12
  export * from './ColorifyShader';
package/shaders/index.js CHANGED
@@ -4,7 +4,7 @@ export { BasicShader } from './BasicShader.js';
4
4
  export { BleachBypassShader } from './BleachBypassShader.js';
5
5
  export { BlendShader } from './BlendShader.js';
6
6
  export { BokehShader } from './BokehShader.js';
7
- export { BokehDepthShader, BokehShader2 } from './BokehShader2.js';
7
+ export { BokehShader2 } from './BokehShader2.js';
8
8
  export { BrightnessContrastShader } from './BrightnessContrastShader.js';
9
9
  export { ColorCorrectionShader } from './ColorCorrectionShader.js';
10
10
  export { ColorifyShader } from './ColorifyShader.js';
@@ -1 +0,0 @@
1
- "use strict";var e=require("three");const t=new e.Matrix4;class r{constructor(t){t=t||{},this.vertices={near:[new e.Vector3,new e.Vector3,new e.Vector3,new e.Vector3],far:[new e.Vector3,new e.Vector3,new e.Vector3,new e.Vector3]},void 0!==t.projectionMatrix&&this.setFromProjectionMatrix(t.projectionMatrix,t.maxFar||1e4)}setFromProjectionMatrix(e,r){const s=0===e.elements[11];return t.copy(e).invert(),this.vertices.near[0].set(1,1,-1),this.vertices.near[1].set(1,-1,-1),this.vertices.near[2].set(-1,-1,-1),this.vertices.near[3].set(-1,1,-1),this.vertices.near.forEach((e=>{e.applyMatrix4(t)})),this.vertices.far[0].set(1,1,1),this.vertices.far[1].set(1,-1,1),this.vertices.far[2].set(-1,-1,1),this.vertices.far[3].set(-1,1,1),this.vertices.far.forEach((e=>{e.applyMatrix4(t);const i=Math.abs(e.z);s?e.z*=Math.min(r/i,1):e.multiplyScalar(Math.min(r/i,1))})),this.vertices}split(e,t){for(;e.length>t.length;)t.push(new r);t.length=e.length;for(let r=0;r<e.length;r++){const s=t[r];if(0===r)for(let e=0;e<4;e++)s.vertices.near[e].copy(this.vertices.near[e]);else for(let t=0;t<4;t++)s.vertices.near[t].lerpVectors(this.vertices.near[t],this.vertices.far[t],e[r-1]);if(r===e-1)for(let e=0;e<4;e++)s.vertices.far[e].copy(this.vertices.far[e]);else for(let t=0;t<4;t++)s.vertices.far[t].lerpVectors(this.vertices.near[t],this.vertices.far[t],e[r])}}toSpace(e,t){for(let r=0;r<4;r++)t.vertices.near[r].copy(this.vertices.near[r]).applyMatrix4(e),t.vertices.far[r].copy(this.vertices.far[r]).applyMatrix4(e)}}module.exports=r;
package/csm/Shader.cjs.js DELETED
@@ -1 +0,0 @@
1
- "use strict";var t={lights_fragment_begin:"\nGeometricContext geometry;\n\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n\n#ifdef CLEARCOAT\n\n\tgeometry.clearcoatNormal = clearcoatNormal;\n\n#endif\n\nIncidentLight directLight;\n\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\n\t\tpointLight = pointLights[ i ];\n\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\n\t\tspotLight = spotLights[ i ];\n\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_DIR_LIGHTS > 0) && defined( RE_Direct ) && defined( USE_CSM ) && defined( CSM_CASCADES )\n\n\tDirectionalLight directionalLight;\n\tfloat linearDepth = (vViewPosition.z) / (shadowFar - cameraNear);\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\n\t#if defined( USE_SHADOWMAP ) && defined( CSM_FADE )\n\tvec2 cascade;\n\tfloat cascadeCenter;\n\tfloat closestEdge;\n\tfloat margin;\n\tfloat csmx;\n\tfloat csmy;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t// NOTE: Depth gets larger away from the camera.\n\t\t// cascade.x is closer, cascade.y is further\n\t\tcascade = CSM_cascades[ i ];\n\t\tcascadeCenter = ( cascade.x + cascade.y ) / 2.0;\n\t\tclosestEdge = linearDepth < cascadeCenter ? cascade.x : cascade.y;\n\t\tmargin = 0.25 * pow( closestEdge, 2.0 );\n\t\tcsmx = cascade.x - margin / 2.0;\n\t\tcsmy = cascade.y + margin / 2.0;\n\t\tif( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS && linearDepth >= csmx && ( linearDepth < csmy || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1 ) ) {\n\n\t\t\tfloat dist = min( linearDepth - csmx, csmy - linearDepth );\n\t\t\tfloat ratio = clamp( dist / margin, 0.0, 1.0 );\n\t\t\tif( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) {\n\n\t\t\t\tvec3 prevColor = directLight.color;\n\t\t\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\t\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t\t\t\tbool shouldFadeLastCascade = UNROLLED_LOOP_INDEX == CSM_CASCADES - 1 && linearDepth > cascadeCenter;\n\t\t\t\tdirectLight.color = mix( prevColor, directLight.color, shouldFadeLastCascade ? ratio : 1.0 );\n\n\t\t\t}\n\n\t\t\tReflectedLight prevLight = reflectedLight;\n\t\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t\t\tbool shouldBlend = UNROLLED_LOOP_INDEX != CSM_CASCADES - 1 || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1 && linearDepth < cascadeCenter;\n\t\t\tfloat blendRatio = shouldBlend ? ratio : 1.0;\n\n\t\t\treflectedLight.directDiffuse = mix( prevLight.directDiffuse, reflectedLight.directDiffuse, blendRatio );\n\t\t\treflectedLight.directSpecular = mix( prevLight.directSpecular, reflectedLight.directSpecular, blendRatio );\n\t\t\treflectedLight.indirectDiffuse = mix( prevLight.indirectDiffuse, reflectedLight.indirectDiffuse, blendRatio );\n\t\t\treflectedLight.indirectSpecular = mix( prevLight.indirectSpecular, reflectedLight.indirectSpecular, blendRatio );\n\n\t\t}\n\n\t}\n\t#pragma unroll_loop_end\n\t#else\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tif(linearDepth >= CSM_cascades[UNROLLED_LOOP_INDEX].x && linearDepth < CSM_cascades[UNROLLED_LOOP_INDEX].y) directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t\t#endif\n\n\t\tif(linearDepth >= CSM_cascades[UNROLLED_LOOP_INDEX].x && (linearDepth < CSM_cascades[UNROLLED_LOOP_INDEX].y || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1)) RE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n#endif\n\n\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) && !defined( USE_CSM ) && !defined( CSM_CASCADES )\n\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\n\tRectAreaLight rectAreaLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if defined( RE_IndirectDiffuse )\n\n\tvec3 iblIrradiance = vec3( 0.0 );\n\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\n\t\t}\n\t\t#pragma unroll_loop_end\n\n\t#endif\n\n#endif\n\n#if defined( RE_IndirectSpecular )\n\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n\n#endif\n",lights_pars_begin:"\n#if defined( USE_CSM ) && defined( CSM_CASCADES )\nuniform vec2 CSM_cascades[CSM_CASCADES];\nuniform float cameraNear;\nuniform float shadowFar;\n#endif\n\t"+require("three").ShaderChunk.lights_pars_begin};module.exports=t;
@@ -1,19 +0,0 @@
1
- import { Loader, LoadingManager } from 'three';
2
-
3
- import { GLTFLoader, GLTF } from './GLTFLoader';
4
- import { DRACOLoader } from './DRACOLoader';
5
-
6
- export class VRMLoader extends Loader {
7
- constructor(manager?: LoadingManager);
8
- gltfLoader: GLTFLoader;
9
-
10
- load(
11
- url: string,
12
- onLoad: (scene: GLTF) => void,
13
- onProgress?: (event: ProgressEvent) => void,
14
- onError?: (event: ErrorEvent) => void,
15
- ): void;
16
- loadAsync(url: string, onProgress?: (event: ProgressEvent) => void): Promise<GLTF>;
17
- parse(gltf: GLTF, onLoad: (scene: GLTF) => void): void;
18
- setDRACOLoader(dracoLoader: DRACOLoader): this;
19
- }