@nativescript/canvas-three 2.0.0-webgpu.26 → 2.0.0-webgpu.28

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 (491) hide show
  1. package/package.json +1 -1
  2. package/three/src/Three.Legacy.d.ts +20 -0
  3. package/three/src/Three.WebGPU.d.ts +180 -0
  4. package/three/src/Three.d.ts +189 -0
  5. package/three/src/animation/AnimationAction.d.ts +86 -0
  6. package/three/src/animation/AnimationClip.d.ts +50 -0
  7. package/three/src/animation/AnimationMixer.d.ts +35 -0
  8. package/three/src/animation/AnimationObjectGroup.d.ts +17 -0
  9. package/three/src/animation/AnimationUtils.d.ts +40 -0
  10. package/three/src/animation/KeyframeTrack.d.ts +55 -0
  11. package/three/src/animation/PropertyBinding.d.ts +43 -0
  12. package/three/src/animation/PropertyMixer.d.ts +17 -0
  13. package/three/src/animation/tracks/BooleanKeyframeTrack.d.ts +10 -0
  14. package/three/src/animation/tracks/ColorKeyframeTrack.d.ts +11 -0
  15. package/three/src/animation/tracks/NumberKeyframeTrack.d.ts +11 -0
  16. package/three/src/animation/tracks/QuaternionKeyframeTrack.d.ts +11 -0
  17. package/three/src/animation/tracks/StringKeyframeTrack.d.ts +10 -0
  18. package/three/src/animation/tracks/VectorKeyframeTrack.d.ts +11 -0
  19. package/three/src/audio/Audio.d.ts +270 -0
  20. package/three/src/audio/AudioAnalyser.d.ts +58 -0
  21. package/three/src/audio/AudioContext.d.ts +19 -0
  22. package/three/src/audio/AudioListener.d.ts +96 -0
  23. package/three/src/audio/PositionalAudio.d.ts +101 -0
  24. package/three/src/cameras/ArrayCamera.d.ts +32 -0
  25. package/three/src/cameras/Camera.d.ts +74 -0
  26. package/three/src/cameras/CubeCamera.d.ts +68 -0
  27. package/three/src/cameras/OrthographicCamera.d.ts +167 -0
  28. package/three/src/cameras/PerspectiveCamera.d.ts +254 -0
  29. package/three/src/cameras/StereoCamera.d.ts +50 -0
  30. package/three/src/constants.d.ts +802 -0
  31. package/three/src/core/BufferAttribute.d.ts +592 -0
  32. package/three/src/core/BufferGeometry.d.ts +417 -0
  33. package/three/src/core/Clock.d.ts +72 -0
  34. package/three/src/core/EventDispatcher.d.ts +74 -0
  35. package/three/src/core/GLBufferAttribute.d.ts +121 -0
  36. package/three/src/core/InstancedBufferAttribute.d.ts +32 -0
  37. package/three/src/core/InstancedBufferGeometry.d.ts +37 -0
  38. package/three/src/core/InstancedInterleavedBuffer.d.ts +22 -0
  39. package/three/src/core/InterleavedBuffer.d.ts +162 -0
  40. package/three/src/core/InterleavedBufferAttribute.d.ts +201 -0
  41. package/three/src/core/Layers.d.ts +72 -0
  42. package/three/src/core/Object3D.d.ts +644 -0
  43. package/three/src/core/Raycaster.d.ts +199 -0
  44. package/three/src/core/RenderTarget.d.ts +89 -0
  45. package/three/src/core/Uniform.d.ts +38 -0
  46. package/three/src/core/UniformsGroup.d.ts +33 -0
  47. package/three/src/extras/DataUtils.d.ts +22 -0
  48. package/three/src/extras/Earcut.d.ts +15 -0
  49. package/three/src/extras/ImageUtils.d.ts +30 -0
  50. package/three/src/extras/PMREMGenerator.d.ts +82 -0
  51. package/three/src/extras/ShapeUtils.d.ts +25 -0
  52. package/three/src/extras/TextureUtils.d.ts +37 -0
  53. package/three/src/extras/core/Curve.d.ts +162 -0
  54. package/three/src/extras/core/CurvePath.d.ts +77 -0
  55. package/three/src/extras/core/Interpolations.d.ts +36 -0
  56. package/three/src/extras/core/Path.d.ts +148 -0
  57. package/three/src/extras/core/Shape.d.ts +86 -0
  58. package/three/src/extras/core/ShapePath.d.ts +98 -0
  59. package/three/src/extras/curves/ArcCurve.d.ts +34 -0
  60. package/three/src/extras/curves/CatmullRomCurve3.d.ts +77 -0
  61. package/three/src/extras/curves/CubicBezierCurve.d.ts +72 -0
  62. package/three/src/extras/curves/CubicBezierCurve3.d.ts +72 -0
  63. package/three/src/extras/curves/Curves.d.ts +10 -0
  64. package/three/src/extras/curves/EllipseCurve.d.ts +106 -0
  65. package/three/src/extras/curves/LineCurve.d.ts +42 -0
  66. package/three/src/extras/curves/LineCurve3.d.ts +42 -0
  67. package/three/src/extras/curves/QuadraticBezierCurve.d.ts +64 -0
  68. package/three/src/extras/curves/QuadraticBezierCurve3.d.ts +64 -0
  69. package/three/src/extras/curves/SplineCurve.d.ts +52 -0
  70. package/three/src/geometries/BoxGeometry.d.ts +52 -0
  71. package/three/src/geometries/CapsuleGeometry.d.ts +48 -0
  72. package/three/src/geometries/CircleGeometry.d.ts +51 -0
  73. package/three/src/geometries/ConeGeometry.d.ts +56 -0
  74. package/three/src/geometries/CylinderGeometry.d.ts +55 -0
  75. package/three/src/geometries/DodecahedronGeometry.d.ts +25 -0
  76. package/three/src/geometries/EdgesGeometry.d.ts +41 -0
  77. package/three/src/geometries/ExtrudeGeometry.d.ts +139 -0
  78. package/three/src/geometries/Geometries.d.ts +21 -0
  79. package/three/src/geometries/IcosahedronGeometry.d.ts +26 -0
  80. package/three/src/geometries/LatheGeometry.d.ts +55 -0
  81. package/three/src/geometries/OctahedronGeometry.d.ts +25 -0
  82. package/three/src/geometries/PlaneGeometry.d.ts +48 -0
  83. package/three/src/geometries/PolyhedronGeometry.d.ts +54 -0
  84. package/three/src/geometries/RingGeometry.d.ts +52 -0
  85. package/three/src/geometries/ShapeGeometry.d.ts +53 -0
  86. package/three/src/geometries/SphereGeometry.d.ts +59 -0
  87. package/three/src/geometries/TetrahedronGeometry.d.ts +25 -0
  88. package/three/src/geometries/TorusGeometry.d.ts +49 -0
  89. package/three/src/geometries/TorusKnotGeometry.d.ts +52 -0
  90. package/three/src/geometries/TubeGeometry.d.ts +80 -0
  91. package/three/src/geometries/WireframeGeometry.d.ts +40 -0
  92. package/three/src/helpers/ArrowHelper.d.ts +86 -0
  93. package/three/src/helpers/AxesHelper.d.ts +50 -0
  94. package/three/src/helpers/Box3Helper.d.ts +44 -0
  95. package/three/src/helpers/BoxHelper.d.ts +64 -0
  96. package/three/src/helpers/CameraHelper.d.ts +80 -0
  97. package/three/src/helpers/DirectionalLightHelper.d.ts +81 -0
  98. package/three/src/helpers/GridHelper.d.ts +47 -0
  99. package/three/src/helpers/HemisphereLightHelper.d.ts +72 -0
  100. package/three/src/helpers/PlaneHelper.d.ts +50 -0
  101. package/three/src/helpers/PointLightHelper.d.ts +73 -0
  102. package/three/src/helpers/PolarGridHelper.d.ts +48 -0
  103. package/three/src/helpers/SkeletonHelper.d.ts +78 -0
  104. package/three/src/helpers/SpotLightHelper.d.ts +77 -0
  105. package/three/src/lights/AmbientLight.d.ts +36 -0
  106. package/three/src/lights/DirectionalLight.d.ts +103 -0
  107. package/three/src/lights/DirectionalLightShadow.d.ts +73 -0
  108. package/three/src/lights/HemisphereLight.d.ts +61 -0
  109. package/three/src/lights/Light.d.ts +82 -0
  110. package/three/src/lights/LightProbe.d.ts +47 -0
  111. package/three/src/lights/LightShadow.d.ts +169 -0
  112. package/three/src/lights/PointLight.d.ts +102 -0
  113. package/three/src/lights/PointLightShadow.d.ts +22 -0
  114. package/three/src/lights/RectAreaLight.d.ts +82 -0
  115. package/three/src/lights/SpotLight.d.ts +157 -0
  116. package/three/src/lights/SpotLightShadow.d.ts +72 -0
  117. package/three/src/lights/webgpu/IESSpotLight.d.ts +6 -0
  118. package/three/src/loaders/AnimationLoader.d.ts +9 -0
  119. package/three/src/loaders/AudioLoader.d.ts +6 -0
  120. package/three/src/loaders/BufferGeometryLoader.d.ts +10 -0
  121. package/three/src/loaders/Cache.d.ts +21 -0
  122. package/three/src/loaders/CompressedTextureLoader.d.ts +9 -0
  123. package/three/src/loaders/CubeTextureLoader.d.ts +9 -0
  124. package/three/src/loaders/DataTextureLoader.d.ts +9 -0
  125. package/three/src/loaders/FileLoader.d.ts +14 -0
  126. package/three/src/loaders/ImageBitmapLoader.d.ts +17 -0
  127. package/three/src/loaders/ImageLoader.d.ts +12 -0
  128. package/three/src/loaders/Loader.d.ts +45 -0
  129. package/three/src/loaders/LoaderUtils.d.ts +10 -0
  130. package/three/src/loaders/LoadingManager.d.ts +65 -0
  131. package/three/src/loaders/MaterialLoader.d.ts +19 -0
  132. package/three/src/loaders/ObjectLoader.d.ts +25 -0
  133. package/three/src/loaders/TextureLoader.d.ts +13 -0
  134. package/three/src/materials/LineBasicMaterial.d.ts +60 -0
  135. package/three/src/materials/LineDashedMaterial.d.ts +40 -0
  136. package/three/src/materials/Material.d.ts +608 -0
  137. package/three/src/materials/Materials.d.ts +18 -0
  138. package/three/src/materials/MeshBasicMaterial.d.ts +139 -0
  139. package/three/src/materials/MeshDepthMaterial.d.ts +76 -0
  140. package/three/src/materials/MeshDistanceMaterial.d.ts +62 -0
  141. package/three/src/materials/MeshLambertMaterial.d.ts +204 -0
  142. package/three/src/materials/MeshMatcapMaterial.d.ts +117 -0
  143. package/three/src/materials/MeshNormalMaterial.d.ts +93 -0
  144. package/three/src/materials/MeshPhongMaterial.d.ts +228 -0
  145. package/three/src/materials/MeshPhysicalMaterial.d.ts +236 -0
  146. package/three/src/materials/MeshStandardMaterial.d.ts +218 -0
  147. package/three/src/materials/MeshToonMaterial.d.ts +178 -0
  148. package/three/src/materials/PointsMaterial.d.ts +61 -0
  149. package/three/src/materials/RawShaderMaterial.d.ts +14 -0
  150. package/three/src/materials/ShaderMaterial.d.ts +175 -0
  151. package/three/src/materials/ShadowMaterial.d.ts +39 -0
  152. package/three/src/materials/SpriteMaterial.d.ts +66 -0
  153. package/three/src/math/Box2.d.ts +48 -0
  154. package/three/src/math/Box3.d.ts +66 -0
  155. package/three/src/math/Color.d.ts +358 -0
  156. package/three/src/math/ColorManagement.d.ts +37 -0
  157. package/three/src/math/Cylindrical.d.ts +26 -0
  158. package/three/src/math/Euler.d.ts +50 -0
  159. package/three/src/math/Frustum.d.ts +30 -0
  160. package/three/src/math/Interpolant.d.ts +10 -0
  161. package/three/src/math/Line3.d.ts +29 -0
  162. package/three/src/math/MathUtils.d.ts +131 -0
  163. package/three/src/math/Matrix2.d.ts +48 -0
  164. package/three/src/math/Matrix3.d.ts +154 -0
  165. package/three/src/math/Matrix4.d.ts +217 -0
  166. package/three/src/math/Plane.d.ts +47 -0
  167. package/three/src/math/Quaternion.d.ts +173 -0
  168. package/three/src/math/Ray.d.ts +55 -0
  169. package/three/src/math/Sphere.d.ts +47 -0
  170. package/three/src/math/Spherical.d.ts +27 -0
  171. package/three/src/math/SphericalHarmonics3.d.ts +50 -0
  172. package/three/src/math/Triangle.d.ts +54 -0
  173. package/three/src/math/Vector2.d.ts +321 -0
  174. package/three/src/math/Vector3.d.ts +301 -0
  175. package/three/src/math/Vector4.d.ts +239 -0
  176. package/three/src/math/interpolants/CubicInterpolant.d.ts +7 -0
  177. package/three/src/math/interpolants/DiscreteInterpolant.d.ts +7 -0
  178. package/three/src/math/interpolants/LinearInterpolant.d.ts +7 -0
  179. package/three/src/math/interpolants/QuaternionLinearInterpolant.d.ts +7 -0
  180. package/three/src/nodes/Nodes.d.ts +231 -0
  181. package/three/src/nodes/accessors/AccessorsUtils.d.ts +9 -0
  182. package/three/src/nodes/accessors/BatchNode.d.ts +14 -0
  183. package/three/src/nodes/accessors/BitangentNode.d.ts +9 -0
  184. package/three/src/nodes/accessors/BufferAttributeNode.d.ts +28 -0
  185. package/three/src/nodes/accessors/BufferNode.d.ts +13 -0
  186. package/three/src/nodes/accessors/CameraNode.d.ts +15 -0
  187. package/three/src/nodes/accessors/ClippingNode.d.ts +16 -0
  188. package/three/src/nodes/accessors/CubeTextureNode.d.ts +24 -0
  189. package/three/src/nodes/accessors/InstanceNode.d.ts +13 -0
  190. package/three/src/nodes/accessors/MaterialNode.d.ts +130 -0
  191. package/three/src/nodes/accessors/MaterialReferenceNode.d.ts +9 -0
  192. package/three/src/nodes/accessors/ModelNode.d.ts +20 -0
  193. package/three/src/nodes/accessors/ModelViewProjectionNode.d.ts +8 -0
  194. package/three/src/nodes/accessors/NormalNode.d.ts +12 -0
  195. package/three/src/nodes/accessors/Object3DNode.d.ts +26 -0
  196. package/three/src/nodes/accessors/PointUVNode.d.ts +10 -0
  197. package/three/src/nodes/accessors/PositionNode.d.ts +9 -0
  198. package/three/src/nodes/accessors/ReferenceNode.d.ts +22 -0
  199. package/three/src/nodes/accessors/ReflectVectorNode.d.ts +9 -0
  200. package/three/src/nodes/accessors/RendererReferenceNode.d.ts +11 -0
  201. package/three/src/nodes/accessors/SkinningNode.d.ts +20 -0
  202. package/three/src/nodes/accessors/StorageBufferNode.d.ts +26 -0
  203. package/three/src/nodes/accessors/StorageTextureNode.d.ts +28 -0
  204. package/three/src/nodes/accessors/TangentNode.d.ts +12 -0
  205. package/three/src/nodes/accessors/Texture3DNode.d.ts +13 -0
  206. package/three/src/nodes/accessors/TextureBicubicNode.d.ts +18 -0
  207. package/three/src/nodes/accessors/TextureNode.d.ts +37 -0
  208. package/three/src/nodes/accessors/UVNode.d.ts +4 -0
  209. package/three/src/nodes/accessors/UniformsNode.d.ts +23 -0
  210. package/three/src/nodes/accessors/UserDataNode.d.ts +11 -0
  211. package/three/src/nodes/accessors/VertexColorNode.d.ts +12 -0
  212. package/three/src/nodes/code/CodeNode.d.ts +23 -0
  213. package/three/src/nodes/code/ExpressionNode.d.ts +9 -0
  214. package/three/src/nodes/code/FunctionCallNode.d.ts +22 -0
  215. package/three/src/nodes/code/FunctionNode.d.ts +38 -0
  216. package/three/src/nodes/core/AssignNode.d.ts +18 -0
  217. package/three/src/nodes/core/AttributeNode.d.ts +15 -0
  218. package/three/src/nodes/core/BypassNode.d.ts +18 -0
  219. package/three/src/nodes/core/CacheNode.d.ts +20 -0
  220. package/three/src/nodes/core/ConstNode.d.ts +9 -0
  221. package/three/src/nodes/core/ContextNode.d.ts +21 -0
  222. package/three/src/nodes/core/IndexNode.d.ts +20 -0
  223. package/three/src/nodes/core/InputNode.d.ts +15 -0
  224. package/three/src/nodes/core/LightingModel.d.ts +46 -0
  225. package/three/src/nodes/core/MRTNode.d.ts +19 -0
  226. package/three/src/nodes/core/Node.d.ts +117 -0
  227. package/three/src/nodes/core/NodeAttribute.d.ts +9 -0
  228. package/three/src/nodes/core/NodeBuilder.d.ts +133 -0
  229. package/three/src/nodes/core/NodeCache.d.ts +49 -0
  230. package/three/src/nodes/core/NodeCode.d.ts +4 -0
  231. package/three/src/nodes/core/NodeFrame.d.ts +34 -0
  232. package/three/src/nodes/core/NodeFunction.d.ts +13 -0
  233. package/three/src/nodes/core/NodeFunctionInput.d.ts +7 -0
  234. package/three/src/nodes/core/NodeKeywords.d.ts +17 -0
  235. package/three/src/nodes/core/NodeParser.d.ts +5 -0
  236. package/three/src/nodes/core/NodeUniform.d.ts +14 -0
  237. package/three/src/nodes/core/NodeUtils.d.ts +18 -0
  238. package/three/src/nodes/core/NodeVar.d.ts +7 -0
  239. package/three/src/nodes/core/NodeVarying.d.ts +7 -0
  240. package/three/src/nodes/core/OutputStructNode.d.ts +12 -0
  241. package/three/src/nodes/core/PropertyNode.d.ts +43 -0
  242. package/three/src/nodes/core/StackNode.d.ts +17 -0
  243. package/three/src/nodes/core/StructTypeNode.d.ts +8 -0
  244. package/three/src/nodes/core/TempNode.d.ts +10 -0
  245. package/three/src/nodes/core/UniformGroup.d.ts +7 -0
  246. package/three/src/nodes/core/UniformGroupNode.d.ts +21 -0
  247. package/three/src/nodes/core/UniformNode.d.ts +20 -0
  248. package/three/src/nodes/core/VarNode.d.ts +28 -0
  249. package/three/src/nodes/core/VaryingNode.d.ts +21 -0
  250. package/three/src/nodes/core/constants.d.ts +27 -0
  251. package/three/src/nodes/display/AfterImageNode.d.ts +25 -0
  252. package/three/src/nodes/display/AnamorphicNode.d.ts +26 -0
  253. package/three/src/nodes/display/BlendModeNode.d.ts +43 -0
  254. package/three/src/nodes/display/BloomNode.d.ts +30 -0
  255. package/three/src/nodes/display/ColorAdjustmentNode.d.ts +35 -0
  256. package/three/src/nodes/display/ColorSpaceNode.d.ts +32 -0
  257. package/three/src/nodes/display/DenoiseNode.d.ts +32 -0
  258. package/three/src/nodes/display/DepthOfFieldNode.d.ts +24 -0
  259. package/three/src/nodes/display/DotScreenNode.d.ts +22 -0
  260. package/three/src/nodes/display/FXAANode.d.ts +19 -0
  261. package/three/src/nodes/display/FilmNode.d.ts +21 -0
  262. package/three/src/nodes/display/FrontFacingNode.d.ts +10 -0
  263. package/three/src/nodes/display/GTAONode.d.ts +42 -0
  264. package/three/src/nodes/display/GaussianBlurNode.d.ts +27 -0
  265. package/three/src/nodes/display/Lut3DNode.d.ts +25 -0
  266. package/three/src/nodes/display/NormalMapNode.d.ts +21 -0
  267. package/three/src/nodes/display/PassNode.d.ts +62 -0
  268. package/three/src/nodes/display/PixelationPassNode.d.ts +41 -0
  269. package/three/src/nodes/display/PosterizeNode.d.ts +17 -0
  270. package/three/src/nodes/display/RGBShiftNode.d.ts +24 -0
  271. package/three/src/nodes/display/RenderOutputNode.d.ts +24 -0
  272. package/three/src/nodes/display/SobelOperatorNode.d.ts +17 -0
  273. package/three/src/nodes/display/ToneMappingNode.d.ts +25 -0
  274. package/three/src/nodes/display/TransitionNode.d.ts +27 -0
  275. package/three/src/nodes/display/ViewportDepthNode.d.ts +28 -0
  276. package/three/src/nodes/display/ViewportDepthTextureNode.d.ts +9 -0
  277. package/three/src/nodes/display/ViewportNode.d.ts +25 -0
  278. package/three/src/nodes/display/ViewportSharedTextureNode.d.ts +15 -0
  279. package/three/src/nodes/display/ViewportTextureNode.d.ts +25 -0
  280. package/three/src/nodes/fog/FogExp2Node.d.ts +18 -0
  281. package/three/src/nodes/fog/FogNode.d.ts +21 -0
  282. package/three/src/nodes/fog/FogRangeNode.d.ts +19 -0
  283. package/three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +7 -0
  284. package/three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +7 -0
  285. package/three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +7 -0
  286. package/three/src/nodes/functions/BSDF/DFGApprox.d.ts +11 -0
  287. package/three/src/nodes/functions/BSDF/D_GGX.d.ts +10 -0
  288. package/three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +8 -0
  289. package/three/src/nodes/functions/BSDF/F_Schlick.d.ts +7 -0
  290. package/three/src/nodes/functions/BSDF/LTC.d.ts +7 -0
  291. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +7 -0
  292. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +7 -0
  293. package/three/src/nodes/functions/BasicLightingModel.d.ts +7 -0
  294. package/three/src/nodes/functions/PhongLightingModel.d.ts +7 -0
  295. package/three/src/nodes/functions/PhysicalLightingModel.d.ts +23 -0
  296. package/three/src/nodes/functions/ShadowMaskModel.d.ts +9 -0
  297. package/three/src/nodes/functions/ToonLightingModel.d.ts +3 -0
  298. package/three/src/nodes/functions/material/getGeometryRoughness.d.ts +6 -0
  299. package/three/src/nodes/functions/material/getRoughness.d.ts +7 -0
  300. package/three/src/nodes/geometry/RangeNode.d.ts +19 -0
  301. package/three/src/nodes/gpgpu/ComputeNode.d.ts +20 -0
  302. package/three/src/nodes/lighting/AONode.d.ts +8 -0
  303. package/three/src/nodes/lighting/AnalyticLightNode.d.ts +8 -0
  304. package/three/src/nodes/lighting/BasicEnvironmentNode.d.ts +10 -0
  305. package/three/src/nodes/lighting/BasicLightMapNode.d.ts +8 -0
  306. package/three/src/nodes/lighting/EnvironmentNode.d.ts +8 -0
  307. package/three/src/nodes/lighting/HemisphereLightNode.d.ts +13 -0
  308. package/three/src/nodes/lighting/IrradianceNode.d.ts +8 -0
  309. package/three/src/nodes/lighting/LightUtils.d.ts +5 -0
  310. package/three/src/nodes/lighting/LightingContextNode.d.ts +22 -0
  311. package/three/src/nodes/lighting/LightingNode.d.ts +7 -0
  312. package/three/src/nodes/lighting/LightsNode.d.ts +19 -0
  313. package/three/src/nodes/lighting/PointLightNode.d.ts +10 -0
  314. package/three/src/nodes/lighting/RectAreaLightNode.d.ts +21 -0
  315. package/three/src/nodes/lighting/SpotLightNode.d.ts +15 -0
  316. package/three/src/nodes/loaders/NodeLoader.d.ts +16 -0
  317. package/three/src/nodes/loaders/NodeMaterialLoader.d.ts +8 -0
  318. package/three/src/nodes/loaders/NodeObjectLoader.d.ts +10 -0
  319. package/three/src/nodes/materials/Line2NodeMaterial.d.ts +53 -0
  320. package/three/src/nodes/materials/LineBasicNodeMaterial.d.ts +21 -0
  321. package/three/src/nodes/materials/Materials.d.ts +15 -0
  322. package/three/src/nodes/materials/MeshBasicNodeMaterial.d.ts +35 -0
  323. package/three/src/nodes/materials/MeshMatcapNodeMaterial.d.ts +31 -0
  324. package/three/src/nodes/materials/MeshNormalNodeMaterial.d.ts +27 -0
  325. package/three/src/nodes/materials/MeshPhongNodeMaterial.d.ts +55 -0
  326. package/three/src/nodes/materials/MeshPhysicalNodeMaterial.d.ts +87 -0
  327. package/three/src/nodes/materials/MeshSSSNodeMaterial.d.ts +16 -0
  328. package/three/src/nodes/materials/MeshStandardNodeMaterial.d.ts +55 -0
  329. package/three/src/nodes/materials/MeshToonNodeMaterial.d.ts +41 -0
  330. package/three/src/nodes/materials/NodeMaterial.d.ts +124 -0
  331. package/three/src/nodes/materials/PointsNodeMaterial.d.ts +21 -0
  332. package/three/src/nodes/materials/ShadowNodeMaterial.d.ts +16 -0
  333. package/three/src/nodes/materials/SpriteNodeMaterial.d.ts +25 -0
  334. package/three/src/nodes/materials/VolumeNodeMaterial.d.ts +10 -0
  335. package/three/src/nodes/materialx/MaterialXNodes.d.ts +36 -0
  336. package/three/src/nodes/materialx/lib/mx_hsv.d.ts +6 -0
  337. package/three/src/nodes/materialx/lib/mx_noise.d.ts +139 -0
  338. package/three/src/nodes/materialx/lib/mx_transform_color.d.ts +4 -0
  339. package/three/src/nodes/math/CondNode.d.ts +18 -0
  340. package/three/src/nodes/math/HashNode.d.ts +16 -0
  341. package/three/src/nodes/math/MathNode.d.ts +253 -0
  342. package/three/src/nodes/math/MathUtils.d.ts +16 -0
  343. package/three/src/nodes/math/OperatorNode.d.ts +61 -0
  344. package/three/src/nodes/math/TriNoise3D.d.ts +8 -0
  345. package/three/src/nodes/pmrem/PMREMNode.d.ts +16 -0
  346. package/three/src/nodes/procedural/CheckerNode.d.ts +15 -0
  347. package/three/src/nodes/shadernode/ShaderNode.d.ts +226 -0
  348. package/three/src/nodes/utils/ArrayElementNode.d.ts +9 -0
  349. package/three/src/nodes/utils/ConvertNode.d.ts +7 -0
  350. package/three/src/nodes/utils/DiscardNode.d.ts +17 -0
  351. package/three/src/nodes/utils/EquirectUVNode.d.ts +8 -0
  352. package/three/src/nodes/utils/JoinNode.d.ts +10 -0
  353. package/three/src/nodes/utils/MatcapUVNode.d.ts +8 -0
  354. package/three/src/nodes/utils/MaxMipLevelNode.d.ts +14 -0
  355. package/three/src/nodes/utils/OscNode.d.ts +21 -0
  356. package/three/src/nodes/utils/PackingNode.d.ts +24 -0
  357. package/three/src/nodes/utils/RTTNode.d.ts +40 -0
  358. package/three/src/nodes/utils/ReflectorNode.d.ts +32 -0
  359. package/three/src/nodes/utils/RemapNode.d.ts +24 -0
  360. package/three/src/nodes/utils/RotateNode.d.ts +18 -0
  361. package/three/src/nodes/utils/RotateUVNode.d.ts +19 -0
  362. package/three/src/nodes/utils/SplitNode.d.ts +15 -0
  363. package/three/src/nodes/utils/SpriteSheetUVNode.d.ts +12 -0
  364. package/three/src/nodes/utils/StoargeArrayElementNode.d.ts +22 -0
  365. package/three/src/nodes/utils/TimerNode.d.ts +21 -0
  366. package/three/src/nodes/utils/TriplanarTexturesNode.d.ts +25 -0
  367. package/three/src/objects/BatchedMesh.d.ts +193 -0
  368. package/three/src/objects/Bone.d.ts +36 -0
  369. package/three/src/objects/Group.d.ts +43 -0
  370. package/three/src/objects/InstancedMesh.d.ts +175 -0
  371. package/three/src/objects/LOD.d.ts +104 -0
  372. package/three/src/objects/Line.d.ts +83 -0
  373. package/three/src/objects/LineLoop.d.ts +36 -0
  374. package/three/src/objects/LineSegments.d.ts +37 -0
  375. package/three/src/objects/Mesh.d.ts +90 -0
  376. package/three/src/objects/Points.d.ts +62 -0
  377. package/three/src/objects/Skeleton.d.ts +120 -0
  378. package/three/src/objects/SkinnedMesh.d.ts +156 -0
  379. package/three/src/objects/Sprite.d.ts +65 -0
  380. package/three/src/renderers/WebGL3DRenderTarget.d.ts +29 -0
  381. package/three/src/renderers/WebGLArrayRenderTarget.d.ts +29 -0
  382. package/three/src/renderers/WebGLCubeRenderTarget.d.ts +18 -0
  383. package/three/src/renderers/WebGLRenderTarget.d.ts +8 -0
  384. package/three/src/renderers/WebGLRenderer.d.ts +516 -0
  385. package/three/src/renderers/common/Animation.d.ts +13 -0
  386. package/three/src/renderers/common/Attributes.d.ts +22 -0
  387. package/three/src/renderers/common/Backend.d.ts +19 -0
  388. package/three/src/renderers/common/Background.d.ts +23 -0
  389. package/three/src/renderers/common/BindGroup.d.ts +9 -0
  390. package/three/src/renderers/common/Binding.d.ts +8 -0
  391. package/three/src/renderers/common/Bindings.d.ts +35 -0
  392. package/three/src/renderers/common/Buffer.d.ts +11 -0
  393. package/three/src/renderers/common/BufferUtils.d.ts +4 -0
  394. package/three/src/renderers/common/ChainMap.d.ts +9 -0
  395. package/three/src/renderers/common/ClippingContext.d.ts +23 -0
  396. package/three/src/renderers/common/Color4.d.ts +10 -0
  397. package/three/src/renderers/common/ComputePipeline.d.ts +8 -0
  398. package/three/src/renderers/common/Constants.d.ts +9 -0
  399. package/three/src/renderers/common/CubeRenderTarget.d.ts +10 -0
  400. package/three/src/renderers/common/DataMap.d.ts +30 -0
  401. package/three/src/renderers/common/Geometries.d.ts +31 -0
  402. package/three/src/renderers/common/Info.d.ts +34 -0
  403. package/three/src/renderers/common/Pipeline.d.ts +6 -0
  404. package/three/src/renderers/common/Pipelines.d.ts +53 -0
  405. package/three/src/renderers/common/PostProcessing.d.ts +21 -0
  406. package/three/src/renderers/common/ProgrammableStage.d.ts +10 -0
  407. package/three/src/renderers/common/QuadMesh.d.ts +14 -0
  408. package/three/src/renderers/common/RenderBundle.d.ts +9 -0
  409. package/three/src/renderers/common/RenderBundles.d.ts +11 -0
  410. package/three/src/renderers/common/RenderContext.d.ts +41 -0
  411. package/three/src/renderers/common/RenderContexts.d.ts +15 -0
  412. package/three/src/renderers/common/RenderList.d.ts +42 -0
  413. package/three/src/renderers/common/RenderLists.d.ts +11 -0
  414. package/three/src/renderers/common/RenderObject.d.ts +61 -0
  415. package/three/src/renderers/common/RenderObjects.d.ts +31 -0
  416. package/three/src/renderers/common/RenderPipeline.d.ts +8 -0
  417. package/three/src/renderers/common/Renderer.d.ts +183 -0
  418. package/three/src/renderers/common/SampledTexture.d.ts +27 -0
  419. package/three/src/renderers/common/Sampler.d.ts +11 -0
  420. package/three/src/renderers/common/StorageBufferAttribute.d.ts +7 -0
  421. package/three/src/renderers/common/StorageInstancedBufferAttribute.d.ts +8 -0
  422. package/three/src/renderers/common/StorageTexture.d.ts +5 -0
  423. package/three/src/renderers/common/Textures.d.ts +67 -0
  424. package/three/src/renderers/common/Uniform.d.ts +45 -0
  425. package/three/src/renderers/common/UniformBuffer.d.ts +6 -0
  426. package/three/src/renderers/common/UniformsGroup.d.ts +23 -0
  427. package/three/src/renderers/common/extras/PMREMGenerator.d.ts +9 -0
  428. package/three/src/renderers/common/nodes/NodeBuilderState.d.ts +19 -0
  429. package/three/src/renderers/common/nodes/NodeSampledTexture.d.ts +24 -0
  430. package/three/src/renderers/common/nodes/NodeSampler.d.ts +12 -0
  431. package/three/src/renderers/common/nodes/NodeUniform.d.ts +45 -0
  432. package/three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +10 -0
  433. package/three/src/renderers/common/nodes/Nodes.d.ts +98 -0
  434. package/three/src/renderers/shaders/ShaderChunk.d.ts +143 -0
  435. package/three/src/renderers/shaders/ShaderLib.d.ts +29 -0
  436. package/three/src/renderers/shaders/UniformsLib.d.ts +189 -0
  437. package/three/src/renderers/shaders/UniformsUtils.d.ts +14 -0
  438. package/three/src/renderers/webgl/WebGLAttributes.d.ts +21 -0
  439. package/three/src/renderers/webgl/WebGLBindingStates.d.ts +20 -0
  440. package/three/src/renderers/webgl/WebGLBufferRenderer.d.ts +12 -0
  441. package/three/src/renderers/webgl/WebGLCapabilities.d.ts +35 -0
  442. package/three/src/renderers/webgl/WebGLClipping.d.ts +26 -0
  443. package/three/src/renderers/webgl/WebGLCubeMaps.d.ts +8 -0
  444. package/three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +9 -0
  445. package/three/src/renderers/webgl/WebGLExtensions.d.ts +7 -0
  446. package/three/src/renderers/webgl/WebGLGeometries.d.ts +13 -0
  447. package/three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +10 -0
  448. package/three/src/renderers/webgl/WebGLInfo.d.ts +39 -0
  449. package/three/src/renderers/webgl/WebGLLights.d.ts +49 -0
  450. package/three/src/renderers/webgl/WebGLObjects.d.ts +6 -0
  451. package/three/src/renderers/webgl/WebGLProgram.d.ts +30 -0
  452. package/three/src/renderers/webgl/WebGLPrograms.d.ts +218 -0
  453. package/three/src/renderers/webgl/WebGLProperties.d.ts +8 -0
  454. package/three/src/renderers/webgl/WebGLRenderLists.d.ts +52 -0
  455. package/three/src/renderers/webgl/WebGLShader.d.ts +1 -0
  456. package/three/src/renderers/webgl/WebGLShadowMap.d.ts +38 -0
  457. package/three/src/renderers/webgl/WebGLState.d.ts +71 -0
  458. package/three/src/renderers/webgl/WebGLTextures.d.ts +22 -0
  459. package/three/src/renderers/webgl/WebGLUniforms.d.ts +12 -0
  460. package/three/src/renderers/webgl/WebGLUniformsGroups.d.ts +17 -0
  461. package/three/src/renderers/webgl/WebGLUtils.d.ts +8 -0
  462. package/three/src/renderers/webgl-fallback/WebGLBackend.d.ts +14 -0
  463. package/three/src/renderers/webgpu/WebGPUBackend.d.ts +21 -0
  464. package/three/src/renderers/webgpu/WebGPURenderer.d.ts +10 -0
  465. package/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +75 -0
  466. package/three/src/renderers/webgpu/nodes/WGSLNodeFunction.d.ts +6 -0
  467. package/three/src/renderers/webgpu/nodes/WGSLNodeParser.d.ts +6 -0
  468. package/three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +328 -0
  469. package/three/src/renderers/webxr/WebXRController.d.ts +63 -0
  470. package/three/src/renderers/webxr/WebXRDepthSensing.d.ts +22 -0
  471. package/three/src/renderers/webxr/WebXRManager.d.ts +87 -0
  472. package/three/src/scenes/Fog.d.ts +77 -0
  473. package/three/src/scenes/FogExp2.d.ts +66 -0
  474. package/three/src/scenes/Scene.d.ts +118 -0
  475. package/three/src/textures/CanvasTexture.d.ts +34 -0
  476. package/three/src/textures/CompressedArrayTexture.d.ts +61 -0
  477. package/three/src/textures/CompressedCubeTexture.d.ts +9 -0
  478. package/three/src/textures/CompressedTexture.d.ts +74 -0
  479. package/three/src/textures/CubeTexture.d.ts +82 -0
  480. package/three/src/textures/Data3DTexture.d.ts +96 -0
  481. package/three/src/textures/DataArrayTexture.d.ts +123 -0
  482. package/three/src/textures/DataTexture.d.ts +92 -0
  483. package/three/src/textures/DepthTexture.d.ts +85 -0
  484. package/three/src/textures/FramebufferTexture.d.ts +62 -0
  485. package/three/src/textures/Source.d.ts +75 -0
  486. package/three/src/textures/Texture.d.ts +445 -0
  487. package/three/src/textures/VideoTexture.d.ts +73 -0
  488. package/three/src/textures/types.d.ts +9 -0
  489. package/three/src/utils.d.ts +3 -0
  490. package/three/three.webgpu.d.ts +1 -0
  491. package/three.webgpu.d.ts +1 -0
@@ -0,0 +1,118 @@
1
+ import { JSONMeta, Object3D, Object3DJSON, Object3DJSONObject } from '../core/Object3D.js';
2
+ import { Material } from '../materials/Material.js';
3
+ import { Color } from '../math/Color.js';
4
+ import { Euler, EulerTuple } from '../math/Euler.js';
5
+ import { CubeTexture } from '../textures/CubeTexture.js';
6
+ import { Texture } from '../textures/Texture.js';
7
+ import { Fog, FogJSON } from './Fog.js';
8
+ import { FogExp2, FogExp2JSON } from './FogExp2.js';
9
+
10
+ export interface SceneJSONObject extends Object3DJSONObject {
11
+ fog?: FogJSON | FogExp2JSON;
12
+
13
+ backgroundBlurriness?: number;
14
+ backgroundIntensity?: number;
15
+ backgroundRotation: EulerTuple;
16
+
17
+ environmentIntensity?: number;
18
+ environmentRotation: EulerTuple;
19
+ }
20
+
21
+ export interface SceneJSON extends Object3DJSON {
22
+ object: SceneJSONObject;
23
+ }
24
+
25
+ /**
26
+ * Scenes allow you to set up what and where is to be rendered by three.js
27
+ * @remarks
28
+ * This is where you place objects, lights and cameras.
29
+ * @see Example: {@link https://threejs.org/examples/#webgl_multiple_scenes_comparison | webgl multiple scenes comparison}
30
+ * @see {@link https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene | Manual: Creating a scene}
31
+ * @see {@link https://threejs.org/docs/index.html#api/en/scenes/Scene | Official Documentation}
32
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/scenes/Scene.js | Source}
33
+ */
34
+ export class Scene extends Object3D {
35
+ /**
36
+ * Create a new {@link Scene} object.
37
+ */
38
+ constructor();
39
+
40
+ /**
41
+ * Read-only flag to check if a given object is of type {@link Scene}.
42
+ * @remarks This is a _constant_ value
43
+ * @defaultValue `true`
44
+ */
45
+ readonly isScene: true;
46
+
47
+ /**
48
+ * @defaultValue `Scene`
49
+ */
50
+ type: 'Scene';
51
+
52
+ /**
53
+ * A {@link Fog | fog} instance defining the type of fog that affects everything rendered in the scene.
54
+ * @defaultValue `null`
55
+ */
56
+ fog: Fog | FogExp2 | null;
57
+
58
+ /**
59
+ * Sets the blurriness of the background. Only influences environment maps assigned to {@link THREE.Scene.background | Scene.background}.
60
+ * @defaultValue `0`
61
+ * @remarks Expects a `Float` between `0` and `1`.
62
+ */
63
+ backgroundBlurriness: number;
64
+
65
+ /**
66
+ * Attenuates the color of the background. Only applies to background textures.
67
+ * @defaultValue `1`
68
+ * @remarks Expects a `Float`
69
+ */
70
+ backgroundIntensity: number;
71
+
72
+ /**
73
+ * Forces everything in the {@link Scene} to be rendered with the defined material.
74
+ * @defaultValue `null`
75
+ */
76
+ overrideMaterial: Material | null;
77
+
78
+ /**
79
+ * Defines the background of the scene.
80
+ * @remarks Valid inputs are:
81
+ * - A {@link THREE.Color | Color} for defining a uniform colored background.
82
+ * - A {@link THREE.Texture | Texture} for defining a (flat) textured background.
83
+ * - Texture cubes ({@link THREE.CubeTexture | CubeTexture}) or equirectangular textures for defining a skybox.</li>
84
+ * @defaultValue `null`
85
+ */
86
+ background: Color | Texture | CubeTexture | null;
87
+
88
+ /**
89
+ * The rotation of the background in radians. Only influences environment maps assigned to {@link .background}.
90
+ * Default is `(0,0,0)`.
91
+ */
92
+ backgroundRotation: Euler;
93
+
94
+ /**
95
+ * Sets the environment map for all physical materials in the scene.
96
+ * However, it's not possible to overwrite an existing texture assigned to {@link THREE.MeshStandardMaterial.envMap | MeshStandardMaterial.envMap}.
97
+ * @defaultValue `null`
98
+ */
99
+ environment: Texture | null;
100
+
101
+ /**
102
+ * Attenuates the color of the environment. Only influences environment maps assigned to {@link Scene.environment}.
103
+ * @default 1
104
+ */
105
+ environmentIntensity: number;
106
+
107
+ /**
108
+ * The rotation of the environment map in radians. Only influences physical materials in the scene when
109
+ * {@link .environment} is used. Default is `(0,0,0)`.
110
+ */
111
+ environmentRotation: Euler;
112
+
113
+ /**
114
+ * Convert the {@link Scene} to three.js {@link https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 | JSON Object/Scene format}.
115
+ * @param meta Object containing metadata such as textures or images for the scene.
116
+ */
117
+ toJSON(meta?: JSONMeta): SceneJSON;
118
+ }
@@ -0,0 +1,34 @@
1
+ import { MagnificationTextureFilter, Mapping, MinificationTextureFilter, PixelFormat, TextureDataType, Wrapping } from '../constants.js';
2
+ import { OffscreenCanvas, Texture } from './Texture.js';
3
+
4
+ /**
5
+ * Creates a texture from a {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas | canvas element}.
6
+ * @remarks
7
+ * This is almost the same as the base {@link Texture | Texture} class,
8
+ * except that it sets {@link Texture.needsUpdate | needsUpdate} to `true` immediately.
9
+ * @see {@link THREE.Texture | Texture}
10
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/CanvasTexture | Official Documentation}
11
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/CanvasTexture.js | Source}
12
+ */
13
+ export class CanvasTexture extends Texture {
14
+ /**
15
+ * This creates a new {@link THREE.CanvasTexture | CanvasTexture} object.
16
+ * @param canvas The HTML canvas element from which to load the texture.
17
+ * @param mapping See {@link Texture.mapping | .mapping}. Default {@link THREE.Texture.DEFAULT_MAPPING}
18
+ * @param wrapS See {@link Texture.wrapS | .wrapS}. Default {@link THREE.ClampToEdgeWrapping}
19
+ * @param wrapT See {@link Texture.wrapT | .wrapT}. Default {@link THREE.ClampToEdgeWrapping}
20
+ * @param magFilter See {@link Texture.magFilter | .magFilter}. Default {@link THREE.LinearFilter}
21
+ * @param minFilter See {@link Texture.minFilter | .minFilter}. Default {@link THREE.LinearMipmapLinearFilter}
22
+ * @param format See {@link Texture.format | .format}. Default {@link THREE.RGBAFormat}
23
+ * @param type See {@link Texture.type | .type}. Default {@link THREE.UnsignedByteType}
24
+ * @param anisotropy See {@link Texture.anisotropy | .anisotropy}. Default {@link THREE.Texture.DEFAULT_ANISOTROPY}
25
+ */
26
+ constructor(canvas: TexImageSource | OffscreenCanvas, mapping?: Mapping, wrapS?: Wrapping, wrapT?: Wrapping, magFilter?: MagnificationTextureFilter, minFilter?: MinificationTextureFilter, format?: PixelFormat, type?: TextureDataType, anisotropy?: number);
27
+
28
+ /**
29
+ * Read-only flag to check if a given object is of type {@link CanvasTexture}.
30
+ * @remarks This is a _constant_ value
31
+ * @defaultValue `true`
32
+ */
33
+ readonly isCanvasTexture: true;
34
+ }
@@ -0,0 +1,61 @@
1
+ import { CompressedPixelFormat, TextureDataType, Wrapping } from '../constants.js';
2
+ import { CompressedTexture, CompressedTextureMipmap } from './CompressedTexture.js';
3
+
4
+ /**
5
+ * Creates an texture 2D array based on data in compressed form, for example from a
6
+ * {@link https://en.wikipedia.org/wiki/DirectDraw_Surface | DDS} file.
7
+ * @remarks For use with the {@link THREE.CompressedTextureLoader | CompressedTextureLoader}.
8
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/CompressedArrayTexture | Official Documentation}
9
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/CompressedArrayTexture.js | Source}
10
+ */
11
+ export class CompressedArrayTexture extends CompressedTexture {
12
+ /**
13
+ * Read-only flag to check if a given object is of type {@link CompressedArrayTexture}.
14
+ * @remarks This is a _constant_ value
15
+ * @defaultValue `true`
16
+ */
17
+ readonly isCompressedArrayTexture: true;
18
+
19
+ /**
20
+ * Overridden with a object containing width and height.
21
+ * @override
22
+ */
23
+ get image(): { width: number; height: number; depth: number };
24
+ set image(value: { width: number; height: number; depth: number });
25
+
26
+ /**
27
+ * This defines how the texture is wrapped in the depth direction.
28
+ * @see {@link https://threejs.org/docs/index.html#api/en/constants/Textures | Texture Constants}
29
+ * @defaultValue {@link THREE.ClampToEdgeWrapping}
30
+ */
31
+ wrapR: Wrapping;
32
+
33
+ /**
34
+ * A set of all layers which need to be updated in the texture. See {@link CompressedArrayTexture.addLayerUpdate}.
35
+ */
36
+ layerUpdates: Set<number>;
37
+
38
+ /**
39
+ * Create a new instance of {@link CompressedArrayTexture}
40
+ * @param mipmaps The mipmaps array should contain objects with data, width and height. The mipmaps should be of the
41
+ * correct format and type.
42
+ * @param width The width of the biggest mipmap.
43
+ * @param height The height of the biggest mipmap.
44
+ * @param depth The number of layers of the 2D array texture
45
+ * @param format The format used in the mipmaps. See {@link THREE.CompressedPixelFormat}.
46
+ * @param type See {@link Texture.type | .type}. Default {@link THREE.UnsignedByteType}
47
+ */
48
+ constructor(mipmaps: CompressedTextureMipmap[], width: number, height: number, depth: number, format: CompressedPixelFormat, type?: TextureDataType);
49
+
50
+ /**
51
+ * Describes that a specific layer of the texture needs to be updated. Normally when {@link Texture.needsUpdate} is
52
+ * set to true, the entire compressed texture array is sent to the GPU. Marking specific layers will only transmit
53
+ * subsets of all mipmaps associated with a specific depth in the array which is often much more performant.
54
+ */
55
+ addLayerUpdate(layerIndex: number): void;
56
+
57
+ /**
58
+ * Resets the layer updates registry. See {@link CompressedArrayTexture.addLayerUpdate}.
59
+ */
60
+ clearLayoutUpdates(): void;
61
+ }
@@ -0,0 +1,9 @@
1
+ import { CompressedPixelFormat, TextureDataType } from '../constants.js';
2
+ import { CompressedTexture } from './CompressedTexture.js';
3
+
4
+ export class CompressedCubeTexture extends CompressedTexture {
5
+ readonly isCompressedCubeTexture: true;
6
+ readonly isCubeTexture: true;
7
+
8
+ constructor(images: Array<{ width: number; height: number }>, format?: CompressedPixelFormat, type?: TextureDataType);
9
+ }
@@ -0,0 +1,74 @@
1
+ import { ColorSpace, CompressedPixelFormat, MagnificationTextureFilter, Mapping, MinificationTextureFilter, TextureDataType, Wrapping } from '../constants.js';
2
+ import { TypedArray } from '../core/BufferAttribute.js';
3
+ import { Texture } from './Texture.js';
4
+
5
+ export interface CompressedTextureMipmap {
6
+ data: TypedArray;
7
+ width: number;
8
+ height: number;
9
+ }
10
+
11
+ /**
12
+ * Creates a texture based on data in compressed form, for example from a {@link https://en.wikipedia.org/wiki/DirectDraw_Surface | DDS} file.
13
+ * @remarks For use with the {@link THREE.CompressedTextureLoader | CompressedTextureLoader}.
14
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/CompressedTexture | Official Documentation}
15
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/CompressedTexture.js | Source}
16
+ */
17
+ export class CompressedTexture extends Texture {
18
+ /**
19
+ * This creates a new {@link THREE.CompressedTexture | CompressedTexture} object.
20
+ * @param mipmaps The mipmaps array should contain objects with data, width and height. The mipmaps should be of the
21
+ * correct format and type.
22
+ * @param width The width of the biggest mipmap.
23
+ * @param height The height of the biggest mipmap.
24
+ * @param format The format used in the mipmaps. See {@link THREE.CompressedPixelFormat}.
25
+ * @param type See {@link Texture.type | .type}. Default {@link THREE.UnsignedByteType}
26
+ * @param mapping See {@link Texture.mapping | .mapping}. Default {@link THREE.Texture.DEFAULT_MAPPING}
27
+ * @param wrapS See {@link Texture.wrapS | .wrapS}. Default {@link THREE.ClampToEdgeWrapping}
28
+ * @param wrapT See {@link Texture.wrapT | .wrapT}. Default {@link THREE.ClampToEdgeWrapping}
29
+ * @param magFilter See {@link Texture.magFilter | .magFilter}. Default {@link THREE.LinearFilter}
30
+ * @param minFilter See {@link Texture.minFilter | .minFilter}. Default {@link THREE.LinearMipmapLinearFilter}
31
+ * @param anisotropy See {@link Texture.anisotropy | .anisotropy}. Default {@link THREE.Texture.DEFAULT_ANISOTROPY}
32
+ * @param colorSpace See {@link Texture.colorSpace .colorSpace}. Default {@link NoColorSpace}
33
+ */
34
+ constructor(mipmaps?: CompressedTextureMipmap[], width?: number, height?: number, format?: CompressedPixelFormat, type?: TextureDataType, mapping?: Mapping, wrapS?: Wrapping, wrapT?: Wrapping, magFilter?: MagnificationTextureFilter, minFilter?: MinificationTextureFilter, anisotropy?: number, colorSpace?: ColorSpace);
35
+
36
+ /**
37
+ * Read-only flag to check if a given object is of type {@link CompressedTexture}.
38
+ * @remarks This is a _constant_ value
39
+ * @defaultValue `true`
40
+ */
41
+ readonly isCompressedTexture: true;
42
+
43
+ /**
44
+ * Overridden with a object containing width and height.
45
+ * @override
46
+ */
47
+ get image(): { width: number; height: number };
48
+ set image(value: { width: number; height: number });
49
+
50
+ /**
51
+ * The mipmaps array should contain objects with data, width and height. The mipmaps should be of the correct
52
+ * format and type.
53
+ */
54
+ mipmaps: CompressedTextureMipmap[] | undefined;
55
+
56
+ /**
57
+ * @override
58
+ * @see {@link https://threejs.org/docs/index.html#api/en/constants/Textures | Texture Constants}
59
+ * @see {@link THREE.CompressedPixelFormat}
60
+ */
61
+ format: CompressedPixelFormat;
62
+
63
+ /**
64
+ * @override No flipping for cube textures. (also flipping doesn't work for compressed textures)
65
+ * @defaultValue `false`
66
+ */
67
+ flipY: boolean;
68
+
69
+ /**
70
+ * @override Can't generate mipmaps for compressed textures. mips must be embedded in DDS files
71
+ * @defaultValue `false`
72
+ */
73
+ generateMipmaps: boolean;
74
+ }
@@ -0,0 +1,82 @@
1
+ import { ColorSpace, CubeTextureMapping, MagnificationTextureFilter, MinificationTextureFilter, PixelFormat, TextureDataType, Wrapping } from '../constants.js';
2
+ import { Texture } from './Texture.js';
3
+
4
+ /**
5
+ * Creates a cube texture made up of six images.
6
+ * @remarks
7
+ * {@link CubeTexture} is almost equivalent in functionality and usage to {@link Texture}.
8
+ * The only differences are that the images are an array of _6_ images as opposed to a single image,
9
+ * and the mapping options are {@link THREE.CubeReflectionMapping} (default) or {@link THREE.CubeRefractionMapping}
10
+ * @example
11
+ * ```typescript
12
+ * const loader = new THREE.CubeTextureLoader();
13
+ * loader.setPath('textures/cube/pisa/');
14
+ * const textureCube = loader.load(['px.png', 'nx.png', 'py.png', 'ny.png', 'pz.png', 'nz.png']);
15
+ * const material = new THREE.MeshBasicMaterial({
16
+ * color: 0xffffff,
17
+ * envMap: textureCube
18
+ * });
19
+ * ```
20
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/CubeTexture | Official Documentation}
21
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/CubeTexture.js | Source}
22
+ */
23
+ export class CubeTexture extends Texture {
24
+ /**
25
+ * This creates a new {@link THREE.CubeTexture | CubeTexture} object.
26
+ * @param images
27
+ * @param mapping See {@link CubeTexture.mapping | .mapping}. Default {@link THREE.CubeReflectionMapping}
28
+ * @param wrapS See {@link Texture.wrapS | .wrapS}. Default {@link THREE.ClampToEdgeWrapping}
29
+ * @param wrapT See {@link Texture.wrapT | .wrapT}. Default {@link THREE.ClampToEdgeWrapping}
30
+ * @param magFilter See {@link Texture.magFilter | .magFilter}. Default {@link THREE.LinearFilter}
31
+ * @param minFilter See {@link Texture.minFilter | .minFilter}. Default {@link THREE.LinearMipmapLinearFilter}
32
+ * @param format See {@link Texture.format | .format}. Default {@link THREE.RGBAFormat}
33
+ * @param type See {@link Texture.type | .type}. Default {@link THREE.UnsignedByteType}
34
+ * @param anisotropy See {@link Texture.anisotropy | .anisotropy}. Default {@link THREE.Texture.DEFAULT_ANISOTROPY}
35
+ * @param colorSpace See {@link Texture.colorSpace | .colorSpace}. Default {@link NoColorSpace}
36
+ */
37
+ constructor(
38
+ images?: any[], // HTMLImageElement or HTMLCanvasElement
39
+ mapping?: CubeTextureMapping,
40
+ wrapS?: Wrapping,
41
+ wrapT?: Wrapping,
42
+ magFilter?: MagnificationTextureFilter,
43
+ minFilter?: MinificationTextureFilter,
44
+ format?: PixelFormat,
45
+ type?: TextureDataType,
46
+ anisotropy?: number,
47
+ colorSpace?: ColorSpace
48
+ );
49
+
50
+ /**
51
+ * Read-only flag to check if a given object is of type {@link CubeTexture}.
52
+ * @remarks This is a _constant_ value
53
+ * @defaultValue `true`
54
+ */
55
+ readonly isCubeTexture: true;
56
+
57
+ /**
58
+ * An image object, typically created using the {@link THREE.CubeTextureLoader.load | CubeTextureLoader.load()} method.
59
+ * @see {@link Texture.image}
60
+ */
61
+ get image(): any;
62
+ set image(data: any);
63
+
64
+ /**
65
+ * An image object, typically created using the {@link THREE.CubeTextureLoader.load | CubeTextureLoader.load()} method.
66
+ * @see {@link Texture.image}
67
+ */
68
+ get images(): any;
69
+ set images(data: any);
70
+
71
+ /**
72
+ * @inheritDoc
73
+ * @defaultValue {@link THREE.CubeReflectionMapping}
74
+ */
75
+ mapping: CubeTextureMapping;
76
+
77
+ /**
78
+ * @inheritDoc
79
+ * @defaultValue `false`
80
+ */
81
+ flipY: boolean;
82
+ }
@@ -0,0 +1,96 @@
1
+ import { MagnificationTextureFilter, MinificationTextureFilter, Wrapping } from '../constants.js';
2
+ import { Texture } from './Texture.js';
3
+ import { Texture3DImageData } from './types.js';
4
+
5
+ /**
6
+ * Creates a three-dimensional texture from raw data, with parameters to divide it into width, height, and depth
7
+ * @example
8
+ * ```typescript
9
+ * This creates a[name] with repeating data, 0 to 255
10
+ * // create a buffer with some data
11
+ * const sizeX = 64;
12
+ * const sizeY = 64;
13
+ * const sizeZ = 64;
14
+ * const data = new Uint8Array(sizeX * sizeY * sizeZ);
15
+ * let i = 0;
16
+ * for (let z = 0; z & lt; sizeZ; z++) {
17
+ * for (let y = 0; y & lt; sizeY; y++) {
18
+ * for (let x = 0; x & lt; sizeX; x++) {
19
+ * data[i] = i % 256;
20
+ * i++;
21
+ * }
22
+ * }
23
+ * }
24
+ * // use the buffer to create the texture
25
+ * const texture = new THREE.Data3DTexture(data, sizeX, sizeY, sizeZ);
26
+ * texture.needsUpdate = true;
27
+ * ```
28
+ * @see Example: {@link https://threejs.org/examples/#webgl2_materials_texture3d | WebGL2 / materials / texture3d}
29
+ * @see Example: {@link https://threejs.org/examples/#webgl2_materials_texture3d_partialupdate | WebGL2 / materials / texture3d / partialupdate}
30
+ * @see Example: {@link https://threejs.org/examples/#webgl2_volume_cloud | WebGL2 / volume / cloud}
31
+ * @see Example: {@link https://threejs.org/examples/#webgl2_volume_perlin | WebGL2 / volume / perlin}
32
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/Data3DTexture | Official Documentation}
33
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/Data3DTexture.js | Source}
34
+ */
35
+ export class Data3DTexture extends Texture {
36
+ /**
37
+ * Create a new instance of {@link Data3DTexture}
38
+ * @param data {@link https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView | ArrayBufferView} of the texture. Default `null`.
39
+ * @param width Width of the texture. Default `1`.
40
+ * @param height Height of the texture. Default `1`.
41
+ * @param depth Depth of the texture. Default `1`.
42
+ */
43
+ constructor(data?: BufferSource | null, width?: number, height?: number, depth?: number);
44
+
45
+ /**
46
+ * Read-only flag to check if a given object is of type {@link Data3DTexture}.
47
+ * @remarks This is a _constant_ value
48
+ * @defaultValue `true`
49
+ */
50
+ readonly isData3DTexture: true;
51
+
52
+ /**
53
+ * Overridden with a record type holding data, width and height and depth.
54
+ * @override
55
+ */
56
+ get image(): Texture3DImageData;
57
+ set image(data: Texture3DImageData);
58
+
59
+ /**
60
+ * @override
61
+ * @defaultValue {@link THREE.NearestFilter}
62
+ */
63
+ magFilter: MagnificationTextureFilter;
64
+
65
+ /**
66
+ * @override
67
+ * @defaultValue {@link THREE.NearestFilter}
68
+ */
69
+ minFilter: MinificationTextureFilter;
70
+
71
+ /**
72
+ * @override
73
+ * @defaultValue {@link THREE.ClampToEdgeWrapping}
74
+ */
75
+ wrapR: Wrapping;
76
+
77
+ /**
78
+ * @override
79
+ * @defaultValue `false`
80
+ */
81
+ flipY: boolean;
82
+
83
+ /**
84
+ * @override
85
+ * @defaultValue `false`
86
+ */
87
+ generateMipmaps: boolean;
88
+
89
+ /**
90
+ * @override
91
+ * @defaultValue `1`
92
+ */
93
+ unpackAlignment: number;
94
+ }
95
+
96
+ export {};
@@ -0,0 +1,123 @@
1
+ import { MagnificationTextureFilter, MinificationTextureFilter } from '../constants.js';
2
+ import { Texture } from './Texture.js';
3
+ import { Texture3DImageData } from './types.js';
4
+
5
+ /**
6
+ * Creates an array of textures directly from raw data, width and height and depth
7
+ * @example
8
+ * ```typescript
9
+ * This creates a[name] where each texture has a different color.
10
+ * // create a buffer with color data
11
+ * const width = 512;
12
+ * const height = 512;
13
+ * const depth = 100;
14
+ * const size = width * height;
15
+ * const data = new Uint8Array(4 * size * depth);
16
+ * for (let i = 0; i & lt; depth; i++) {
17
+ * const color = new THREE.Color(Math.random(), Math.random(), Math.random());
18
+ * const r = Math.floor(color.r * 255);
19
+ * const g = Math.floor(color.g * 255);
20
+ * const b = Math.floor(color.b * 255);
21
+ * for (let j = 0; j & lt; size; j++) {
22
+ * const stride = (i * size + j) * 4;
23
+ * data[stride] = r;
24
+ * data[stride + 1] = g;
25
+ * data[stride + 2] = b;
26
+ * data[stride + 3] = 255;
27
+ * }
28
+ * }
29
+ * // used the buffer to create a [name]
30
+ * const texture = new THREE.DataArrayTexture(data, width, height, depth);
31
+ * texture.needsUpdate = true;
32
+ * ```
33
+ * @see Example: {@link https://threejs.org/examples/#webgl2_materials_texture2darray | WebGL2 / materials / texture2darray}
34
+ * @see Example: {@link https://threejs.org/examples/#webgl2_rendertarget_texture2darray | WebGL2 / rendertarget / texture2darray}
35
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/DataArrayTexture | Official Documentation}
36
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/DataArrayTexture.js | Source}
37
+ */
38
+ export class DataArrayTexture extends Texture {
39
+ /**
40
+ * Read-only flag to check if a given object is of type {@link DataArrayTexture}.
41
+ * @remarks This is a _constant_ value
42
+ * @defaultValue `true`
43
+ */
44
+ readonly isDataArrayTexture: true;
45
+
46
+ /**
47
+ * Overridden with a record type holding data, width and height and depth.
48
+ * @override
49
+ */
50
+ get image(): Texture3DImageData;
51
+ set image(data: Texture3DImageData);
52
+
53
+ /**
54
+ * @override
55
+ * @defaultValue {@link THREE.NearestFilter}
56
+ */
57
+ magFilter: MagnificationTextureFilter;
58
+
59
+ /**
60
+ * @override
61
+ * @defaultValue {@link THREE.NearestFilter}
62
+ */
63
+ minFilter: MinificationTextureFilter;
64
+
65
+ /**
66
+ * @override
67
+ * @defaultValue {@link THREE.ClampToEdgeWrapping}
68
+ */
69
+ wrapR: boolean;
70
+
71
+ /**
72
+ * @override
73
+ * @defaultValue `false`
74
+ */
75
+ generateMipmaps: boolean;
76
+
77
+ /**
78
+ * @override
79
+ * @defaultValue `false`
80
+ */
81
+ flipY: boolean;
82
+
83
+ /**
84
+ * @override
85
+ * @defaultValue `1`
86
+ */
87
+ unpackAlignment: number;
88
+
89
+ /**
90
+ * A set of all layers which need to be updated in the texture. See {@link DataArrayTexture.addLayerUpdate}.
91
+ */
92
+ layerUpdates: Set<number>;
93
+
94
+ /**
95
+ * This creates a new {@link THREE.DataArrayTexture | DataArrayTexture} object.
96
+ * @remarks The interpretation of the data depends on {@link format} and {@link type}.
97
+ * @remarks If the {@link type} is {@link THREE.UnsignedByteType}, a {@link Uint8Array} will be useful for addressing the texel data
98
+ * @remarks If the {@link format} is {@link THREE.RGBAFormat}, data needs four values for one texel; Red, Green, Blue and Alpha (typically the opacity).
99
+ * @remarks For the packed {@link type | types}, {@link THREE.UnsignedShort4444Type} and {@link THREE.UnsignedShort5551Type}
100
+ * all color components of one texel can be addressed as bitfields within an integer element of a {@link Uint16Array}.
101
+ * @remarks In order to use the {@link type | types} {@link THREE.FloatType} and {@link THREE.HalfFloatType},
102
+ * the WebGL implementation must support the respective extensions _OES_texture_float_ and _OES_texture_half_float_
103
+ * @remarks In order to use {@link THREE.LinearFilter} for component-wise, bilinear interpolation of the texels based on these types,
104
+ * the WebGL extensions _OES_texture_float_linear_ or _OES_texture_half_float_linear_ must also be present.
105
+ * @param data {@link https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView | ArrayBufferView} of the texture. Default `null`.
106
+ * @param width Width of the texture. Default `1`.
107
+ * @param height Height of the texture. Default `1`.
108
+ * @param depth Depth of the texture. Default `1`.
109
+ */
110
+ constructor(data?: BufferSource | null, width?: number, height?: number, depth?: number);
111
+
112
+ /**
113
+ * Describes that a specific layer of the texture needs to be updated. Normally when {@link Texture.needsUpdate} is
114
+ * set to true, the entire compressed texture array is sent to the GPU. Marking specific layers will only transmit
115
+ * subsets of all mipmaps associated with a specific depth in the array which is often much more performant.
116
+ */
117
+ addLayerUpdate(layerIndex: number): void;
118
+
119
+ /**
120
+ * Resets the layer updates registry. See {@link DataArrayTexture.addLayerUpdate}.
121
+ */
122
+ clearLayoutUpdates(): void;
123
+ }