@types/three 0.167.2 → 0.169.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 (304) hide show
  1. three/README.md +2 -2
  2. three/build/three.webgpu.nodes.d.ts +1 -0
  3. three/build/three.webgpu.nodes.min.d.ts +1 -0
  4. three/examples/jsm/Addons.d.ts +1 -4
  5. three/examples/jsm/capabilities/WebGL.d.ts +11 -3
  6. three/examples/jsm/controls/ArcballControls.d.ts +111 -77
  7. three/examples/jsm/controls/DragControls.d.ts +43 -29
  8. three/examples/jsm/controls/FirstPersonControls.d.ts +82 -12
  9. three/examples/jsm/controls/FlyControls.d.ts +35 -11
  10. three/examples/jsm/controls/OrbitControls.d.ts +84 -137
  11. three/examples/jsm/controls/PointerLockControls.d.ts +68 -9
  12. three/examples/jsm/controls/TrackballControls.d.ts +110 -26
  13. three/examples/jsm/controls/TransformControls.d.ts +152 -25
  14. three/examples/jsm/effects/AnaglyphEffect.d.ts +11 -5
  15. three/examples/jsm/effects/ParallaxBarrierEffect.d.ts +7 -4
  16. three/examples/jsm/environments/RoomEnvironment.d.ts +2 -2
  17. three/examples/jsm/exporters/EXRExporter.d.ts +7 -2
  18. three/examples/jsm/exporters/KTX2Exporter.d.ts +3 -1
  19. three/examples/jsm/helpers/LightProbeHelper.d.ts +5 -3
  20. three/examples/jsm/helpers/LightProbeHelperGPU.d.ts +12 -0
  21. three/examples/jsm/lights/LightProbeGenerator.d.ts +5 -1
  22. three/examples/jsm/lines/Line2.d.ts +15 -1
  23. three/examples/jsm/lines/LineGeometry.d.ts +18 -1
  24. three/examples/jsm/lines/LineMaterial.d.ts +65 -12
  25. three/examples/jsm/lines/LineSegments2.d.ts +25 -2
  26. three/examples/jsm/lines/LineSegmentsGeometry.d.ts +46 -9
  27. three/examples/jsm/loaders/DRACOLoader.d.ts +6 -0
  28. three/examples/jsm/loaders/KTX2Loader.d.ts +4 -0
  29. three/examples/jsm/modifiers/CurveModifier.d.ts +7 -3
  30. three/examples/jsm/modifiers/CurveModifierGPU.d.ts +31 -0
  31. three/examples/jsm/objects/Lensflare.d.ts +13 -9
  32. three/examples/jsm/objects/LensflareMesh.d.ts +21 -0
  33. three/examples/jsm/objects/SkyMesh.d.ts +17 -0
  34. three/examples/jsm/objects/Water2.d.ts +2 -2
  35. three/examples/jsm/objects/Water2Mesh.d.ts +42 -0
  36. three/examples/jsm/objects/WaterMesh.d.ts +31 -0
  37. three/examples/jsm/postprocessing/OutlinePass.d.ts +1 -1
  38. three/examples/jsm/postprocessing/SSAARenderPass.d.ts +11 -2
  39. three/examples/jsm/utils/GeometryCompressionUtils.d.ts +20 -4
  40. three/examples/jsm/utils/ShadowMapViewer.d.ts +8 -6
  41. three/examples/jsm/utils/ShadowMapViewerGPU.d.ts +26 -0
  42. three/examples/jsm/utils/SkeletonUtils.d.ts +25 -5
  43. three/examples/jsm/utils/TextureUtilsGPU.d.ts +3 -0
  44. three/package.json +4 -3
  45. three/src/Three.WebGPU.Nodes.d.ts +201 -0
  46. three/src/Three.WebGPU.d.ts +7 -0
  47. three/src/Three.d.ts +1 -0
  48. three/src/audio/Audio.d.ts +4 -1
  49. three/src/core/BufferAttribute.d.ts +0 -15
  50. three/src/core/EventDispatcher.d.ts +0 -3
  51. three/src/core/InterleavedBuffer.d.ts +0 -12
  52. three/src/core/Object3D.d.ts +3 -1
  53. three/src/core/Raycaster.d.ts +2 -1
  54. three/src/extras/Controls.d.ts +54 -0
  55. three/src/loaders/MaterialLoader.d.ts +2 -0
  56. three/src/{nodes/loaders → loaders/nodes}/NodeLoader.d.ts +8 -3
  57. three/src/loaders/nodes/NodeMaterialLoader.d.ts +11 -0
  58. three/src/loaders/nodes/NodeObjectLoader.d.ts +22 -0
  59. three/src/materials/Material.d.ts +17 -13
  60. three/src/materials/nodes/InstancedPointsNodeMaterial.d.ts +33 -0
  61. three/src/{nodes/materials → materials/nodes}/Line2NodeMaterial.d.ts +2 -2
  62. three/src/{nodes/materials → materials/nodes}/LineBasicNodeMaterial.d.ts +1 -1
  63. three/src/materials/nodes/LineDashedNodeMaterial.d.ts +29 -0
  64. three/src/{nodes/materials → materials/nodes}/MeshBasicNodeMaterial.d.ts +1 -1
  65. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +49 -0
  66. three/src/{nodes/materials → materials/nodes}/MeshMatcapNodeMaterial.d.ts +2 -2
  67. three/src/{nodes/materials → materials/nodes}/MeshNormalNodeMaterial.d.ts +1 -1
  68. three/src/{nodes/materials → materials/nodes}/MeshPhongNodeMaterial.d.ts +2 -2
  69. three/src/{nodes/materials → materials/nodes}/MeshPhysicalNodeMaterial.d.ts +5 -2
  70. three/src/{nodes/materials → materials/nodes}/MeshSSSNodeMaterial.d.ts +2 -2
  71. three/src/{nodes/materials → materials/nodes}/MeshStandardNodeMaterial.d.ts +3 -3
  72. three/src/{nodes/materials → materials/nodes}/MeshToonNodeMaterial.d.ts +2 -2
  73. three/src/materials/nodes/NodeMaterial.d.ts +89 -0
  74. three/src/{nodes/materials/Materials.d.ts → materials/nodes/NodeMaterials.d.ts} +5 -2
  75. three/src/{nodes/materials → materials/nodes}/PointsNodeMaterial.d.ts +1 -2
  76. three/src/{nodes/materials → materials/nodes}/ShadowNodeMaterial.d.ts +1 -1
  77. three/src/{nodes/materials → materials/nodes}/SpriteNodeMaterial.d.ts +2 -2
  78. three/src/{nodes/materials → materials/nodes}/VolumeNodeMaterial.d.ts +1 -1
  79. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +81 -0
  80. three/src/math/Quaternion.d.ts +4 -3
  81. three/src/math/Triangle.d.ts +24 -0
  82. three/src/nodes/Nodes.d.ts +117 -362
  83. three/src/nodes/TSL.d.ts +175 -0
  84. three/src/nodes/accessors/AccessorsUtils.d.ts +1 -1
  85. three/src/nodes/accessors/BatchNode.d.ts +1 -2
  86. three/src/nodes/accessors/{BitangentNode.d.ts → Bitangent.d.ts} +1 -1
  87. three/src/nodes/accessors/BufferAttributeNode.d.ts +5 -4
  88. three/src/nodes/accessors/BufferNode.d.ts +1 -1
  89. three/src/nodes/accessors/{CameraNode.d.ts → Camera.d.ts} +1 -1
  90. three/src/nodes/accessors/ClippingNode.d.ts +1 -1
  91. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -7
  92. three/src/nodes/accessors/InstanceNode.d.ts +1 -1
  93. three/src/nodes/accessors/MaterialNode.d.ts +3 -4
  94. three/src/nodes/accessors/MaterialProperties.d.ts +4 -0
  95. three/src/nodes/accessors/MaterialReferenceNode.d.ts +3 -1
  96. three/src/nodes/accessors/ModelNode.d.ts +8 -4
  97. three/src/nodes/accessors/ModelViewProjectionNode.d.ts +1 -1
  98. three/src/nodes/accessors/MorphNode.d.ts +15 -0
  99. three/src/nodes/accessors/Normal.d.ts +25 -0
  100. three/src/nodes/accessors/Object3DNode.d.ts +2 -6
  101. three/src/nodes/accessors/PointUVNode.d.ts +1 -1
  102. three/src/nodes/accessors/{PositionNode.d.ts → Position.d.ts} +2 -1
  103. three/src/nodes/accessors/ReferenceBaseNode.d.ts +27 -0
  104. three/src/nodes/accessors/ReferenceNode.d.ts +7 -5
  105. three/src/nodes/accessors/{ReflectVectorNode.d.ts → ReflectVector.d.ts} +1 -1
  106. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  107. three/src/nodes/accessors/SceneNode.d.ts +20 -0
  108. three/src/nodes/accessors/SkinningNode.d.ts +11 -1
  109. three/src/nodes/accessors/StorageBufferNode.d.ts +2 -2
  110. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  111. three/src/nodes/accessors/{TangentNode.d.ts → Tangent.d.ts} +1 -1
  112. three/src/nodes/accessors/Texture3DNode.d.ts +1 -1
  113. three/src/nodes/accessors/TextureBicubic.d.ts +4 -0
  114. three/src/nodes/accessors/TextureNode.d.ts +26 -7
  115. three/src/nodes/accessors/TextureSizeNode.d.ts +18 -0
  116. three/src/nodes/accessors/{UVNode.d.ts → UV.d.ts} +1 -1
  117. three/src/nodes/accessors/UniformArrayNode.d.ts +30 -0
  118. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  119. three/src/nodes/accessors/VelocityNode.d.ts +16 -0
  120. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  121. three/src/nodes/code/CodeNode.d.ts +1 -1
  122. three/src/nodes/code/ExpressionNode.d.ts +1 -1
  123. three/src/nodes/code/FunctionCallNode.d.ts +2 -2
  124. three/src/nodes/code/FunctionNode.d.ts +5 -6
  125. three/src/nodes/code/ScriptableNode.d.ts +22 -0
  126. three/src/nodes/code/ScriptableValueNode.d.ts +10 -0
  127. three/src/nodes/core/AssignNode.d.ts +2 -2
  128. three/src/nodes/core/AttributeNode.d.ts +2 -5
  129. three/src/nodes/core/BypassNode.d.ts +2 -2
  130. three/src/nodes/core/CacheNode.d.ts +2 -2
  131. three/src/nodes/core/ContextNode.d.ts +10 -7
  132. three/src/nodes/core/IndexNode.d.ts +11 -3
  133. three/src/nodes/core/MRTNode.d.ts +7 -2
  134. three/src/nodes/core/Node.d.ts +4 -7
  135. three/src/nodes/core/NodeUtils.d.ts +5 -1
  136. three/src/nodes/core/OutputStructNode.d.ts +1 -1
  137. three/src/nodes/core/ParameterNode.d.ts +12 -0
  138. three/src/nodes/core/PropertyNode.d.ts +1 -1
  139. three/src/nodes/core/StackNode.d.ts +12 -2
  140. three/src/nodes/core/StructTypeNode.d.ts +1 -0
  141. three/src/nodes/core/UniformNode.d.ts +2 -1
  142. three/src/nodes/core/VarNode.d.ts +2 -10
  143. three/src/nodes/core/VaryingNode.d.ts +2 -2
  144. three/src/nodes/display/AfterImageNode.d.ts +1 -7
  145. three/src/nodes/display/AnaglyphPassNode.d.ts +14 -0
  146. three/src/nodes/display/AnamorphicNode.d.ts +1 -7
  147. three/src/nodes/display/BleachBypass.d.ts +4 -0
  148. three/src/nodes/display/BlendMode.d.ts +10 -0
  149. three/src/nodes/display/BloomNode.d.ts +1 -7
  150. three/src/nodes/display/BumpMapNode.d.ts +16 -0
  151. three/src/nodes/display/ColorAdjustment.d.ts +27 -0
  152. three/src/nodes/display/ColorSpaceFunctions.d.ts +6 -0
  153. three/src/nodes/display/ColorSpaceNode.d.ts +40 -21
  154. three/src/nodes/display/DenoiseNode.d.ts +3 -9
  155. three/src/nodes/display/DepthOfFieldNode.d.ts +4 -8
  156. three/src/nodes/display/DotScreenNode.d.ts +4 -8
  157. three/src/nodes/display/FXAANode.d.ts +3 -9
  158. three/src/nodes/display/FilmNode.d.ts +3 -9
  159. three/src/nodes/display/FrontFacingNode.d.ts +4 -2
  160. three/src/nodes/display/GTAONode.d.ts +3 -9
  161. three/src/nodes/display/GaussianBlurNode.d.ts +4 -8
  162. three/src/nodes/display/Lut3DNode.d.ts +3 -9
  163. three/src/nodes/display/MotionBlur.d.ts +8 -0
  164. three/src/nodes/display/NormalMapNode.d.ts +4 -8
  165. three/src/nodes/display/ParallaxBarrierPassNode.d.ts +14 -0
  166. three/src/nodes/display/PassNode.d.ts +11 -2
  167. three/src/nodes/display/PixelationPassNode.d.ts +1 -37
  168. three/src/nodes/display/PosterizeNode.d.ts +1 -7
  169. three/src/nodes/display/RGBShiftNode.d.ts +1 -7
  170. three/src/nodes/display/RenderOutputNode.d.ts +2 -2
  171. three/src/nodes/display/SSAAPassNode.d.ts +26 -0
  172. three/src/nodes/display/ScreenNode.d.ts +48 -0
  173. three/src/nodes/display/Sepia.d.ts +4 -0
  174. three/src/nodes/display/SobelOperatorNode.d.ts +4 -8
  175. three/src/nodes/display/StereoCompositePassNode.d.ts +17 -0
  176. three/src/nodes/display/StereoPassNode.d.ts +17 -0
  177. three/src/nodes/display/ToneMappingFunctions.d.ts +14 -0
  178. three/src/nodes/display/ToneMappingNode.d.ts +5 -6
  179. three/src/nodes/display/ToonOutlinePassNode.d.ts +24 -0
  180. three/src/nodes/display/TransitionNode.d.ts +3 -9
  181. three/src/nodes/display/ViewportDepthNode.d.ts +6 -2
  182. three/src/nodes/display/ViewportDepthTextureNode.d.ts +4 -2
  183. three/src/nodes/display/ViewportSharedTextureNode.d.ts +4 -8
  184. three/src/nodes/display/ViewportTextureNode.d.ts +4 -9
  185. three/src/nodes/fog/FogExp2Node.d.ts +4 -8
  186. three/src/nodes/fog/FogNode.d.ts +4 -8
  187. three/src/nodes/fog/FogRangeNode.d.ts +4 -8
  188. three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +1 -1
  189. three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +1 -1
  190. three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +1 -1
  191. three/src/nodes/functions/BSDF/DFGApprox.d.ts +1 -1
  192. three/src/nodes/functions/BSDF/D_GGX.d.ts +1 -1
  193. three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +1 -1
  194. three/src/nodes/functions/BSDF/F_Schlick.d.ts +1 -1
  195. three/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +10 -0
  196. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +1 -1
  197. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -1
  198. three/src/nodes/functions/ShadowMaskModel.d.ts +1 -1
  199. three/src/nodes/functions/material/getGeometryRoughness.d.ts +1 -1
  200. three/src/nodes/functions/material/getRoughness.d.ts +1 -1
  201. three/src/nodes/functions/material/getShIrradianceAt.d.ts +6 -0
  202. three/src/nodes/geometry/RangeNode.d.ts +1 -1
  203. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -2
  204. three/src/nodes/lighting/AmbientLightNode.d.ts +8 -0
  205. three/src/nodes/lighting/DirectionalLightNode.d.ts +8 -0
  206. three/src/nodes/lighting/IESSpotLightNode.d.ts +5 -0
  207. three/src/nodes/lighting/LightNode.d.ts +18 -0
  208. three/src/nodes/lighting/LightProbeNode.d.ts +11 -0
  209. three/src/nodes/lighting/LightUtils.d.ts +3 -3
  210. three/src/nodes/lighting/LightingContextNode.d.ts +1 -7
  211. three/src/nodes/lighting/LightsNode.d.ts +9 -13
  212. three/src/nodes/materialx/MaterialXNodes.d.ts +1 -1
  213. three/src/nodes/materialx/lib/mx_hsv.d.ts +2 -2
  214. three/src/nodes/materialx/lib/mx_noise.d.ts +1 -1
  215. three/src/nodes/materialx/lib/mx_transform_color.d.ts +1 -1
  216. three/src/nodes/math/ConditionalNode.d.ts +39 -0
  217. three/src/nodes/math/Hash.d.ts +4 -0
  218. three/src/nodes/math/MathNode.d.ts +2 -2
  219. three/src/nodes/math/MathUtils.d.ts +0 -10
  220. three/src/nodes/math/OperatorNode.d.ts +18 -4
  221. three/src/nodes/math/TriNoise3D.d.ts +1 -1
  222. three/src/nodes/parsers/GLSLNodeFunction.d.ts +9 -0
  223. three/src/nodes/parsers/GLSLNodeParser.d.ts +8 -0
  224. three/src/nodes/pmrem/PMREMNode.d.ts +4 -2
  225. three/src/nodes/pmrem/PMREMUtils.d.ts +28 -0
  226. three/src/nodes/procedural/Checker.d.ts +4 -0
  227. three/src/nodes/tsl/TSLBase.d.ts +21 -0
  228. three/src/nodes/{shadernode/ShaderNode.d.ts → tsl/TSLCore.d.ts} +23 -23
  229. three/src/nodes/utils/CubeMapNode.d.ts +13 -0
  230. three/src/nodes/utils/Discard.d.ts +11 -0
  231. three/src/nodes/utils/EquirectUVNode.d.ts +1 -1
  232. three/src/nodes/utils/FunctionOverloadingNode.d.ts +13 -0
  233. three/src/nodes/utils/LoopNode.d.ts +22 -0
  234. three/src/nodes/utils/MatcapUVNode.d.ts +1 -1
  235. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  236. three/src/nodes/utils/OscNode.d.ts +1 -1
  237. three/src/nodes/utils/Packing.d.ts +5 -0
  238. three/src/nodes/utils/RTTNode.d.ts +7 -7
  239. three/src/nodes/utils/ReflectorNode.d.ts +1 -1
  240. three/src/nodes/utils/RemapNode.d.ts +2 -2
  241. three/src/nodes/utils/RotateNode.d.ts +1 -7
  242. three/src/nodes/utils/SetNode.d.ts +11 -0
  243. three/src/nodes/utils/SplitNode.d.ts +1 -1
  244. three/src/nodes/utils/SpriteSheetUVNode.d.ts +1 -1
  245. three/src/nodes/utils/SpriteUtils.d.ts +6 -0
  246. three/src/nodes/utils/{StoargeArrayElementNode.d.ts → StorageArrayElementNode.d.ts} +1 -7
  247. three/src/nodes/utils/TimerNode.d.ts +1 -1
  248. three/src/nodes/utils/TriplanarTexturesNode.d.ts +1 -7
  249. three/src/nodes/utils/UVUtils.d.ts +14 -0
  250. three/src/nodes/utils/ViewportUtils.d.ts +4 -0
  251. three/src/objects/BatchedMesh.d.ts +33 -0
  252. three/src/objects/Group.d.ts +0 -6
  253. three/src/objects/LOD.d.ts +7 -0
  254. three/src/renderers/WebGLRenderer.d.ts +2 -12
  255. three/src/renderers/common/BindGroup.d.ts +8 -1
  256. three/src/renderers/common/Bindings.d.ts +2 -2
  257. three/src/renderers/common/BundleGroup.d.ts +10 -0
  258. three/src/renderers/common/ClippingContext.d.ts +1 -0
  259. three/src/renderers/common/QuadMesh.d.ts +2 -0
  260. three/src/renderers/common/RenderBundles.d.ts +3 -3
  261. three/src/renderers/common/RenderContext.d.ts +2 -0
  262. three/src/renderers/common/RenderContexts.d.ts +6 -4
  263. three/src/renderers/common/RenderList.d.ts +2 -1
  264. three/src/renderers/common/RenderObject.d.ts +19 -1
  265. three/src/renderers/common/RenderObjects.d.ts +1 -1
  266. three/src/renderers/common/Renderer.d.ts +24 -5
  267. three/src/renderers/common/SampledTexture.d.ts +7 -1
  268. three/src/renderers/common/Textures.d.ts +1 -0
  269. three/src/renderers/common/nodes/NodeBuilderState.d.ts +3 -2
  270. three/src/renderers/common/nodes/NodeLibrary.d.ts +56 -0
  271. three/src/renderers/common/nodes/NodeSampledTexture.d.ts +3 -3
  272. three/src/renderers/common/nodes/Nodes.d.ts +15 -9
  273. three/src/renderers/common/nodes/StandardNodeLibrary.d.ts +5 -0
  274. three/src/renderers/webgl/WebGLCapabilities.d.ts +13 -0
  275. three/src/renderers/webgl/WebGLPrograms.d.ts +1 -0
  276. three/src/renderers/webgl/WebGLProperties.d.ts +5 -4
  277. three/src/renderers/webgpu/WebGPUBackend.d.ts +6 -2
  278. three/src/renderers/webgpu/WebGPURenderer.Nodes.d.ts +12 -0
  279. three/src/renderers/webgpu/WebGPURenderer.d.ts +5 -1
  280. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +5 -0
  281. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +5 -0
  282. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +2 -2
  283. three/src/renderers/webxr/WebXRManager.d.ts +0 -2
  284. three/examples/jsm/geometries/SDFGeometryGenerator.d.ts +0 -16
  285. three/examples/jsm/loaders/LogLuvLoader.d.ts +0 -19
  286. three/examples/jsm/loaders/TiltLoader.d.ts +0 -7
  287. three/examples/jsm/utils/GPUStatsPanel.d.ts +0 -12
  288. three/examples/jsm/utils/PackedPhongMaterial.d.ts +0 -10
  289. three/src/nodes/accessors/NormalNode.d.ts +0 -12
  290. three/src/nodes/accessors/TextureBicubicNode.d.ts +0 -18
  291. three/src/nodes/accessors/UniformsNode.d.ts +0 -23
  292. three/src/nodes/core/NodeKeywords.d.ts +0 -17
  293. three/src/nodes/display/BlendModeNode.d.ts +0 -47
  294. three/src/nodes/display/ColorAdjustmentNode.d.ts +0 -47
  295. three/src/nodes/display/ViewportNode.d.ts +0 -31
  296. three/src/nodes/loaders/NodeMaterialLoader.d.ts +0 -8
  297. three/src/nodes/loaders/NodeObjectLoader.d.ts +0 -10
  298. three/src/nodes/materials/NodeMaterial.d.ts +0 -124
  299. three/src/nodes/math/CondNode.d.ts +0 -22
  300. three/src/nodes/math/HashNode.d.ts +0 -16
  301. three/src/nodes/procedural/CheckerNode.d.ts +0 -15
  302. three/src/nodes/utils/DiscardNode.d.ts +0 -17
  303. three/src/nodes/utils/PackingNode.d.ts +0 -24
  304. three/src/nodes/utils/RotateUVNode.d.ts +0 -19
@@ -53,7 +53,6 @@ export class EventDispatcher<TEventMap extends {} = {}> {
53
53
  type: T,
54
54
  listener: EventListener<TEventMap[T], T, this>,
55
55
  ): void;
56
- addEventListener<T extends string>(type: T, listener: EventListener<{}, T, this>): void;
57
56
 
58
57
  /**
59
58
  * Checks if listener is added to an event type.
@@ -64,7 +63,6 @@ export class EventDispatcher<TEventMap extends {} = {}> {
64
63
  type: T,
65
64
  listener: EventListener<TEventMap[T], T, this>,
66
65
  ): boolean;
67
- hasEventListener<T extends string>(type: T, listener: EventListener<{}, T, this>): boolean;
68
66
 
69
67
  /**
70
68
  * Removes a listener from an event type.
@@ -75,7 +73,6 @@ export class EventDispatcher<TEventMap extends {} = {}> {
75
73
  type: T,
76
74
  listener: EventListener<TEventMap[T], T, this>,
77
75
  ): void;
78
- removeEventListener<T extends string>(type: T, listener: EventListener<{}, T, this>): void;
79
76
 
80
77
  /**
81
78
  * Fire an event type.
@@ -42,18 +42,6 @@ export class InterleavedBuffer {
42
42
  */
43
43
  usage: Usage;
44
44
 
45
- /**
46
- * Object containing offset and count.
47
- * @defaultValue `{ offset: number = 0; count: number = -1 }`
48
- * @deprecated Will be removed in r169. Use "addUpdateRange()" instead.
49
- */
50
- updateRange: {
51
- /** @defaultValue `0` */
52
- offset: number;
53
- /** @defaultValue `-1` */
54
- count: number;
55
- };
56
-
57
45
  /**
58
46
  * This can be used to only update some components of stored data. Use the {@link .addUpdateRange} function to add
59
47
  * ranges to this array.
@@ -127,7 +127,7 @@ export class Object3D<TEventMap extends Object3DEventMap = Object3DEventMap> ext
127
127
  * Sub-classes will update this value.
128
128
  * @defaultValue `Object3D`
129
129
  */
130
- readonly type: string | "Object3D";
130
+ readonly type: string;
131
131
 
132
132
  /**
133
133
  * Object's parent in the {@link https://en.wikipedia.org/wiki/Scene_graph | scene graph}.
@@ -299,6 +299,7 @@ export class Object3D<TEventMap extends Object3DEventMap = Object3DEventMap> ext
299
299
  onBeforeShadow(
300
300
  renderer: WebGLRenderer,
301
301
  scene: Scene,
302
+ camera: Camera,
302
303
  shadowCamera: Camera,
303
304
  geometry: BufferGeometry,
304
305
  depthMaterial: Material,
@@ -317,6 +318,7 @@ export class Object3D<TEventMap extends Object3DEventMap = Object3DEventMap> ext
317
318
  onAfterShadow(
318
319
  renderer: WebGLRenderer,
319
320
  scene: Scene,
321
+ camera: Camera,
320
322
  shadowCamera: Camera,
321
323
  geometry: BufferGeometry,
322
324
  depthMaterial: Material,
@@ -24,7 +24,8 @@ export interface Intersection<TIntersected extends Object3D = Object3D> {
24
24
  /** Intersected face */
25
25
  face?: Face | null | undefined;
26
26
  /** Index of the intersected face */
27
- faceIndex?: number | undefined;
27
+ faceIndex?: number | null | undefined;
28
+ barycoord?: Vector3 | null;
28
29
  /** The intersected object */
29
30
  object: TIntersected;
30
31
  uv?: Vector2 | undefined;
@@ -0,0 +1,54 @@
1
+ import { EventDispatcher } from "../core/EventDispatcher.js";
2
+ import { Object3D } from "../core/Object3D.js";
3
+
4
+ /**
5
+ * Abstract base class for controls.
6
+ */
7
+ declare abstract class Controls<TEventMap extends {}> extends EventDispatcher<TEventMap> {
8
+ /**
9
+ * The 3D object that is managed by the controls.
10
+ */
11
+ object: Object3D;
12
+
13
+ /**
14
+ * The HTML element used for event listeners. If not provided via the constructor, {@link .connect} must be called
15
+ * after `domElement` has been set.
16
+ */
17
+ domElement: HTMLElement | null;
18
+
19
+ /**
20
+ * When set to `false`, the controls will not respond to user input. Default is `true`.
21
+ */
22
+ enabled: boolean;
23
+
24
+ /**
25
+ * Creates a new instance of {@link Controls}.
26
+ * @param object The object the controls should manage (usually the camera).
27
+ * @param domElement The HTML element used for event listeners. (optional)
28
+ */
29
+ constructor(object: Object3D, domElement?: HTMLElement | null);
30
+
31
+ /**
32
+ * Connects the controls to the DOM. This method has so called "side effects" since it adds the module's event
33
+ * listeners to the DOM.
34
+ */
35
+ connect(): void;
36
+
37
+ /**
38
+ * Disconnects the controls from the DOM.
39
+ */
40
+ disconnect(): void;
41
+
42
+ /**
43
+ * Call this method if you no longer want use to the controls. It frees all internal resources and removes all event
44
+ * listeners.
45
+ */
46
+ dispose(): void;
47
+
48
+ /**
49
+ * Controls should implement this method if they have to update their internal state per simulation step.
50
+ */
51
+ update(delta: number): void;
52
+ }
53
+
54
+ export { Controls };
@@ -15,5 +15,7 @@ export class MaterialLoader extends Loader<Material> {
15
15
 
16
16
  setTextures(textures: { [key: string]: Texture }): this;
17
17
 
18
+ createMaterialFromType(type: string): Material;
19
+
18
20
  static createMaterialFromType(type: string): Material;
19
21
  }
@@ -1,16 +1,21 @@
1
- import { Loader } from "../../loaders/Loader.js";
2
- import { LoadingManager } from "../../loaders/LoadingManager.js";
1
+ import { Node } from "../../nodes/Nodes.js";
3
2
  import { Texture } from "../../textures/Texture.js";
4
- import { Node } from "../Nodes.js";
3
+ import { Loader } from "../Loader.js";
4
+ import { LoadingManager } from "../LoadingManager.js";
5
5
 
6
6
  export interface NodeLoaderResult {
7
7
  [hash: string]: Node;
8
8
  }
9
9
 
10
10
  export default class NodeLoader extends Loader<NodeLoaderResult> {
11
+ textures: { [key: string]: Texture };
12
+ nodes: { [type: string]: Node };
13
+
11
14
  constructor(manager?: LoadingManager);
12
15
 
13
16
  parseNodes(json: unknown): NodeLoaderResult;
14
17
  parse(json: unknown): Node;
15
18
  setTextures(textures: { [key: string]: Texture }): this;
19
+ setNodes(value: { [type: string]: Node }): this;
20
+ createNodeFromType(type: string): Node;
16
21
  }
@@ -0,0 +1,11 @@
1
+ import NodeMaterial from "../../materials/nodes/NodeMaterial.js";
2
+ import { MaterialLoader } from "../MaterialLoader.js";
3
+ import { NodeLoaderResult } from "./NodeLoader.js";
4
+
5
+ export default class NodeMaterialLoader extends MaterialLoader {
6
+ nodes: NodeLoaderResult;
7
+ nodeMaterials: { [type: string]: NodeMaterial };
8
+
9
+ setNodes(value: NodeLoaderResult): this;
10
+ setNodeMaterials(value: { [type: string]: NodeMaterial }): this;
11
+ }
@@ -0,0 +1,22 @@
1
+ import { Material } from "../../materials/Material.js";
2
+ import NodeMaterial from "../../materials/nodes/NodeMaterial.js";
3
+ import { Node } from "../../nodes/Nodes.js";
4
+ import { Texture } from "../../textures/Texture.js";
5
+ import { LoadingManager } from "../LoadingManager.js";
6
+ import { ObjectLoader } from "../ObjectLoader.js";
7
+ import { NodeLoaderResult } from "./NodeLoader.js";
8
+
9
+ export default class NodeObjectLoader extends ObjectLoader {
10
+ nodes: { [type: string]: Node };
11
+ nodeMaterials: { [type: string]: NodeMaterial };
12
+
13
+ constructor(manager?: LoadingManager);
14
+
15
+ setNodes(value: { [type: string]: Node }): this;
16
+
17
+ setNodeMaterials(value: { [type: string]: NodeMaterial }): this;
18
+
19
+ parseNodes(json: unknown, textures: { [key: string]: Texture }): NodeLoaderResult;
20
+
21
+ parseMaterials(json: unknown, textures: { [key: string]: Texture }): { [key: string]: Material };
22
+ }
@@ -556,10 +556,26 @@ export class Material extends EventDispatcher<{ dispose: {} }> {
556
556
  */
557
557
  set alphaTest(value: number);
558
558
 
559
+ /**
560
+ * An optional callback that is executed immediately before the material is used to render a 3D object.
561
+ * Unlike properties, the callback is not supported by {@link .clone()}, {@link .copy()} and {@link .toJSON()}.
562
+ * This callback is only supported in `WebGLRenderer` (not `WebGPURenderer`).
563
+ */
564
+ onBeforeRender(
565
+ renderer: WebGLRenderer,
566
+ scene: Scene,
567
+ camera: Camera,
568
+ geometry: BufferGeometry,
569
+ object: Object3D,
570
+ group: Group,
571
+ ): void;
572
+
559
573
  /**
560
574
  * An optional callback that is executed immediately before the shader program is compiled.
561
- * This function is called with the associated WebGL program parameters and renderer.
575
+ * This function is called with the shader source code as a parameter.
562
576
  * Useful for the modification of built-in materials.
577
+ * Unlike properties, the callback is not supported by {@link .clone()}, {@link .copy()} and {@link .toJSON()}.
578
+ * This callback is only supported in `WebGLRenderer` (not `WebGPURenderer`).
563
579
  * @param parameters WebGL program parameters
564
580
  * @param renderer WebGLRenderer context that is initializing the material
565
581
  */
@@ -612,16 +628,4 @@ export class Material extends EventDispatcher<{ dispose: {} }> {
612
628
  * @deprecated onBuild() has been removed.
613
629
  */
614
630
  onBuild(object: Object3D, parameters: WebGLProgramParametersWithUniforms, renderer: WebGLRenderer): void;
615
-
616
- /**
617
- * @deprecated onBeforeRender() has been removed.
618
- */
619
- onBeforeRender(
620
- renderer: WebGLRenderer,
621
- scene: Scene,
622
- camera: Camera,
623
- geometry: BufferGeometry,
624
- object: Object3D,
625
- group: Group,
626
- ): void;
627
631
  }
@@ -0,0 +1,33 @@
1
+ import { Color } from "../../math/Color.js";
2
+ import Node from "../../nodes/core/Node.js";
3
+ import { Texture } from "../../textures/Texture.js";
4
+ import { PointsMaterialParameters } from "../PointsMaterial.js";
5
+ import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
6
+
7
+ export interface InstancedPointsNodeMaterialParameters extends NodeMaterialParameters, PointsMaterialParameters {
8
+ useAlphaToCoverage?: boolean | undefined;
9
+ useColor?: boolean | undefined;
10
+ pointWidth?: number | undefined;
11
+ pointColorNode?: Node | null | undefined;
12
+ pointWidthNode?: Node | null | undefined;
13
+ }
14
+
15
+ declare class InstancedPointsNodeMaterial extends NodeMaterial {
16
+ useAlphaToCoverage: boolean;
17
+ useColor: boolean | undefined;
18
+ pointWidth: number;
19
+ pointColorNode: Node | null;
20
+ pointWidthNode: Node | null;
21
+
22
+ // Properties from LineDashedMaterial
23
+ readonly isPointsMaterial: true;
24
+ color: Color;
25
+ map: Texture | null;
26
+ alphaMap: Texture | null;
27
+ size: number;
28
+ sizeAttenuation: boolean;
29
+
30
+ constructor(params?: InstancedPointsNodeMaterialParameters);
31
+ }
32
+
33
+ export default InstancedPointsNodeMaterial;
@@ -1,7 +1,7 @@
1
- import { LineDashedMaterialParameters } from "../../materials/LineDashedMaterial.js";
2
1
  import { Color } from "../../math/Color.js";
2
+ import Node from "../../nodes/core/Node.js";
3
3
  import { Texture } from "../../textures/Texture.js";
4
- import Node from "../core/Node.js";
4
+ import { LineDashedMaterialParameters } from "../LineDashedMaterial.js";
5
5
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
6
6
 
7
7
  export interface Line2NodeMaterialParameters extends NodeMaterialParameters, LineDashedMaterialParameters {
@@ -1,6 +1,6 @@
1
- import { LineBasicMaterialParameters } from "../../materials/LineBasicMaterial.js";
2
1
  import { Color } from "../../math/Color.js";
3
2
  import { Texture } from "../../textures/Texture.js";
3
+ import { LineBasicMaterialParameters } from "../LineBasicMaterial.js";
4
4
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
5
5
 
6
6
  export interface LineBasicNodeMaterialParameters extends NodeMaterialParameters, LineBasicMaterialParameters {
@@ -0,0 +1,29 @@
1
+ import Node from "../../nodes/core/Node.js";
2
+ import { LineDashedMaterialParameters } from "../LineDashedMaterial.js";
3
+ import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
4
+
5
+ export interface LineDashedNodeMaterialParameters extends NodeMaterialParameters, LineDashedMaterialParameters {
6
+ offsetNode?: Node | null | undefined;
7
+ dashScaleNode?: Node | null | undefined;
8
+ dashSizeNode?: Node | null | undefined;
9
+ gapSizeNode?: Node | null | undefined;
10
+ }
11
+
12
+ declare class LineDashedNodeMaterial extends NodeMaterial {
13
+ readonly isLineDashedNodeMaterial: true;
14
+
15
+ offsetNode: Node | null;
16
+ dashScaleNode: Node | null;
17
+ dashSizeNode: Node | null;
18
+ gapSizeNode: Node | null;
19
+
20
+ // Properties from LineDashedMaterial
21
+ readonly isLineDashedMaterial: true;
22
+ scale: number;
23
+ dashSize: number;
24
+ gapSize: number;
25
+
26
+ constructor(parameters?: LineDashedMaterialParameters);
27
+ }
28
+
29
+ export default LineDashedNodeMaterial;
@@ -1,8 +1,8 @@
1
1
  import { Combine } from "../../constants.js";
2
- import { MeshBasicMaterialParameters } from "../../materials/MeshBasicMaterial.js";
3
2
  import { Color } from "../../math/Color.js";
4
3
  import { Euler } from "../../math/Euler.js";
5
4
  import { Texture } from "../../textures/Texture.js";
5
+ import { MeshBasicMaterialParameters } from "../MeshBasicMaterial.js";
6
6
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
7
7
 
8
8
  export interface MeshBasicNodeMaterialParameters extends NodeMaterialParameters, MeshBasicMaterialParameters {
@@ -0,0 +1,49 @@
1
+ import { Combine, NormalMapTypes } from "../../constants.js";
2
+ import { Color } from "../../math/Color.js";
3
+ import { Euler } from "../../math/Euler.js";
4
+ import { Vector2 } from "../../math/Vector2.js";
5
+ import { Texture } from "../../textures/Texture.js";
6
+ import { MeshLambertMaterialParameters } from "../MeshLambertMaterial.js";
7
+ import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
8
+
9
+ export interface MeshLambertNodeMaterialParameters extends NodeMaterialParameters, MeshLambertMaterialParameters {}
10
+
11
+ declare class MeshLambertNodeMaterial extends NodeMaterial {
12
+ readonly isMeshLambertNodeMaterial: true;
13
+
14
+ // Properties from MeshLambertMaterial
15
+ readonly isMeshLambertMaterial: true;
16
+ color: Color;
17
+ bumpMap: Texture | null;
18
+ bumpScale: number;
19
+ displacementMap: Texture | null;
20
+ displacementScale: number;
21
+ displacementBias: number;
22
+ emissive: Color;
23
+ emissiveIntensity: number;
24
+ emissiveMap: Texture | null;
25
+ flatShading: boolean;
26
+ map: Texture | null;
27
+ lightMap: Texture | null;
28
+ lightMapIntensity: number;
29
+ normalMap: Texture | null;
30
+ normalMapType: NormalMapTypes;
31
+ normalScale: Vector2;
32
+ aoMap: Texture | null;
33
+ aoMapIntensity: number;
34
+ specularMap: Texture | null;
35
+ alphaMap: Texture | null;
36
+ envMap: Texture | null;
37
+ envMapRotation: Euler;
38
+ combine: Combine;
39
+ reflectivity: number;
40
+ refractionRatio: number;
41
+ wireframe: boolean;
42
+ wireframeLinewidth: number;
43
+ wireframeLinecap: string;
44
+ wireframeLinejoin: string;
45
+
46
+ constructor(parameters?: MeshLambertNodeMaterialParameters);
47
+ }
48
+
49
+ export default MeshLambertNodeMaterial;
@@ -1,8 +1,8 @@
1
1
  import { NormalMapTypes } from "../../constants.js";
2
- import { MeshMatcapMaterialParameters } from "../../materials/MeshMatcapMaterial.js";
3
2
  import { Color } from "../../math/Color.js";
4
3
  import { Vector2 } from "../../math/Vector2.js";
5
4
  import { Texture } from "../../textures/Texture.js";
5
+ import { MeshMatcapMaterialParameters } from "../MeshMatcapMaterial.js";
6
6
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
7
7
 
8
8
  export interface MeshMatcapNodeMaterialParameters extends NodeMaterialParameters, MeshMatcapMaterialParameters {
@@ -28,5 +28,5 @@ export default class MeshMatcapNodeMaterial extends NodeMaterial {
28
28
  flatShading: boolean;
29
29
  fog: boolean;
30
30
 
31
- constructor(paramters: MeshMatcapNodeMaterialParameters);
31
+ constructor(parameters?: MeshMatcapNodeMaterialParameters);
32
32
  }
@@ -1,7 +1,7 @@
1
1
  import { NormalMapTypes } from "../../constants.js";
2
- import { MeshNormalMaterialParameters } from "../../materials/MeshNormalMaterial.js";
3
2
  import { Vector2 } from "../../math/Vector2.js";
4
3
  import { Texture } from "../../textures/Texture.js";
4
+ import { MeshNormalMaterialParameters } from "../MeshNormalMaterial.js";
5
5
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
6
6
 
7
7
  export interface MeshBasicNodeMaterialParameters extends NodeMaterialParameters, MeshNormalMaterialParameters {
@@ -1,10 +1,10 @@
1
1
  import { Combine, NormalMapTypes } from "../../constants.js";
2
- import { MeshPhongMaterialParameters } from "../../materials/MeshPhongMaterial.js";
3
2
  import { Color } from "../../math/Color.js";
4
3
  import { Euler } from "../../math/Euler.js";
5
4
  import { Vector2 } from "../../math/Vector2.js";
5
+ import Node from "../../nodes/core/Node.js";
6
6
  import { Texture } from "../../textures/Texture.js";
7
- import Node from "../core/Node.js";
7
+ import { MeshPhongMaterialParameters } from "../MeshPhongMaterial.js";
8
8
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
9
9
 
10
10
  export interface MeshPhongNodeMaterialParameters extends NodeMaterialParameters, MeshPhongMaterialParameters {
@@ -1,8 +1,9 @@
1
- import { MeshPhysicalMaterialParameters } from "../../materials/MeshPhysicalMaterial.js";
2
1
  import { Color } from "../../math/Color.js";
3
2
  import { Vector2 } from "../../math/Vector2.js";
3
+ import Node from "../../nodes/core/Node.js";
4
+ import { ShaderNodeObject } from "../../nodes/tsl/TSLCore.js";
4
5
  import { Texture } from "../../textures/Texture.js";
5
- import Node from "../core/Node.js";
6
+ import { MeshPhysicalMaterialParameters } from "../MeshPhysicalMaterial.js";
6
7
  import MeshStandardNodeMaterial, { MeshStandardNodeMaterialParameters } from "./MeshStandardNodeMaterial.js";
7
8
 
8
9
  export interface MeshPhysicalNodeMaterialParameters
@@ -87,4 +88,6 @@ export default class MeshPhysicalNodeMaterial extends MeshStandardNodeMaterial {
87
88
  get useAnisotropy(): boolean;
88
89
  get useTransmission(): boolean;
89
90
  get useDispersion(): boolean;
91
+
92
+ setupClearcoatNormal(): ShaderNodeObject<Node>;
90
93
  }
@@ -1,5 +1,5 @@
1
- import ConstNode from "../core/ConstNode.js";
2
- import Node from "../core/Node.js";
1
+ import ConstNode from "../../nodes/core/ConstNode.js";
2
+ import Node from "../../nodes/core/Node.js";
3
3
  import MeshPhysicalNodeMaterial, { MeshPhysicalNodeMaterialParameters } from "./MeshPhysicalNodeMaterial.js";
4
4
 
5
5
  export default class MeshSSSNodeMaterial extends MeshPhysicalNodeMaterial {
@@ -1,10 +1,10 @@
1
1
  import { NormalMapTypes } from "../../constants.js";
2
- import { MeshStandardMaterialParameters } from "../../materials/MeshStandardMaterial.js";
3
2
  import { Color } from "../../math/Color.js";
4
3
  import { Euler } from "../../math/Euler.js";
5
4
  import { Vector2 } from "../../math/Vector2.js";
5
+ import Node from "../../nodes/core/Node.js";
6
6
  import { Texture } from "../../textures/Texture.js";
7
- import Node from "../core/Node.js";
7
+ import { MeshStandardMaterialParameters } from "../MeshStandardMaterial.js";
8
8
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
9
9
 
10
10
  export interface MeshStandardNodeMaterialParameters extends NodeMaterialParameters, MeshStandardMaterialParameters {
@@ -52,5 +52,5 @@ export default class MeshStandardNodeMaterial extends NodeMaterial {
52
52
  flatShading: boolean;
53
53
  fog: boolean;
54
54
 
55
- constructor(paramters?: MeshStandardNodeMaterialParameters);
55
+ constructor(parameters?: MeshStandardNodeMaterialParameters);
56
56
  }
@@ -1,8 +1,8 @@
1
1
  import { NormalMapTypes } from "../../constants.js";
2
- import { MeshToonMaterialParameters } from "../../materials/MeshToonMaterial.js";
3
2
  import { Color } from "../../math/Color.js";
4
3
  import { Vector2 } from "../../math/Vector2.js";
5
4
  import { Texture } from "../../textures/Texture.js";
5
+ import { MeshToonMaterialParameters } from "../MeshToonMaterial.js";
6
6
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
7
7
 
8
8
  export interface MeshToonNodeMaterialParameters extends NodeMaterialParameters, MeshToonMaterialParameters {
@@ -38,5 +38,5 @@ export default class MeshToonNodeMaterial extends NodeMaterial {
38
38
  wireframeLinejoin: string;
39
39
  fog: boolean;
40
40
 
41
- constructor(paramters: MeshToonNodeMaterialParameters);
41
+ constructor(parameters?: MeshToonNodeMaterialParameters);
42
42
  }
@@ -0,0 +1,89 @@
1
+ import ClippingNode from "../../nodes/accessors/ClippingNode.js";
2
+ import LightingModel from "../../nodes/core/LightingModel.js";
3
+ import MRTNode from "../../nodes/core/MRTNode.js";
4
+ import Node from "../../nodes/core/Node.js";
5
+ import NodeBuilder from "../../nodes/core/NodeBuilder.js";
6
+ import LightsNode from "../../nodes/lighting/LightsNode.js";
7
+ import { ShaderNodeObject } from "../../nodes/tsl/TSLCore.js";
8
+ import { Material, MaterialParameters } from "../Material.js";
9
+
10
+ export interface NodeMaterialParameters extends MaterialParameters {
11
+ normals?: boolean | undefined;
12
+
13
+ colorSpaced?: boolean | undefined;
14
+
15
+ lightsNode?: LightsNode | null | undefined;
16
+ envNode?: Node | null | undefined;
17
+ aoNode?: Node | null | undefined;
18
+
19
+ colorNode?: Node | null | undefined;
20
+ normalNode?: Node | null | undefined;
21
+ opacityNode?: Node | null | undefined;
22
+ backdropNode?: Node | null | undefined;
23
+ backdropAlphaNode?: Node | null | undefined;
24
+ alphaTestNode?: Node | null | undefined;
25
+
26
+ positionNode?: Node | null | undefined;
27
+
28
+ depthNode?: Node | null | undefined;
29
+ shadowNode?: Node | null | undefined;
30
+
31
+ outputNode?: Node | null | undefined;
32
+
33
+ fragmentNode?: Node | null | undefined;
34
+ vertexNode?: Node | null | undefined;
35
+ }
36
+
37
+ declare class NodeMaterial extends Material {
38
+ static get type(): string;
39
+
40
+ readonly isNodeMaterial: true;
41
+
42
+ fog: boolean;
43
+ lights: boolean;
44
+
45
+ lightsNode: LightsNode | null;
46
+ envNode: Node | null;
47
+ aoNode: Node | null;
48
+
49
+ colorNode: Node | null;
50
+ normalNode: Node | null;
51
+ opacityNode: Node | null;
52
+ backdropNode: Node | null;
53
+ backdropAlphaNode: Node | null;
54
+ alphaTestNode: Node | null;
55
+
56
+ positionNode: Node | null;
57
+
58
+ depthNode: Node | null;
59
+ shadowNode: Node | null;
60
+ shadowPositionNode: Node | null;
61
+
62
+ outputNode: Node | null;
63
+ mrtNode: MRTNode | null;
64
+
65
+ fragmentNode: Node | null;
66
+ vertexNode: Node | null;
67
+
68
+ constructor();
69
+
70
+ build(builder: NodeBuilder): void;
71
+ setup(builder: NodeBuilder): void;
72
+ setupClipping(builder: NodeBuilder): ClippingNode | null;
73
+ setupDepth(builder: NodeBuilder): void;
74
+ setupPosition(builder: NodeBuilder): Node;
75
+ setupDiffuseColor(builder: NodeBuilder): void;
76
+ setupVariants(builder: NodeBuilder): void;
77
+ setupNormal(builder: NodeBuilder): ShaderNodeObject<Node>;
78
+ setupEnvironment(builder: NodeBuilder): Node | null;
79
+ setupLightMap(builder: NodeBuilder): Node | null;
80
+ setupLights(builder: NodeBuilder): LightsNode;
81
+ setupOutgoingLight(): Node;
82
+ setupLightingModel(builder: NodeBuilder): LightingModel;
83
+ setupLighting(builder: NodeBuilder): Node;
84
+ setupOutput(builder: NodeBuilder, outputNode: Node): Node;
85
+
86
+ setDefaultValues(material: Material): void;
87
+ }
88
+
89
+ export default NodeMaterial;
@@ -1,14 +1,17 @@
1
+ export { default as InstancedPointsNodeMaterial } from "./InstancedPointsNodeMaterial.js";
1
2
  export { default as Line2NodeMaterial } from "./Line2NodeMaterial.js";
2
3
  export { default as LineBasicNodeMaterial } from "./LineBasicNodeMaterial.js";
4
+ export { default as LineDashedNodeMaterial } from "./LineDashedNodeMaterial.js";
3
5
  export { default as MeshBasicNodeMaterial } from "./MeshBasicNodeMaterial.js";
6
+ export { default as MeshLambertNodeMaterial } from "./MeshLambertNodeMaterial.js";
4
7
  export { default as MeshMatcapNodeMaterial } from "./MeshMatcapNodeMaterial.js";
5
8
  export { default as MeshNormalNodeMaterial } from "./MeshNormalNodeMaterial.js";
6
9
  export { default as MeshPhongNodeMaterial } from "./MeshPhongNodeMaterial.js";
7
10
  export { default as MeshPhysicalNodeMaterial } from "./MeshPhysicalNodeMaterial.js";
8
- export { default as MeshSSSPhysicalNodeMaterial } from "./MeshSSSNodeMaterial.js";
11
+ export { default as MeshSSSNodeMaterial } from "./MeshSSSNodeMaterial.js";
9
12
  export { default as MeshStandardNodeMaterial } from "./MeshStandardNodeMaterial.js";
10
13
  export { default as MeshToonNodeMaterial } from "./MeshToonNodeMaterial.js";
11
- export { addNodeMaterial, createNodeMaterialFromType, default as NodeMaterial } from "./NodeMaterial.js";
14
+ export { default as NodeMaterial } from "./NodeMaterial.js";
12
15
  export { default as PointsNodeMaterial } from "./PointsNodeMaterial.js";
13
16
  export { default as ShadowNodeMaterial } from "./ShadowNodeMaterial.js";
14
17
  export { default as SpriteNodeMaterial } from "./SpriteNodeMaterial.js";
@@ -1,6 +1,6 @@
1
- import { PointsMaterialParameters } from "../../materials/PointsMaterial.js";
2
1
  import { Color } from "../../math/Color.js";
3
2
  import { Texture } from "../../textures/Texture.js";
3
+ import { PointsMaterialParameters } from "../PointsMaterial.js";
4
4
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
5
5
 
6
6
  export interface PointsNodeMaterialParameters extends NodeMaterialParameters, PointsMaterialParameters {
@@ -16,7 +16,6 @@ export default class PointsNodeMaterial extends NodeMaterial {
16
16
  alphaMap: Texture | null;
17
17
  size: number;
18
18
  sizeAttenuation: boolean;
19
- fog: boolean;
20
19
 
21
20
  constructor(parameters?: PointsNodeMaterialParameters);
22
21
  }
@@ -1,5 +1,5 @@
1
- import { ShadowMaterialParameters } from "../../materials/ShadowMaterial.js";
2
1
  import { Color } from "../../math/Color.js";
2
+ import { ShadowMaterialParameters } from "../ShadowMaterial.js";
3
3
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
4
4
 
5
5
  export interface ShadowNodeMaterialParameters extends NodeMaterialParameters, ShadowMaterialParameters {
@@ -1,7 +1,7 @@
1
- import { SpriteMaterialParameters } from "../../materials/SpriteMaterial.js";
2
1
  import { Color } from "../../math/Color.js";
2
+ import Node from "../../nodes/core/Node.js";
3
3
  import { Texture } from "../../textures/Texture.js";
4
- import Node from "../core/Node.js";
4
+ import { SpriteMaterialParameters } from "../SpriteMaterial.js";
5
5
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
6
6
 
7
7
  export interface SpriteNodeMaterialParameters extends NodeMaterialParameters, SpriteMaterialParameters {