three-stdlib 2.14.3 → 2.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) 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/loaders/GLTFLoader.d.ts +2 -9
  22. package/loaders/LUT3dlLoader.d.ts +2 -2
  23. package/loaders/LUTCubeLoader.d.ts +2 -2
  24. package/loaders/VOXLoader.d.ts +2 -2
  25. package/objects/Reflector.d.ts +1 -0
  26. package/objects/ReflectorForSSRPass.d.ts +4 -4
  27. package/objects/Refractor.d.ts +1 -0
  28. package/objects/Water2.d.ts +1 -1
  29. package/package.json +2 -1
  30. package/postprocessing/LUTPass.d.ts +3 -3
  31. package/postprocessing/SSAARenderPass.d.ts +1 -1
  32. package/postprocessing/SSRPass.d.ts +3 -3
  33. package/shaders/BokehShader2.d.ts +27 -72
  34. package/shaders/BokehShader2.js +0 -1
  35. package/shaders/index.cjs.js +1 -1
  36. package/shaders/index.d.ts +2 -1
  37. package/shaders/index.js +1 -1
  38. package/csm/Frustum.cjs.js +0 -1
  39. package/csm/Shader.cjs.js +0 -1
  40. package/loaders/VRMLoader.d.ts +0 -19
  41. package/nodes/Nodes.d.ts +0 -106
  42. package/nodes/accessors/CameraNode.d.ts +0 -29
  43. package/nodes/accessors/NormalNode.d.ts +0 -13
  44. package/nodes/accessors/PositionNode.d.ts +0 -15
  45. package/nodes/accessors/ReflectNode.d.ts +0 -12
  46. package/nodes/accessors/UVNode.d.ts +0 -10
  47. package/nodes/core/AttributeNode.d.ts +0 -13
  48. package/nodes/core/ConstNode.d.ts +0 -22
  49. package/nodes/core/ExpressionNode.d.ts +0 -5
  50. package/nodes/core/FunctionCallNode.d.ts +0 -17
  51. package/nodes/core/FunctionNode.d.ts +0 -28
  52. package/nodes/core/InputNode.d.ts +0 -12
  53. package/nodes/core/Node.d.ts +0 -34
  54. package/nodes/core/NodeBuilder.d.ts +0 -149
  55. package/nodes/core/NodeFrame.d.ts +0 -17
  56. package/nodes/core/NodeUniform.d.ts +0 -17
  57. package/nodes/core/NodeUtils.d.ts +0 -7
  58. package/nodes/core/TempNode.d.ts +0 -23
  59. package/nodes/core/VarNode.d.ts +0 -12
  60. package/nodes/materials/MeshStandardNodeMaterial.d.ts +0 -21
  61. package/nodes/materials/NodeMaterial.d.ts +0 -28
  62. package/nodes/math/CondNode.d.ts +0 -26
  63. package/nodes/math/MathNode.d.ts +0 -57
  64. package/nodes/math/OperatorNode.d.ts +0 -17
  65. package/nodes/procedural/CheckerNode.d.ts +0 -17
  66. package/nodes/utils/JoinNode.d.ts +0 -15
  67. package/nodes/utils/TimerNode.d.ts +0 -19
  68. package/objects/ReflectorRTT.d.ts +0 -6
package/index.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- export * from './offscreen/scene';
2
- export * from './offscreen/offscreen';
3
- export * from './offscreen/jank';
4
1
  export * from './misc/MD2CharacterComplex';
5
2
  export * from './misc/ConvexObjectBreaker';
6
3
  export * from './misc/MorphBlendMesh';
@@ -13,73 +10,14 @@ export * from './misc/MD2Character';
13
10
  export * from './misc/VolumeSlice';
14
11
  export * from './misc/TubePainter';
15
12
  export * from './misc/Volume';
16
- export * from './misc/ProgressiveLightmap';
17
13
  export * from './renderers/CSS2DRenderer';
18
- export * from './renderers/nodes/core/constants';
19
- export * from './renderers/nodes/core/NodeBuilder';
20
- export * from './renderers/nodes/core/InputNode';
21
- export * from './renderers/nodes/core/NodeUniform';
22
- export * from './renderers/nodes/core/NodeVary';
23
- export * from './renderers/nodes/core/NodeFrame';
24
- export * from './renderers/nodes/core/Node';
25
- export * from './renderers/nodes/core/NodeSlot';
26
- export * from './renderers/nodes/core/NodeAttribute';
27
- export * from './renderers/nodes/core/VaryNode';
28
- export * from './renderers/nodes/core/AttributeNode';
29
- export * from './renderers/nodes/accessors/CameraNode';
30
- export * from './renderers/nodes/accessors/UVNode';
31
- export * from './renderers/nodes/accessors/ModelNode';
32
- export * from './renderers/nodes/accessors/NormalNode';
33
- export * from './renderers/nodes/accessors/PositionNode';
34
- export * from './renderers/nodes/accessors/ModelViewProjectionNode';
35
- export * from './renderers/nodes/utils/SwitchNode';
36
- export * from './renderers/nodes/utils/TimerNode';
37
- export * from './renderers/nodes/math/OperatorNode';
38
- export * from './renderers/nodes/math/MathNode';
39
- export * from './renderers/nodes/inputs/ColorNode';
40
- export * from './renderers/nodes/inputs/Vector3Node';
41
- export * from './renderers/nodes/inputs/Matrix4Node';
42
- export * from './renderers/nodes/inputs/TextureNode';
43
- export * from './renderers/nodes/inputs/FloatNode';
44
- export * from './renderers/nodes/inputs/Vector2Node';
45
- export * from './renderers/nodes/inputs/Vector4Node';
46
- export * from './renderers/nodes/inputs/Matrix3Node';
47
- export * from './renderers/webgpu/constants';
48
- export * from './renderers/webgpu/WebGPUTextures';
49
- export * from './renderers/webgpu/WebGPUInfo';
50
- export * from './renderers/webgpu/WebGPURenderLists';
51
- export * from './renderers/webgpu/WebGPUTextureRenderer';
52
- export * from './renderers/webgpu/WebGPURenderPipelines';
53
- export * from './renderers/webgpu/WebGPUGeometries';
54
- export * from './renderers/webgpu/nodes/WebGPUNodeBuilder';
55
- export * from './renderers/webgpu/nodes/WebGPUNodeUniform';
56
- export * from './renderers/webgpu/nodes/WebGPUNodeUniformsGroup';
57
- export * from './renderers/webgpu/nodes/ShaderLib';
58
- export * from './renderers/webgpu/nodes/WebGPUNodes';
59
- export * from './renderers/webgpu/WebGPUBindings';
60
- export * from './renderers/webgpu/WebGPUSampledTexture';
61
- export * from './renderers/webgpu/WebGPU';
62
- export * from './renderers/webgpu/WebGPUUniformsGroup';
63
- export * from './renderers/webgpu/WebGPURenderer';
64
- export * from './renderers/webgpu/WebGPUComputePipelines';
65
- export * from './renderers/webgpu/WebGPUUniform';
66
- export * from './renderers/webgpu/WebGPUObjects';
67
- export * from './renderers/webgpu/WebGPUSampler';
68
- export * from './renderers/webgpu/WebGPUBackground';
69
- export * from './renderers/webgpu/WebGPUBinding';
70
- export * from './renderers/webgpu/WebGPUProperties';
71
- export * from './renderers/webgpu/WebGPUAttributes';
72
- export * from './renderers/webgpu/WebGPUStorageBuffer';
73
- export * from './renderers/webgpu/WebGPUTextureUtils';
74
14
  export * from './renderers/CSS3DRenderer';
75
15
  export * from './renderers/Projector';
76
16
  export * from './renderers/SVGRenderer';
77
- export * from './textures/FlakesTexture';
78
17
  export * from './modifiers/CurveModifier';
79
18
  export * from './modifiers/SimplifyModifier';
80
19
  export * from './modifiers/EdgeSplitModifier';
81
20
  export * from './modifiers/TessellateModifier';
82
- export * from './nodes/Nodes';
83
21
  export * from './exporters/GLTFExporter';
84
22
  export * from './exporters/USDZExporter';
85
23
  export * from './exporters/PLYExporter';
@@ -100,7 +38,6 @@ export * from './objects/Lensflare';
100
38
  export * from './objects/Water';
101
39
  export * from './objects/MarchingCubes';
102
40
  export * from './objects/LightningStorm';
103
- export * from './objects/ReflectorRTT';
104
41
  export * from './objects/ReflectorForSSRPass';
105
42
  export * from './objects/Sky';
106
43
  export * from './objects/Water2';
@@ -108,7 +45,6 @@ export * from './objects/GroundProjectedEnv';
108
45
  export * from './utils/SceneUtils';
109
46
  export * from './utils/UVsDebug';
110
47
  export * from './utils/GeometryUtils';
111
- export * from './utils/RoughnessMipmapper';
112
48
  export * from './utils/SkeletonUtils';
113
49
  export * from './utils/ShadowMapViewer';
114
50
  export * from './utils/BufferGeometryUtils';
@@ -158,7 +94,6 @@ export * from './postprocessing/TAARenderPass';
158
94
  export * from './postprocessing/ShaderPass';
159
95
  export * from './postprocessing/SSAARenderPass';
160
96
  export * from './postprocessing/RenderPass';
161
- export * from './postprocessing/RenderPixelatedPass';
162
97
  export * from './postprocessing/BloomPass';
163
98
  export * from './webxr/ARButton';
164
99
  export * from './webxr/OculusHandModel';
@@ -171,6 +106,7 @@ export * from './webxr/XRHandMeshModel';
171
106
  export * from './webxr/XRHandModelFactory';
172
107
  export * from './webxr/XRHandPrimitiveModel';
173
108
  export * from './geometries/ParametricGeometries';
109
+ export * from './geometries/ParametricGeometry';
174
110
  export * from './geometries/ConvexGeometry';
175
111
  export * from './geometries/LightningStrike';
176
112
  export * from './geometries/RoundedBoxGeometry';
@@ -179,10 +115,9 @@ export * from './geometries/DecalGeometry';
179
115
  export * from './geometries/TeapotGeometry';
180
116
  export * from './geometries/TextGeometry';
181
117
  export * from './csm/CSM';
182
- export * from './csm/Shader';
118
+ export * from './csm/CSMFrustum';
183
119
  export * from './csm/CSMHelper';
184
- export * from './csm/Frustum';
185
- export * from './shaders';
120
+ export * from './csm/CSMShader';
186
121
  export * from './interactive/SelectionHelper';
187
122
  export * from './interactive/SelectionBox';
188
123
  export * from './physics/AmmoPhysics';
@@ -199,16 +134,13 @@ export * from './loaders/LUTCubeLoader';
199
134
  export * from './loaders/NRRDLoader';
200
135
  export * from './loaders/STLLoader';
201
136
  export * from './loaders/MTLLoader';
202
- export * from './loaders/XLoader';
203
137
  export * from './loaders/BVHLoader';
204
138
  export * from './loaders/KMZLoader';
205
- export * from './loaders/VRMLoader';
206
139
  export * from './loaders/VRMLLoader';
207
140
  export * from './loaders/KTX2Loader';
208
141
  export * from './loaders/LottieLoader';
209
142
  export * from './loaders/TTFLoader';
210
143
  export * from './loaders/RGBELoader';
211
- export * from './loaders/AssimpLoader';
212
144
  export * from './loaders/ColladaLoader';
213
145
  export * from './loaders/MDDLoader';
214
146
  export * from './loaders/EXRLoader';
@@ -223,9 +155,6 @@ export * from './loaders/BasisTextureLoader';
223
155
  export * from './loaders/TDSLoader';
224
156
  export * from './loaders/LDrawLoader';
225
157
  export * from './loaders/GLTFLoader';
226
- export * from './loaders/lwo/LWO3Parser';
227
- export * from './loaders/lwo/LWO2Parser';
228
- export * from './loaders/lwo/IFFParser';
229
158
  export * from './loaders/SVGLoader';
230
159
  export * from './loaders/3DMLoader';
231
160
  export * from './loaders/OBJLoader';
@@ -240,7 +169,6 @@ export * from './loaders/PDBLoader';
240
169
  export * from './loaders/PRWMLoader';
241
170
  export * from './loaders/RGBMLoader';
242
171
  export * from './loaders/VOXLoader';
243
- export * from './loaders/NodeMaterialLoader';
244
172
  export * from './loaders/PCDLoader';
245
173
  export * from './loaders/LWOLoader';
246
174
  export * from './loaders/PLYLoader';
@@ -263,5 +191,3 @@ export * from './curves/NURBSCurve';
263
191
  export * from './curves/NURBSSurface';
264
192
  export * from './curves/CurveExtras';
265
193
  export * from './deprecated/Geometry';
266
- export * from './libs/MeshoptDecoder';
267
- export * from './libs/MotionControllers';
package/index.js CHANGED
@@ -117,6 +117,7 @@ export { XRHandMeshModel } from './webxr/XRHandMeshModel.js';
117
117
  export { XRHandModelFactory } from './webxr/XRHandModelFactory.js';
118
118
  export { XRHandPrimitiveModel } from './webxr/XRHandPrimitiveModel.js';
119
119
  export { ParametricGeometries } from './geometries/ParametricGeometries.js';
120
+ export { ParametricGeometry } from './geometries/ParametricGeometry.js';
120
121
  export { ConvexGeometry } from './geometries/ConvexGeometry.js';
121
122
  export { LightningStrike } from './geometries/LightningStrike.js';
122
123
  export { RoundedBoxGeometry } from './geometries/RoundedBoxGeometry.js';
@@ -125,7 +126,9 @@ export { DecalGeometry, DecalVertex } from './geometries/DecalGeometry.js';
125
126
  export { TeapotGeometry } from './geometries/TeapotGeometry.js';
126
127
  export { TextGeometry as TextBufferGeometry, TextGeometry } from './geometries/TextGeometry.js';
127
128
  export { CSM } from './csm/CSM.js';
129
+ export { CSMFrustum } from './csm/CSMFrustum.js';
128
130
  export { CSMHelper } from './csm/CSMHelper.js';
131
+ export { CSMShader } from './csm/CSMShader.js';
129
132
  export { SelectionHelper } from './interactive/SelectionHelper.js';
130
133
  export { SelectionBox } from './interactive/SelectionBox.js';
131
134
  export { AmmoPhysics } from './physics/AmmoPhysics.js';
@@ -276,13 +279,13 @@ export { default as NodeObjectLoader } from './nodes/loaders/NodeObjectLoader.js
276
279
  export { default as NodeMaterialLoader } from './nodes/loaders/NodeMaterialLoader.js';
277
280
  export { BRDF_GGX, BRDF_Lambert, D_GGX, F_Schlick, PhysicalLightingModel, RE_Direct_Physical, V_GGX_SmithCorrelated, getDistanceAttenuation } from './nodes/functions/BSDFs.js';
278
281
  export { EPSILON, INFINITY, ShaderNode, abs, acos, add, addTo, alphaTest, and, asin, assign, atan, attribute, bitAnd, bitOr, bitXor, bmat3, bmat4, bool, buffer, bvec2, bvec3, bvec4, cameraPosition, ceil, clamp, color, cond, cos, cross, dFdx, dFdy, degrees, diffuseColor, distance, div, dot, element, equal, exp, exp2, faceforward, float, floor, fract, greaterThan, greaterThanEqual, imat3, imat4, int, inversesqrt, invert, ivec2, ivec3, ivec4, join, label, length, lessThan, lessThanEqual, log, log2, mat3, mat4, max, metalness, min, mix, mod, mul, negate, nodeObject, normalGeometry, normalLocal, normalView, normalWorld, normalize, or, positionLocal, positionView, positionViewDirection, positionWorld, pow, pow2, pow3, pow4, radians, reflect, refract, remainder, roughness, round, sampler, saturate, shiftLeft, shiftRight, sign, sin, smoothstep, specularColor, sqrt, step, sub, tan, temp, texture, transformDirection, transformedNormalView, uint, umat3, umat4, uniform, uv, uvec2, uvec3, uvec4, vec2, vec3, vec4, viewMatrix, xor } from './nodes/ShaderNode.js';
282
+ export { BokehShader2 } from './shaders/BokehShader2.js';
279
283
  export { ACESFilmicToneMappingShader } from './shaders/ACESFilmicToneMappingShader.js';
280
284
  export { AfterimageShader } from './shaders/AfterimageShader.js';
281
285
  export { BasicShader } from './shaders/BasicShader.js';
282
286
  export { BleachBypassShader } from './shaders/BleachBypassShader.js';
283
287
  export { BlendShader } from './shaders/BlendShader.js';
284
288
  export { BokehShader } from './shaders/BokehShader.js';
285
- export { BokehDepthShader, BokehShader2 } from './shaders/BokehShader2.js';
286
289
  export { BrightnessContrastShader } from './shaders/BrightnessContrastShader.js';
287
290
  export { ColorCorrectionShader } from './shaders/ColorCorrectionShader.js';
288
291
  export { ColorifyShader } from './shaders/ColorifyShader.js';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");const t=new e.Vector2,n={type:"",data:t};class s extends e.Group{constructor(s,r){super();const o=this,i=new e.Raycaster,d=new e.Matrix4,c=s.domElement;function a(e){e.stopPropagation(),t.x=e.clientX/c.clientWidth*2-1,t.y=-e.clientY/c.clientHeight*2+1,i.setFromCamera(t,r);const s=i.intersectObjects(o.children,!1);if(s.length>0){const t=s[0],r=t.object,o=t.uv;n.type=e.type,n.data.set(o.x,1-o.y),r.dispatchEvent(n)}}c.addEventListener("pointerdown",a),c.addEventListener("pointerup",a),c.addEventListener("pointermove",a),c.addEventListener("mousedown",a),c.addEventListener("mouseup",a),c.addEventListener("mousemove",a),c.addEventListener("click",a);const l={move:"mousemove",select:"click",selectstart:"mousedown",selectend:"mouseup"};function v(e){const t=e.target;d.identity().extractRotation(t.matrixWorld),i.ray.origin.setFromMatrixPosition(t.matrixWorld),i.ray.direction.set(0,0,-1).applyMatrix4(d);const s=i.intersectObjects(o.children,!1);if(s.length>0){const t=s[0],r=t.object,o=t.uv;n.type=l[e.type],n.data.set(o.x,1-o.y),r.dispatchEvent(n)}}const p=s.xr.getController(0);p.addEventListener("move",v),p.addEventListener("select",v),p.addEventListener("selectstart",v),p.addEventListener("selectend",v);const u=s.xr.getController(1);u.addEventListener("move",v),u.addEventListener("select",v),u.addEventListener("selectstart",v),u.addEventListener("selectend",v)}}exports.InteractiveGroup=s;
@@ -0,0 +1,5 @@
1
+ import { WebGLRenderer, Camera, Group } from 'three';
2
+
3
+ export class InteractiveGroup extends Group {
4
+ constructor(renderer: WebGLRenderer, camera: Camera);
5
+ }
@@ -0,0 +1,87 @@
1
+ import { Vector2, Group, Raycaster, Matrix4 } from 'three';
2
+
3
+ const _pointer = new Vector2();
4
+
5
+ const _event = {
6
+ type: '',
7
+ data: _pointer
8
+ };
9
+
10
+ class InteractiveGroup extends Group {
11
+ constructor(renderer, camera) {
12
+ super();
13
+ const scope = this;
14
+ const raycaster = new Raycaster();
15
+ const tempMatrix = new Matrix4(); // Pointer Events
16
+
17
+ const element = renderer.domElement;
18
+
19
+ function onPointerEvent(event) {
20
+ event.stopPropagation();
21
+ _pointer.x = event.clientX / element.clientWidth * 2 - 1;
22
+ _pointer.y = -(event.clientY / element.clientHeight) * 2 + 1;
23
+ raycaster.setFromCamera(_pointer, camera);
24
+ const intersects = raycaster.intersectObjects(scope.children, false);
25
+
26
+ if (intersects.length > 0) {
27
+ const intersection = intersects[0];
28
+ const object = intersection.object;
29
+ const uv = intersection.uv;
30
+ _event.type = event.type;
31
+
32
+ _event.data.set(uv.x, 1 - uv.y);
33
+
34
+ object.dispatchEvent(_event);
35
+ }
36
+ }
37
+
38
+ element.addEventListener('pointerdown', onPointerEvent);
39
+ element.addEventListener('pointerup', onPointerEvent);
40
+ element.addEventListener('pointermove', onPointerEvent);
41
+ element.addEventListener('mousedown', onPointerEvent);
42
+ element.addEventListener('mouseup', onPointerEvent);
43
+ element.addEventListener('mousemove', onPointerEvent);
44
+ element.addEventListener('click', onPointerEvent); // WebXR Controller Events
45
+ // TODO: Dispatch pointerevents too
46
+
47
+ const events = {
48
+ move: 'mousemove',
49
+ select: 'click',
50
+ selectstart: 'mousedown',
51
+ selectend: 'mouseup'
52
+ };
53
+
54
+ function onXRControllerEvent(event) {
55
+ const controller = event.target;
56
+ tempMatrix.identity().extractRotation(controller.matrixWorld);
57
+ raycaster.ray.origin.setFromMatrixPosition(controller.matrixWorld);
58
+ raycaster.ray.direction.set(0, 0, -1).applyMatrix4(tempMatrix);
59
+ const intersections = raycaster.intersectObjects(scope.children, false);
60
+
61
+ if (intersections.length > 0) {
62
+ const intersection = intersections[0];
63
+ const object = intersection.object;
64
+ const uv = intersection.uv;
65
+ _event.type = events[event.type];
66
+
67
+ _event.data.set(uv.x, 1 - uv.y);
68
+
69
+ object.dispatchEvent(_event);
70
+ }
71
+ }
72
+
73
+ const controller1 = renderer.xr.getController(0);
74
+ controller1.addEventListener('move', onXRControllerEvent);
75
+ controller1.addEventListener('select', onXRControllerEvent);
76
+ controller1.addEventListener('selectstart', onXRControllerEvent);
77
+ controller1.addEventListener('selectend', onXRControllerEvent);
78
+ const controller2 = renderer.xr.getController(1);
79
+ controller2.addEventListener('move', onXRControllerEvent);
80
+ controller2.addEventListener('select', onXRControllerEvent);
81
+ controller2.addEventListener('selectstart', onXRControllerEvent);
82
+ controller2.addEventListener('selectend', onXRControllerEvent);
83
+ }
84
+
85
+ }
86
+
87
+ export { InteractiveGroup };
@@ -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,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.3",
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';