@types/three 0.169.0 → 0.171.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. three/README.md +1 -1
  2. three/build/three.core.d.ts +1 -0
  3. three/build/three.core.min.d.ts +1 -0
  4. three/build/three.tsl.d.ts +1 -0
  5. three/build/three.tsl.min.d.ts +1 -0
  6. three/examples/jsm/Addons.d.ts +3 -3
  7. three/examples/jsm/animation/MMDAnimationHelper.d.ts +4 -0
  8. three/examples/jsm/animation/MMDPhysics.d.ts +4 -0
  9. three/examples/jsm/controls/ArcballControls.d.ts +6 -1
  10. three/examples/jsm/controls/TransformControls.d.ts +45 -1
  11. three/examples/jsm/csm/CSMFrustum.d.ts +8 -2
  12. three/examples/jsm/csm/CSMHelper.d.ts +2 -1
  13. three/examples/jsm/csm/CSMShadowNode.d.ts +45 -0
  14. three/examples/jsm/curves/NURBSCurve.d.ts +12 -1
  15. three/examples/jsm/exporters/GLTFExporter.d.ts +43 -10
  16. three/examples/jsm/exporters/MMDExporter.d.ts +4 -0
  17. three/examples/jsm/exporters/USDZExporter.d.ts +4 -0
  18. three/examples/jsm/geometries/DecalGeometry.d.ts +10 -4
  19. three/examples/jsm/geometries/TeapotGeometry.d.ts +2 -2
  20. three/examples/jsm/helpers/TextureHelperGPU.d.ts +10 -0
  21. three/examples/jsm/lighting/TiledLighting.d.ts +10 -0
  22. three/examples/jsm/lines/Wireframe.d.ts +5 -2
  23. three/examples/jsm/lines/WireframeGeometry2.d.ts +1 -1
  24. three/examples/jsm/lines/webgpu/Wireframe.d.ts +13 -0
  25. three/examples/jsm/loaders/EXRLoader.d.ts +2 -2
  26. three/examples/jsm/loaders/GLTFLoader.d.ts +1 -2
  27. three/examples/jsm/loaders/KTX2Loader.d.ts +1 -0
  28. three/examples/jsm/loaders/LDrawLoader.d.ts +10 -0
  29. three/examples/jsm/loaders/MMDLoader.d.ts +4 -0
  30. three/examples/jsm/materials/LDrawConditionalLineMaterial.d.ts +9 -0
  31. three/examples/jsm/materials/LDrawConditionalLineNodeMaterial.d.ts +9 -0
  32. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -1
  33. three/examples/jsm/math/ColorSpaces.d.ts +11 -0
  34. three/examples/jsm/misc/ProgressiveLightMap.d.ts +8 -10
  35. three/examples/jsm/misc/ProgressiveLightMapGPU.d.ts +27 -0
  36. three/examples/jsm/objects/SkyMesh.d.ts +2 -2
  37. three/examples/jsm/objects/Water2Mesh.d.ts +13 -2
  38. three/examples/jsm/objects/WaterMesh.d.ts +11 -2
  39. three/examples/jsm/renderers/SVGRenderer.d.ts +2 -2
  40. three/{src/nodes → examples/jsm/tsl}/display/AfterImageNode.d.ts +2 -5
  41. three/{src/nodes → examples/jsm/tsl}/display/AnaglyphPassNode.d.ts +2 -3
  42. three/{src/nodes → examples/jsm/tsl}/display/AnamorphicNode.d.ts +2 -4
  43. three/examples/jsm/tsl/display/BleachBypass.d.ts +4 -0
  44. three/{src/nodes → examples/jsm/tsl}/display/BloomNode.d.ts +2 -5
  45. three/{src/nodes → examples/jsm/tsl}/display/DenoiseNode.d.ts +3 -8
  46. three/{src/nodes → examples/jsm/tsl}/display/DepthOfFieldNode.d.ts +2 -5
  47. three/{src/nodes → examples/jsm/tsl}/display/DotScreenNode.d.ts +2 -5
  48. three/{src/nodes → examples/jsm/tsl}/display/FXAANode.d.ts +2 -3
  49. three/{src/nodes → examples/jsm/tsl}/display/FilmNode.d.ts +2 -3
  50. three/{src/nodes → examples/jsm/tsl}/display/GTAONode.d.ts +5 -14
  51. three/{src/nodes → examples/jsm/tsl}/display/GaussianBlurNode.d.ts +13 -5
  52. three/examples/jsm/tsl/display/LensflareNode.d.ts +35 -0
  53. three/{src/nodes → examples/jsm/tsl}/display/Lut3DNode.d.ts +2 -6
  54. three/{src/nodes → examples/jsm/tsl}/display/MotionBlur.d.ts +2 -2
  55. three/examples/jsm/tsl/display/OutlineNode.d.ts +32 -0
  56. three/{src/nodes → examples/jsm/tsl}/display/ParallaxBarrierPassNode.d.ts +2 -3
  57. three/{src/nodes → examples/jsm/tsl}/display/PixelationPassNode.d.ts +2 -5
  58. three/{src/nodes → examples/jsm/tsl}/display/RGBShiftNode.d.ts +2 -4
  59. three/examples/jsm/tsl/display/SMAANode.d.ts +18 -0
  60. three/{src/nodes → examples/jsm/tsl}/display/SSAAPassNode.d.ts +2 -7
  61. three/examples/jsm/tsl/display/SSRNode.d.ts +38 -0
  62. three/examples/jsm/tsl/display/Sepia.d.ts +4 -0
  63. three/{src/nodes → examples/jsm/tsl}/display/SobelOperatorNode.d.ts +2 -3
  64. three/{src/nodes → examples/jsm/tsl}/display/StereoCompositePassNode.d.ts +1 -5
  65. three/{src/nodes → examples/jsm/tsl}/display/StereoPassNode.d.ts +2 -5
  66. three/examples/jsm/tsl/display/TRAAPassNode.d.ts +15 -0
  67. three/{src/nodes → examples/jsm/tsl}/display/TransitionNode.d.ts +2 -5
  68. three/examples/jsm/tsl/display/hashBlur.d.ts +8 -0
  69. three/examples/jsm/tsl/lighting/TiledLightsNode.d.ts +23 -0
  70. three/package.json +5 -4
  71. three/src/Three.Core.d.ts +158 -0
  72. three/src/Three.TSL.d.ts +528 -0
  73. three/src/Three.WebGPU.Nodes.d.ts +15 -192
  74. three/src/Three.WebGPU.d.ts +14 -192
  75. three/src/Three.d.ts +3 -164
  76. three/src/animation/AnimationClip.d.ts +3 -1
  77. three/src/constants.d.ts +1 -9
  78. three/src/core/BufferGeometry.d.ts +13 -2
  79. three/src/core/Clock.d.ts +4 -6
  80. three/src/core/InterleavedBuffer.d.ts +12 -0
  81. three/src/core/RenderTarget.d.ts +1 -2
  82. three/src/loaders/FileLoader.d.ts +3 -3
  83. three/src/materials/LineBasicMaterial.d.ts +0 -5
  84. three/src/materials/LineDashedMaterial.d.ts +0 -5
  85. three/src/materials/Material.d.ts +6 -6
  86. three/src/materials/MeshBasicMaterial.d.ts +0 -5
  87. three/src/materials/MeshDepthMaterial.d.ts +0 -5
  88. three/src/materials/MeshDistanceMaterial.d.ts +0 -5
  89. three/src/materials/MeshLambertMaterial.d.ts +0 -5
  90. three/src/materials/MeshMatcapMaterial.d.ts +0 -5
  91. three/src/materials/MeshNormalMaterial.d.ts +0 -5
  92. three/src/materials/MeshPhongMaterial.d.ts +0 -5
  93. three/src/materials/MeshPhysicalMaterial.d.ts +0 -5
  94. three/src/materials/MeshStandardMaterial.d.ts +0 -5
  95. three/src/materials/MeshToonMaterial.d.ts +0 -5
  96. three/src/materials/PointsMaterial.d.ts +0 -5
  97. three/src/materials/RawShaderMaterial.d.ts +0 -2
  98. three/src/materials/ShaderMaterial.d.ts +0 -5
  99. three/src/materials/ShadowMaterial.d.ts +0 -5
  100. three/src/materials/SpriteMaterial.d.ts +0 -5
  101. three/src/materials/nodes/LineDashedNodeMaterial.d.ts +3 -0
  102. three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +2 -2
  103. three/src/materials/nodes/NodeMaterial.d.ts +6 -1
  104. three/src/materials/nodes/NodeMaterials.d.ts +19 -16
  105. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +15 -0
  106. three/src/math/Color.d.ts +39 -22
  107. three/src/math/ColorManagement.d.ts +24 -24
  108. three/src/math/Vector4.d.ts +2 -0
  109. three/src/nodes/Nodes.d.ts +2 -22
  110. three/src/nodes/TSL.d.ts +14 -26
  111. three/src/nodes/accessors/Arrays.d.ts +6 -0
  112. three/src/nodes/accessors/BuiltinNode.d.ts +14 -0
  113. three/src/nodes/accessors/Camera.d.ts +0 -1
  114. three/src/nodes/accessors/ClippingNode.d.ts +6 -0
  115. three/src/nodes/accessors/InstanceNode.d.ts +15 -3
  116. three/src/nodes/accessors/InstancedMeshNode.d.ts +11 -0
  117. three/src/nodes/accessors/Lights.d.ts +15 -0
  118. three/src/nodes/accessors/SceneNode.d.ts +2 -0
  119. three/src/nodes/accessors/StorageBufferNode.d.ts +20 -11
  120. three/src/nodes/accessors/StorageTextureNode.d.ts +5 -3
  121. three/src/nodes/accessors/UniformArrayNode.d.ts +2 -2
  122. three/src/nodes/accessors/VelocityNode.d.ts +4 -0
  123. three/src/nodes/code/ScriptableNode.d.ts +1 -1
  124. three/src/nodes/core/IndexNode.d.ts +2 -0
  125. three/src/nodes/core/NodeUtils.d.ts +7 -0
  126. three/src/nodes/core/StackNode.d.ts +10 -5
  127. three/src/nodes/core/VarNode.d.ts +12 -1
  128. three/src/nodes/core/constants.d.ts +6 -0
  129. three/src/nodes/display/BlendModes.d.ts +32 -0
  130. three/src/nodes/display/ColorAdjustment.d.ts +29 -0
  131. three/src/nodes/display/ColorSpaceFunctions.d.ts +2 -2
  132. three/src/nodes/display/ColorSpaceNode.d.ts +14 -8
  133. three/src/nodes/display/RenderOutputNode.d.ts +4 -4
  134. three/src/nodes/display/ScreenNode.d.ts +5 -0
  135. three/src/nodes/display/ViewportDepthNode.d.ts +4 -0
  136. three/src/nodes/functions/material/getAlphaHashThreshold.d.ts +6 -0
  137. three/src/nodes/functions/material/getParallaxCorrectNormal.d.ts +10 -0
  138. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +88 -0
  139. three/src/nodes/gpgpu/BarrierNode.d.ts +12 -0
  140. three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +13 -0
  141. three/src/nodes/gpgpu/ComputeNode.d.ts +5 -0
  142. three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +17 -0
  143. three/src/nodes/lighting/AnalyticLightNode.d.ts +11 -0
  144. three/src/nodes/lighting/LightsNode.d.ts +7 -2
  145. three/src/nodes/lighting/PointLightNode.d.ts +14 -1
  146. three/src/nodes/lighting/PointShadowNode.d.ts +30 -0
  147. three/src/nodes/lighting/ShadowNode.d.ts +35 -0
  148. three/src/nodes/math/OperatorNode.d.ts +3 -0
  149. three/src/nodes/tsl/TSLBase.d.ts +5 -0
  150. three/src/nodes/tsl/TSLCore.d.ts +3 -0
  151. three/src/nodes/utils/Discard.d.ts +1 -1
  152. three/src/nodes/utils/Oscillators.d.ts +7 -0
  153. three/src/nodes/utils/PostProcessingUtils.d.ts +45 -0
  154. three/src/nodes/utils/ReflectorNode.d.ts +17 -4
  155. three/src/nodes/utils/SplitNode.d.ts +1 -1
  156. three/src/nodes/utils/Timer.d.ts +21 -0
  157. three/src/objects/BatchedMesh.d.ts +51 -6
  158. three/src/objects/ClippingGroup.d.ts +41 -0
  159. three/src/renderers/WebGLRenderer.d.ts +24 -11
  160. three/src/renderers/common/Animation.d.ts +11 -4
  161. three/src/renderers/common/ClippingContext.d.ts +16 -14
  162. three/src/renderers/common/Constants.d.ts +2 -1
  163. three/src/renderers/common/Geometries.d.ts +1 -0
  164. three/src/renderers/common/IndirectStorageBufferAttribute.d.ts +10 -0
  165. three/src/renderers/common/Lighting.d.ts +15 -0
  166. three/src/renderers/common/PostProcessingUtils.d.ts +66 -0
  167. three/src/renderers/common/RenderList.d.ts +10 -2
  168. three/src/renderers/common/RenderLists.d.ts +3 -1
  169. three/src/renderers/common/RenderObject.d.ts +9 -4
  170. three/src/renderers/common/RenderObjects.d.ts +3 -0
  171. three/src/renderers/common/Renderer.d.ts +49 -10
  172. three/src/renderers/common/UniformsGroup.d.ts +1 -0
  173. three/src/renderers/common/extras/PMREMGenerator.d.ts +20 -2
  174. three/src/renderers/common/nodes/NodeLibrary.d.ts +2 -11
  175. three/src/renderers/common/nodes/NodeUniform.d.ts +7 -0
  176. three/src/renderers/webgl/WebGLPrograms.d.ts +3 -10
  177. three/src/renderers/webgl/WebGLState.d.ts +14 -11
  178. three/src/renderers/webgl/WebGLUtils.d.ts +2 -2
  179. three/src/textures/CompressedTexture.d.ts +1 -2
  180. three/src/textures/CubeTexture.d.ts +1 -2
  181. three/src/textures/Data3DTexture.d.ts +4 -2
  182. three/src/textures/DataArrayTexture.d.ts +1 -1
  183. three/src/textures/DataTexture.d.ts +7 -3
  184. three/src/textures/Texture.d.ts +3 -4
  185. three/examples/jsm/cameras/CinematicCamera.d.ts +0 -34
  186. three/src/nodes/display/BleachBypass.d.ts +0 -4
  187. three/src/nodes/display/BlendMode.d.ts +0 -10
  188. three/src/nodes/display/Sepia.d.ts +0 -4
  189. three/src/nodes/lighting/LightNode.d.ts +0 -18
  190. three/src/nodes/utils/OscNode.d.ts +0 -25
  191. three/src/nodes/utils/TimerNode.d.ts +0 -25
  192. three/src/textures/types.d.ts +0 -9
  193. /three/examples/jsm/utils/{TextureUtils.d.ts → WebGLTextureUtils.d.ts} +0 -0
  194. /three/examples/jsm/utils/{TextureUtilsGPU.d.ts → WebGPUTextureUtils.d.ts} +0 -0
@@ -44,8 +44,8 @@ export default class RenderObject {
44
44
  firstInstance: number;
45
45
  } | null;
46
46
  bundle: BundleGroup | null;
47
- clippingContext: ClippingContext;
48
- clippingContextVersion: number;
47
+ clippingContext: ClippingContext | null;
48
+ clippingContextCacheKey: string;
49
49
  initialNodesCacheKey: string;
50
50
  initialCacheKey: string;
51
51
  _nodeBuilderState: NodeBuilderState | null;
@@ -64,21 +64,25 @@ export default class RenderObject {
64
64
  camera: Camera,
65
65
  lightsNode: LightsNode,
66
66
  renderContext: RenderContext,
67
+ clippingContext: ClippingContext | null,
67
68
  );
68
69
  updateClipping(parent: ClippingContext): void;
69
70
  get clippingNeedsUpdate(): boolean;
71
+ get hardwareClippingPlanes(): number;
70
72
  getNodeBuilderState(): NodeBuilderState;
71
73
  getMonitor(): NodeMaterialObserver;
72
74
  getBindings(): BindGroup[];
73
75
  getIndex(): BufferAttribute | null;
76
+ getIndirect(): import("./IndirectStorageBufferAttribute.js").default | null;
74
77
  getChainArray(): readonly [
75
78
  Object3D<import("../../core/Object3D.js").Object3DEventMap>,
76
79
  Material,
77
80
  RenderContext,
78
81
  LightsNode,
79
82
  ];
80
- getAttributes(): (InterleavedBufferAttribute | BufferAttribute)[];
81
- getVertexBuffers(): (InterleavedBuffer | BufferAttribute)[] | null;
83
+ setGeometry(geometry: BufferGeometry): void;
84
+ getAttributes(): (BufferAttribute | InterleavedBufferAttribute)[];
85
+ getVertexBuffers(): (BufferAttribute | InterleavedBuffer)[] | null;
82
86
  getDrawParameters(): {
83
87
  vertexCount: number;
84
88
  firstVertex: number;
@@ -87,6 +91,7 @@ export default class RenderObject {
87
91
  } | null;
88
92
  getGeometryCacheKey(): string;
89
93
  getMaterialCacheKey(): number;
94
+ get needsGeometryUpdate(): boolean;
90
95
  get needsUpdate(): boolean;
91
96
  getDynamicCacheKey(): string;
92
97
  getCacheKey(): string;
@@ -5,6 +5,7 @@ import LightsNode from "../../nodes/lighting/LightsNode.js";
5
5
  import { Scene } from "../../scenes/Scene.js";
6
6
  import Bindings from "./Bindings.js";
7
7
  import ChainMap from "./ChainMap.js";
8
+ import ClippingContext from "./ClippingContext.js";
8
9
  import Geometries from "./Geometries.js";
9
10
  import Info from "./Info.js";
10
11
  import Nodes from "./nodes/Nodes.js";
@@ -37,6 +38,7 @@ declare class RenderObjects {
37
38
  camera: Camera,
38
39
  lightsNode: LightsNode,
39
40
  renderContext: RenderContext,
41
+ clippingContext: ClippingContext | null,
40
42
  passId?: string | undefined,
41
43
  ): RenderObject;
42
44
  getChainMap(
@@ -56,6 +58,7 @@ declare class RenderObjects {
56
58
  camera: Camera,
57
59
  lightsNode: LightsNode,
58
60
  renderContext: RenderContext,
61
+ clippingContext: ClippingContext | null,
59
62
  passId: string | undefined,
60
63
  ): RenderObject;
61
64
  }
@@ -1,5 +1,5 @@
1
1
  import { Camera } from "../../cameras/Camera.js";
2
- import { ColorSpace, ShadowMapType, ToneMapping } from "../../constants.js";
2
+ import { ShadowMapType, ToneMapping } from "../../constants.js";
3
3
  import { BufferAttribute } from "../../core/BufferAttribute.js";
4
4
  import { BufferGeometry, GeometryGroup } from "../../core/BufferGeometry.js";
5
5
  import { Object3D } from "../../core/Object3D.js";
@@ -21,9 +21,11 @@ import Attributes from "./Attributes.js";
21
21
  import Backend from "./Backend.js";
22
22
  import Background from "./Background.js";
23
23
  import Bindings from "./Bindings.js";
24
+ import ClippingContext from "./ClippingContext.js";
24
25
  import Color4 from "./Color4.js";
25
26
  import Geometries from "./Geometries.js";
26
27
  import Info from "./Info.js";
28
+ import Lighting from "./Lighting.js";
27
29
  import NodeLibrary from "./nodes/NodeLibrary.js";
28
30
  import Nodes from "./nodes/Nodes.js";
29
31
  import Pipelines from "./Pipelines.js";
@@ -42,9 +44,17 @@ interface Rectangle {
42
44
  z: number;
43
45
  w: number;
44
46
  }
47
+ interface DeviceLostInfo {
48
+ api: "WebGL" | "WebGPU";
49
+ message: string;
50
+ reason: string | null;
51
+ originalEvent: unknown;
52
+ }
45
53
  export interface RendererParameters {
46
54
  logarithmicDepthBuffer?: boolean | undefined;
47
55
  alpha?: boolean | undefined;
56
+ depth?: boolean | undefined;
57
+ stencil?: boolean | undefined;
48
58
  antialias?: boolean | undefined;
49
59
  samples?: number | undefined;
50
60
  getFallback?: ((error: unknown) => Backend) | null | undefined;
@@ -60,7 +70,7 @@ declare class Renderer {
60
70
  autoClearStencil: boolean;
61
71
  alpha: boolean;
62
72
  logarithmicDepthBuffer: boolean;
63
- outputColorSpace: ColorSpace;
73
+ outputColorSpace: string;
64
74
  toneMapping: ToneMapping;
65
75
  toneMappingExposure: number;
66
76
  sortObjects: boolean;
@@ -68,9 +78,8 @@ declare class Renderer {
68
78
  stencil: boolean;
69
79
  clippingPlanes: readonly Plane[];
70
80
  info: Info;
71
- nodes: {
72
- library: NodeLibrary;
73
- };
81
+ library: NodeLibrary;
82
+ lighting: Lighting;
74
83
  _getFallback: ((error: unknown) => Backend) | null;
75
84
  _pixelRatio: number;
76
85
  _width: number;
@@ -134,6 +143,8 @@ declare class Renderer {
134
143
  group: GeometryGroup,
135
144
  passId?: string,
136
145
  ) => void;
146
+ _isDeviceLost: boolean;
147
+ onDeviceLost: (info: DeviceLostInfo) => void;
137
148
  _initialized: boolean;
138
149
  _initPromise: Promise<void> | null;
139
150
  _compilationPromises: Promise<void>[] | null;
@@ -167,12 +178,14 @@ declare class Renderer {
167
178
  get coordinateSystem(): import("../../constants.js").CoordinateSystem;
168
179
  compileAsync(scene: Object3D, camera: Camera, targetScene?: Object3D | null): Promise<void>;
169
180
  renderAsync(scene: Scene, camera: Camera): Promise<void>;
181
+ waitForGPU(): Promise<void>;
170
182
  setMRT(mrt: MRTNode | null): this;
171
183
  getMRT(): MRTNode | null;
184
+ _onDeviceLost(info: DeviceLostInfo): void;
172
185
  _renderBundle(bundle: Bundle, sceneRef: Scene, lightsNode: LightsNode): void;
173
186
  render(scene: Scene, camera: Camera): Promise<void> | undefined;
174
187
  _getFrameBufferTarget(): RenderTarget<Texture> | null;
175
- _renderScene(scene: Scene, camera: Camera, useFrameBufferTarget?: boolean): RenderContext;
188
+ _renderScene(scene: Scene, camera: Camera, useFrameBufferTarget?: boolean): RenderContext | undefined;
176
189
  getMaxAnisotropy(): number;
177
190
  getActiveCubeFace(): number;
178
191
  getActiveMipmapLevel(): number;
@@ -213,7 +226,7 @@ declare class Renderer {
213
226
  clearDepthAsync(): Promise<void>;
214
227
  clearStencilAsync(): Promise<void>;
215
228
  get currentToneMapping(): ToneMapping;
216
- get currentColorSpace(): ColorSpace;
229
+ get currentColorSpace(): string;
217
230
  dispose(): void;
218
231
  setRenderTarget(renderTarget: RenderTarget | null, activeCubeFace?: number, activeMipmapLevel?: number): void;
219
232
  getRenderTarget(): RenderTarget<Texture> | null;
@@ -241,9 +254,13 @@ declare class Renderer {
241
254
  lightsNode: LightsNode,
242
255
  ) => void)
243
256
  | null;
257
+ compute(computeNodes: ComputeNode | ComputeNode[]): Promise<void> | undefined;
244
258
  computeAsync(computeNodes: ComputeNode | ComputeNode[]): Promise<void>;
245
259
  hasFeatureAsync(name: string): Promise<void>;
246
260
  hasFeature(name: string): false | void;
261
+ hasInitialized(): boolean;
262
+ initTextureAsync(texture: Texture): Promise<void>;
263
+ initTexture(texture: Texture): false | undefined;
247
264
  copyFramebufferToTexture(framebufferTexture: FramebufferTexture, rectangle?: Rectangle | null): void;
248
265
  copyTextureToTexture(
249
266
  srcTexture: Texture,
@@ -261,9 +278,28 @@ declare class Renderer {
261
278
  index?: number,
262
279
  faceIndex?: number,
263
280
  ): Promise<import("../../core/BufferAttribute.js").TypedArray>;
264
- _projectObject(object: Object3D, camera: Camera, groupOrder: number, renderList: RenderList): void;
281
+ _projectObject(
282
+ object: Object3D,
283
+ camera: Camera,
284
+ groupOrder: number,
285
+ renderList: RenderList,
286
+ clippingContext: ClippingContext | null,
287
+ ): void;
265
288
  _renderBundles(bundles: Bundle[], sceneRef: Scene, lightsNode: LightsNode): void;
266
- _renderObjects(renderList: RenderItem[], camera: Camera, scene: Scene, lightsNode: LightsNode): void;
289
+ _renderTransparents(
290
+ renderList: RenderItem[],
291
+ doublePassList: RenderItem[],
292
+ camera: Camera,
293
+ scene: Scene,
294
+ lightsNode: LightsNode,
295
+ ): void;
296
+ _renderObjects(
297
+ renderList: RenderItem[],
298
+ camera: Camera,
299
+ scene: Scene,
300
+ lightsNode: LightsNode,
301
+ passId?: string | null,
302
+ ): void;
267
303
  renderObject(
268
304
  object: Object3D,
269
305
  scene: Scene,
@@ -272,6 +308,8 @@ declare class Renderer {
272
308
  material: Material,
273
309
  group: GeometryGroup,
274
310
  lightsNode: LightsNode,
311
+ clippingContext?: ClippingContext | null,
312
+ passId?: string | null,
275
313
  ): void;
276
314
  _renderObjectDirect(
277
315
  object: Object3D,
@@ -280,6 +318,7 @@ declare class Renderer {
280
318
  camera: Camera,
281
319
  lightsNode: LightsNode,
282
320
  group: GeometryGroup,
321
+ clippingContext: ClippingContext | null,
283
322
  passId?: string,
284
323
  ): void;
285
324
  _createObjectPipeline(
@@ -288,9 +327,9 @@ declare class Renderer {
288
327
  scene: Scene,
289
328
  camera: Camera,
290
329
  lightsNode: LightsNode,
330
+ clippingContext: ClippingContext | null,
291
331
  passId?: string,
292
332
  ): void;
293
- get compute(): (computeNodes: ComputeNode | ComputeNode[]) => Promise<void>;
294
333
  get compile(): (scene: Object3D, camera: Camera, targetScene?: Object3D | null) => Promise<void>;
295
334
  }
296
335
  export default Renderer;
@@ -28,5 +28,6 @@ declare class UniformsGroup extends UniformBuffer {
28
28
  updateColor(uniform: ColorNodeUniform): boolean;
29
29
  updateMatrix3(uniform: Matrix3NodeUniform): boolean;
30
30
  updateMatrix4(uniform: Matrix4NodeUniform): boolean;
31
+ _getBufferForType(type: string | null): Int32Array | Uint32Array | Float32Array;
31
32
  }
32
33
  export default UniformsGroup;
@@ -2,8 +2,26 @@ import { RenderTarget } from "../../../core/RenderTarget.js";
2
2
  import { Scene } from "../../../scenes/Scene.js";
3
3
  import Renderer from "../Renderer.js";
4
4
 
5
- export default class PMREMGenerator {
5
+ declare class PMREMGenerator {
6
6
  constructor(renderer: Renderer);
7
7
 
8
- fromScene(scene: Scene, sigma?: number, near?: number, far?: number): RenderTarget;
8
+ fromScene(
9
+ scene: Scene,
10
+ sigma?: number,
11
+ near?: number,
12
+ far?: number,
13
+ renderTarget?: RenderTarget | null,
14
+ ): RenderTarget;
15
+
16
+ fromSceneAsync(
17
+ scene: Scene,
18
+ sigma?: number,
19
+ near?: number,
20
+ far?: number,
21
+ renderTarget?: RenderTarget | null,
22
+ ): Promise<RenderTarget>;
23
+
24
+ dispose(): void;
9
25
  }
26
+
27
+ export default PMREMGenerator;
@@ -3,7 +3,6 @@ import { Light } from "../../../lights/Light.js";
3
3
  import { Material } from "../../../materials/Material.js";
4
4
  import NodeMaterial from "../../../materials/nodes/NodeMaterial.js";
5
5
  import Node from "../../../nodes/core/Node.js";
6
- import { ColorSpaceMethod } from "../../../nodes/display/ColorSpaceNode.js";
7
6
  import AnalyticLightNode from "../../../nodes/lighting/AnalyticLightNode.js";
8
7
  import { NodeRepresentation, ShaderNodeObject } from "../../../nodes/tsl/TSLCore.js";
9
8
  declare class NodeLibrary {
@@ -19,14 +18,8 @@ declare class NodeLibrary {
19
18
  ToneMapping,
20
19
  (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>
21
20
  >;
22
- colorSpaceNodes: Map<ColorSpaceMethod, (color: NodeRepresentation) => ShaderNodeObject<Node>>;
23
21
  constructor();
24
- fromMaterial(material: Material): Material | null;
25
- addColorSpace(
26
- colorSpaceNode: (color: NodeRepresentation) => ShaderNodeObject<Node>,
27
- colorSpace: ColorSpaceMethod,
28
- ): void;
29
- getColorSpaceFunction(colorSpace: ColorSpaceMethod): ((color: NodeRepresentation) => ShaderNodeObject<Node>) | null;
22
+ fromMaterial(material: Material): Material | NodeMaterial | null;
30
23
  addToneMapping(
31
24
  toneMappingNode: (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>,
32
25
  toneMapping: ToneMapping,
@@ -37,9 +30,7 @@ declare class NodeLibrary {
37
30
  getMaterialNodeClass(materialType: string): (new() => NodeMaterial) | null;
38
31
  addMaterial(materialNodeClass: {
39
32
  new(): NodeMaterial;
40
- }, materialClass: {
41
- new(): Material;
42
- }): void;
33
+ }, materialClassType: string): void;
43
34
  getLightNodeClass(light: Light): (new(light: Light) => AnalyticLightNode<Light>) | null;
44
35
  addLight<TLight extends Light>(lightNodeClass: {
45
36
  new(light: TLight): AnalyticLightNode<TLight>;
@@ -18,36 +18,43 @@ declare class NumberNodeUniform extends NumberUniform {
18
18
  nodeUniform: NodeUniform<number>;
19
19
  constructor(nodeUniform: NodeUniform<number>);
20
20
  getValue(): number;
21
+ getType(): string | null;
21
22
  }
22
23
  declare class Vector2NodeUniform extends Vector2Uniform {
23
24
  nodeUniform: NodeUniform<Vector2>;
24
25
  constructor(nodeUniform: NodeUniform<Vector2>);
25
26
  getValue(): Vector2;
27
+ getType(): string | null;
26
28
  }
27
29
  declare class Vector3NodeUniform extends Vector3Uniform {
28
30
  nodeUniform: NodeUniform<Vector3>;
29
31
  constructor(nodeUniform: NodeUniform<Vector3>);
30
32
  getValue(): Vector3;
33
+ getType(): string | null;
31
34
  }
32
35
  declare class Vector4NodeUniform extends Vector4Uniform {
33
36
  nodeUniform: NodeUniform<Vector4>;
34
37
  constructor(nodeUniform: NodeUniform<Vector4>);
35
38
  getValue(): Vector4;
39
+ getType(): string | null;
36
40
  }
37
41
  declare class ColorNodeUniform extends ColorUniform {
38
42
  nodeUniform: NodeUniform<Color>;
39
43
  constructor(nodeUniform: NodeUniform<Color>);
40
44
  getValue(): Color;
45
+ getType(): string | null;
41
46
  }
42
47
  declare class Matrix3NodeUniform extends Matrix3Uniform {
43
48
  nodeUniform: NodeUniform<Matrix3>;
44
49
  constructor(nodeUniform: NodeUniform<Matrix3>);
45
50
  getValue(): Matrix3;
51
+ getType(): string | null;
46
52
  }
47
53
  declare class Matrix4NodeUniform extends Matrix4Uniform {
48
54
  nodeUniform: NodeUniform<Matrix4>;
49
55
  constructor(nodeUniform: NodeUniform<Matrix4>);
50
56
  getValue(): Matrix4;
57
+ getType(): string | null;
51
58
  }
52
59
  export {
53
60
  ColorNodeUniform,
@@ -1,12 +1,4 @@
1
- import {
2
- ColorSpace,
3
- Combine,
4
- DepthPackingStrategies,
5
- GLSLVersion,
6
- Mapping,
7
- ShadowMapType,
8
- ToneMapping,
9
- } from "../../constants.js";
1
+ import { Combine, DepthPackingStrategies, GLSLVersion, Mapping, ShadowMapType, ToneMapping } from "../../constants.js";
10
2
  import { Object3D } from "../../core/Object3D.js";
11
3
  import { Light } from "../../lights/Light.js";
12
4
  import { Material } from "../../materials/Material.js";
@@ -45,7 +37,7 @@ export interface WebGLProgramParameters {
45
37
  instancingMorph: boolean;
46
38
 
47
39
  supportsVertexTextures: boolean;
48
- outputColorSpace: ColorSpace;
40
+ outputColorSpace: string;
49
41
  alphaToCoverage: boolean;
50
42
 
51
43
  map: boolean;
@@ -190,6 +182,7 @@ export interface WebGLProgramParameters {
190
182
  toneMapping: ToneMapping;
191
183
 
192
184
  decodeVideoTexture: boolean;
185
+ decodeVideoTextureEmissive: boolean;
193
186
 
194
187
  premultipliedAlpha: boolean;
195
188
 
@@ -9,19 +9,20 @@ import {
9
9
  import { Material } from "../../materials/Material.js";
10
10
  import { Vector4 } from "../../math/Vector4.js";
11
11
  import { WebGLRenderTarget } from "../WebGLRenderTarget.js";
12
+ import { WebGLExtensions } from "./WebGLExtensions.js";
12
13
 
13
- export class WebGLColorBuffer {
14
- constructor();
15
-
14
+ declare class ColorBuffer {
16
15
  setMask(colorMask: boolean): void;
17
16
  setLocked(lock: boolean): void;
18
17
  setClear(r: number, g: number, b: number, a: number, premultipliedAlpha: boolean): void;
19
18
  reset(): void;
20
19
  }
21
20
 
22
- export class WebGLDepthBuffer {
21
+ declare class DepthBuffer {
23
22
  constructor();
24
23
 
24
+ setReversed(value: boolean): void;
25
+ getReversed(): boolean;
25
26
  setTest(depthTest: boolean): void;
26
27
  setMask(depthMask: boolean): void;
27
28
  setFunc(depthFunc: DepthModes): void;
@@ -30,7 +31,7 @@ export class WebGLDepthBuffer {
30
31
  reset(): void;
31
32
  }
32
33
 
33
- export class WebGLStencilBuffer {
34
+ declare class StencilBuffer {
34
35
  constructor();
35
36
 
36
37
  setTest(stencilTest: boolean): void;
@@ -42,13 +43,13 @@ export class WebGLStencilBuffer {
42
43
  reset(): void;
43
44
  }
44
45
 
45
- export class WebGLState {
46
- constructor(gl: WebGLRenderingContext);
46
+ declare class WebGLState {
47
+ constructor(gl: WebGLRenderingContext, extensions: WebGLExtensions);
47
48
 
48
49
  buffers: {
49
- color: WebGLColorBuffer;
50
- depth: WebGLDepthBuffer;
51
- stencil: WebGLStencilBuffer;
50
+ color: ColorBuffer;
51
+ depth: DepthBuffer;
52
+ stencil: StencilBuffer;
52
53
  };
53
54
 
54
55
  enable(id: number): void;
@@ -66,7 +67,7 @@ export class WebGLState {
66
67
  blendDstAlpha?: BlendingDstFactor,
67
68
  premultiplyAlpha?: boolean,
68
69
  ): void;
69
- setMaterial(material: Material, frontFaceCW: boolean): void;
70
+ setMaterial(material: Material, frontFaceCW: boolean, hardwareClippingPlanes: number): void;
70
71
  setFlipSided(flipSided: boolean): void;
71
72
  setCullFace(cullFace: CullFace): void;
72
73
  setLineWidth(width: number): void;
@@ -114,3 +115,5 @@ export class WebGLState {
114
115
  viewport(viewport: Vector4): void;
115
116
  reset(): void;
116
117
  }
118
+
119
+ export { WebGLState };
@@ -1,4 +1,4 @@
1
- import { ColorSpace, CompressedPixelFormat, PixelFormat, TextureDataType } from "../../constants.js";
1
+ import { CompressedPixelFormat, PixelFormat, TextureDataType } from "../../constants.js";
2
2
  import { WebGLExtensions } from "./WebGLExtensions.js";
3
3
 
4
4
  export class WebGLUtils {
@@ -7,5 +7,5 @@ export class WebGLUtils {
7
7
  extensions: WebGLExtensions,
8
8
  );
9
9
 
10
- convert(p: PixelFormat | CompressedPixelFormat | TextureDataType, colorSpace?: ColorSpace): number | null;
10
+ convert(p: PixelFormat | CompressedPixelFormat | TextureDataType, colorSpace?: string): number | null;
11
11
  }
@@ -1,5 +1,4 @@
1
1
  import {
2
- ColorSpace,
3
2
  CompressedPixelFormat,
4
3
  MagnificationTextureFilter,
5
4
  Mapping,
@@ -51,7 +50,7 @@ export class CompressedTexture extends Texture {
51
50
  magFilter?: MagnificationTextureFilter,
52
51
  minFilter?: MinificationTextureFilter,
53
52
  anisotropy?: number,
54
- colorSpace?: ColorSpace,
53
+ colorSpace?: string,
55
54
  );
56
55
 
57
56
  /**
@@ -1,5 +1,4 @@
1
1
  import {
2
- ColorSpace,
3
2
  CubeTextureMapping,
4
3
  MagnificationTextureFilter,
5
4
  MinificationTextureFilter,
@@ -52,7 +51,7 @@ export class CubeTexture extends Texture {
52
51
  format?: PixelFormat,
53
52
  type?: TextureDataType,
54
53
  anisotropy?: number,
55
- colorSpace?: ColorSpace,
54
+ colorSpace?: string,
56
55
  );
57
56
 
58
57
  /**
@@ -1,6 +1,6 @@
1
1
  import { MagnificationTextureFilter, MinificationTextureFilter, Wrapping } from "../constants.js";
2
+ import { TextureImageData } from "./DataTexture.js";
2
3
  import { Texture } from "./Texture.js";
3
- import { Texture3DImageData } from "./types.js";
4
4
 
5
5
  /**
6
6
  * Creates a three-dimensional texture from raw data, with parameters to divide it into width, height, and depth
@@ -93,4 +93,6 @@ export class Data3DTexture extends Texture {
93
93
  unpackAlignment: number;
94
94
  }
95
95
 
96
- export {};
96
+ export interface Texture3DImageData extends TextureImageData {
97
+ depth: number;
98
+ }
@@ -1,6 +1,6 @@
1
1
  import { MagnificationTextureFilter, MinificationTextureFilter } from "../constants.js";
2
+ import { Texture3DImageData } from "./Data3DTexture.js";
2
3
  import { Texture } from "./Texture.js";
3
- import { Texture3DImageData } from "./types.js";
4
4
 
5
5
  /**
6
6
  * Creates an array of textures directly from raw data, width and height and depth
@@ -1,5 +1,4 @@
1
1
  import {
2
- ColorSpace,
3
2
  MagnificationTextureFilter,
4
3
  Mapping,
5
4
  MinificationTextureFilter,
@@ -8,7 +7,6 @@ import {
8
7
  Wrapping,
9
8
  } from "../constants.js";
10
9
  import { Texture } from "./Texture.js";
11
- import { TextureImageData } from "./types.js";
12
10
 
13
11
  /**
14
12
  * Creates a texture directly from raw data, width and height.
@@ -64,7 +62,7 @@ export class DataTexture extends Texture {
64
62
  magFilter?: MagnificationTextureFilter,
65
63
  minFilter?: MinificationTextureFilter,
66
64
  anisotropy?: number,
67
- colorSpace?: ColorSpace,
65
+ colorSpace?: string,
68
66
  );
69
67
 
70
68
  /**
@@ -111,3 +109,9 @@ export class DataTexture extends Texture {
111
109
  */
112
110
  unpackAlignment: number;
113
111
  }
112
+
113
+ export interface TextureImageData {
114
+ data: Uint8Array | Uint8ClampedArray;
115
+ height: number;
116
+ width: number;
117
+ }
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  AnyMapping,
3
3
  AnyPixelFormat,
4
- ColorSpace,
5
4
  MagnificationTextureFilter,
6
5
  Mapping,
7
6
  MinificationTextureFilter,
@@ -38,7 +37,7 @@ export interface TextureJSON {
38
37
  format: AnyPixelFormat;
39
38
  internalFormat: PixelFormatGPU | null;
40
39
  type: TextureDataType;
41
- colorSpace: ColorSpace;
40
+ colorSpace: string;
42
41
 
43
42
  minFilter: MinificationTextureFilter;
44
43
  magFilter: MagnificationTextureFilter;
@@ -99,7 +98,7 @@ export class Texture extends EventDispatcher<{ dispose: {} }> {
99
98
  format?: PixelFormat,
100
99
  type?: TextureDataType,
101
100
  anisotropy?: number,
102
- colorSpace?: ColorSpace,
101
+ colorSpace?: string,
103
102
  );
104
103
 
105
104
  /**
@@ -369,7 +368,7 @@ export class Texture extends EventDispatcher<{ dispose: {} }> {
369
368
  * @see {@link THREE.TextureDataType}
370
369
  * @defaultValue {@link THREE.NoColorSpace}
371
370
  */
372
- colorSpace: ColorSpace;
371
+ colorSpace: string;
373
372
 
374
373
  /**
375
374
  * Indicates whether a texture belongs to a render target or not
@@ -1,34 +0,0 @@
1
- import { OrthographicCamera, PerspectiveCamera, Scene, ShaderMaterial, WebGLRenderer, WebGLRenderTarget } from "three";
2
-
3
- import { BokehShaderUniforms } from "../shaders/BokehShader2.js";
4
-
5
- export class CinematicCamera extends PerspectiveCamera {
6
- constructor(fov: number, aspect: number, near: number, far: number);
7
-
8
- postprocessing: {
9
- enabled: boolean;
10
- scene: Scene;
11
- camera: OrthographicCamera;
12
- rtTextureDepth: WebGLRenderTarget;
13
- rtTextureColor: WebGLRenderTarget;
14
- bokeh_uniforms: BokehShaderUniforms;
15
- };
16
- shaderSettings: {
17
- rings: number;
18
- samples: number;
19
- };
20
- materialDepth: ShaderMaterial;
21
- coc: number;
22
- aperture: number;
23
- fNumber: number;
24
- hyperFocal: number;
25
- filmGauge: number;
26
-
27
- linearize(depth: number): number;
28
- smoothstep(near: number, far: number, depth: number): number;
29
- saturate(x: number): number;
30
- focusAt(focusDistance: number): void;
31
- initPostProcessing(): void;
32
- renderCinematic(scene: Scene, renderer: WebGLRenderer): void;
33
- setLens(focalLength: number, frameHeight?: number, fNumber?: number, coc?: number): void;
34
- }
@@ -1,4 +0,0 @@
1
- import Node from "../core/Node.js";
2
- import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
3
-
4
- export const bleach: (color: NodeRepresentation, opacity?: number) => ShaderNodeObject<Node>;
@@ -1,10 +0,0 @@
1
- import Node from "../core/Node.js";
2
- import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
3
-
4
- export const burn: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
5
-
6
- export const dodge: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
7
-
8
- export const screen: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
9
-
10
- export const overlay: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
@@ -1,4 +0,0 @@
1
- import Node from "../core/Node.js";
2
- import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
3
-
4
- export const sepia: (color: NodeRepresentation) => ShaderNodeObject<Node>;
@@ -1,18 +0,0 @@
1
- import { Light } from "../../lights/Light.js";
2
- import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
-
5
- export type LightNodeScope = typeof LightNode.TARGET_DIRECTION;
6
-
7
- declare class LightNode extends Node {
8
- scope: LightNodeScope;
9
- light: Light;
10
-
11
- constructor(scope?: LightNodeScope, light?: Light | null);
12
-
13
- static TARGET_DIRECTION: "targetDirection";
14
- }
15
-
16
- export default LightNode;
17
-
18
- export const lightTargetDirection: (light?: Light | null) => ShaderNodeObject<LightNode>;