@nativescript/canvas-three 2.0.0-webgpu.25 → 2.0.0-webgpu.27

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 (492) hide show
  1. package/package.json +2 -3
  2. package/three/src/Three.Legacy.d.ts +20 -0
  3. package/three/src/Three.WebGPU.d.ts +195 -0
  4. package/three/src/Three.d.ts +213 -0
  5. package/three/src/animation/AnimationAction.d.ts +86 -0
  6. package/three/src/animation/AnimationClip.d.ts +59 -0
  7. package/three/src/animation/AnimationMixer.d.ts +39 -0
  8. package/three/src/animation/AnimationObjectGroup.d.ts +17 -0
  9. package/three/src/animation/AnimationUtils.d.ts +60 -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 +174 -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 +926 -0
  31. package/three/src/core/BufferAttribute.d.ts +637 -0
  32. package/three/src/core/BufferGeometry.d.ts +422 -0
  33. package/three/src/core/Clock.d.ts +72 -0
  34. package/three/src/core/EventDispatcher.d.ts +85 -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 +672 -0
  43. package/three/src/core/Raycaster.d.ts +207 -0
  44. package/three/src/core/RenderTarget.d.ts +96 -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 +32 -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 +42 -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 +166 -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 +41 -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 +115 -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 +59 -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 +64 -0
  74. package/three/src/geometries/CylinderGeometry.d.ts +64 -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 +152 -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 +59 -0
  85. package/three/src/geometries/ShapeGeometry.d.ts +53 -0
  86. package/three/src/geometries/SphereGeometry.d.ts +67 -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 +59 -0
  90. package/three/src/geometries/TubeGeometry.d.ts +86 -0
  91. package/three/src/geometries/WireframeGeometry.d.ts +40 -0
  92. package/three/src/helpers/ArrowHelper.d.ts +93 -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 +55 -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 +164 -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 +14 -0
  123. package/three/src/loaders/CubeTextureLoader.d.ts +14 -0
  124. package/three/src/loaders/DataTextureLoader.d.ts +14 -0
  125. package/three/src/loaders/FileLoader.d.ts +19 -0
  126. package/three/src/loaders/ImageBitmapLoader.d.ts +22 -0
  127. package/three/src/loaders/ImageLoader.d.ts +17 -0
  128. package/three/src/loaders/Loader.d.ts +50 -0
  129. package/three/src/loaders/LoaderUtils.d.ts +10 -0
  130. package/three/src/loaders/LoadingManager.d.ts +69 -0
  131. package/three/src/loaders/MaterialLoader.d.ts +19 -0
  132. package/three/src/loaders/ObjectLoader.d.ts +35 -0
  133. package/three/src/loaders/TextureLoader.d.ts +18 -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 +627 -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 +167 -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 +49 -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 +137 -0
  163. package/three/src/math/Matrix2.d.ts +53 -0
  164. package/three/src/math/Matrix3.d.ts +184 -0
  165. package/three/src/math/Matrix4.d.ts +284 -0
  166. package/three/src/math/Plane.d.ts +47 -0
  167. package/three/src/math/Quaternion.d.ts +188 -0
  168. package/three/src/math/Ray.d.ts +60 -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 +86 -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 +421 -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 +53 -0
  185. package/three/src/nodes/accessors/BufferNode.d.ts +17 -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 +34 -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 +13 -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 +27 -0
  199. package/three/src/nodes/accessors/ReflectVectorNode.d.ts +9 -0
  200. package/three/src/nodes/accessors/RendererReferenceNode.d.ts +15 -0
  201. package/three/src/nodes/accessors/SkinningNode.d.ts +20 -0
  202. package/three/src/nodes/accessors/StorageBufferNode.d.ts +38 -0
  203. package/three/src/nodes/accessors/StorageTextureNode.d.ts +40 -0
  204. package/three/src/nodes/accessors/TangentNode.d.ts +12 -0
  205. package/three/src/nodes/accessors/Texture3DNode.d.ts +17 -0
  206. package/three/src/nodes/accessors/TextureBicubicNode.d.ts +18 -0
  207. package/three/src/nodes/accessors/TextureNode.d.ts +47 -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 +15 -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 +25 -0
  215. package/three/src/nodes/code/FunctionNode.d.ts +39 -0
  216. package/three/src/nodes/core/AssignNode.d.ts +18 -0
  217. package/three/src/nodes/core/AttributeNode.d.ts +19 -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 +114 -0
  227. package/three/src/nodes/core/NodeAttribute.d.ts +9 -0
  228. package/three/src/nodes/core/NodeBuilder.d.ts +143 -0
  229. package/three/src/nodes/core/NodeCache.d.ts +52 -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 +21 -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 +23 -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 +31 -0
  253. package/three/src/nodes/display/BlendModeNode.d.ts +47 -0
  254. package/three/src/nodes/display/BloomNode.d.ts +35 -0
  255. package/three/src/nodes/display/ColorAdjustmentNode.d.ts +47 -0
  256. package/three/src/nodes/display/ColorSpaceNode.d.ts +35 -0
  257. package/three/src/nodes/display/DenoiseNode.d.ts +38 -0
  258. package/three/src/nodes/display/DepthOfFieldNode.d.ts +30 -0
  259. package/three/src/nodes/display/DotScreenNode.d.ts +27 -0
  260. package/three/src/nodes/display/FXAANode.d.ts +19 -0
  261. package/three/src/nodes/display/FilmNode.d.ts +25 -0
  262. package/three/src/nodes/display/FrontFacingNode.d.ts +10 -0
  263. package/three/src/nodes/display/GTAONode.d.ts +46 -0
  264. package/three/src/nodes/display/GaussianBlurNode.d.ts +31 -0
  265. package/three/src/nodes/display/Lut3DNode.d.ts +30 -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 +67 -0
  269. package/three/src/nodes/display/PosterizeNode.d.ts +20 -0
  270. package/three/src/nodes/display/RGBShiftNode.d.ts +24 -0
  271. package/three/src/nodes/display/RenderOutputNode.d.ts +28 -0
  272. package/three/src/nodes/display/SobelOperatorNode.d.ts +17 -0
  273. package/three/src/nodes/display/ToneMappingNode.d.ts +33 -0
  274. package/three/src/nodes/display/TransitionNode.d.ts +41 -0
  275. package/three/src/nodes/display/ViewportDepthNode.d.ts +30 -0
  276. package/three/src/nodes/display/ViewportDepthTextureNode.d.ts +12 -0
  277. package/three/src/nodes/display/ViewportNode.d.ts +31 -0
  278. package/three/src/nodes/display/ViewportSharedTextureNode.d.ts +18 -0
  279. package/three/src/nodes/display/ViewportTextureNode.d.ts +33 -0
  280. package/three/src/nodes/fog/FogExp2Node.d.ts +18 -0
  281. package/three/src/nodes/fog/FogNode.d.ts +24 -0
  282. package/three/src/nodes/fog/FogRangeNode.d.ts +23 -0
  283. package/three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +15 -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 +10 -0
  289. package/three/src/nodes/functions/BSDF/F_Schlick.d.ts +7 -0
  290. package/three/src/nodes/functions/BSDF/LTC.d.ts +9 -0
  291. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +11 -0
  292. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +16 -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 +30 -0
  296. package/three/src/nodes/functions/ShadowMaskModel.d.ts +9 -0
  297. package/three/src/nodes/functions/ToonLightingModel.d.ts +4 -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 +24 -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 +9 -0
  310. package/three/src/nodes/lighting/LightingContextNode.d.ts +27 -0
  311. package/three/src/nodes/lighting/LightingNode.d.ts +7 -0
  312. package/three/src/nodes/lighting/LightsNode.d.ts +22 -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 +22 -0
  321. package/three/src/nodes/materials/Materials.d.ts +15 -0
  322. package/three/src/nodes/materials/MeshBasicNodeMaterial.d.ts +36 -0
  323. package/three/src/nodes/materials/MeshMatcapNodeMaterial.d.ts +32 -0
  324. package/three/src/nodes/materials/MeshNormalNodeMaterial.d.ts +28 -0
  325. package/three/src/nodes/materials/MeshPhongNodeMaterial.d.ts +56 -0
  326. package/three/src/nodes/materials/MeshPhysicalNodeMaterial.d.ts +90 -0
  327. package/three/src/nodes/materials/MeshSSSNodeMaterial.d.ts +16 -0
  328. package/three/src/nodes/materials/MeshStandardNodeMaterial.d.ts +56 -0
  329. package/three/src/nodes/materials/MeshToonNodeMaterial.d.ts +42 -0
  330. package/three/src/nodes/materials/NodeMaterial.d.ts +124 -0
  331. package/three/src/nodes/materials/PointsNodeMaterial.d.ts +22 -0
  332. package/three/src/nodes/materials/ShadowNodeMaterial.d.ts +17 -0
  333. package/three/src/nodes/materials/SpriteNodeMaterial.d.ts +26 -0
  334. package/three/src/nodes/materials/VolumeNodeMaterial.d.ts +10 -0
  335. package/three/src/nodes/materialx/MaterialXNodes.d.ts +107 -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 +359 -0
  338. package/three/src/nodes/materialx/lib/mx_transform_color.d.ts +4 -0
  339. package/three/src/nodes/math/CondNode.d.ts +22 -0
  340. package/three/src/nodes/math/HashNode.d.ts +16 -0
  341. package/three/src/nodes/math/MathNode.d.ts +273 -0
  342. package/three/src/nodes/math/MathUtils.d.ts +16 -0
  343. package/three/src/nodes/math/OperatorNode.d.ts +83 -0
  344. package/three/src/nodes/math/TriNoise3D.d.ts +12 -0
  345. package/three/src/nodes/pmrem/PMREMNode.d.ts +20 -0
  346. package/three/src/nodes/procedural/CheckerNode.d.ts +15 -0
  347. package/three/src/nodes/shadernode/ShaderNode.d.ts +273 -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 +25 -0
  356. package/three/src/nodes/utils/PackingNode.d.ts +24 -0
  357. package/three/src/nodes/utils/RTTNode.d.ts +45 -0
  358. package/three/src/nodes/utils/ReflectorNode.d.ts +32 -0
  359. package/three/src/nodes/utils/RemapNode.d.ts +36 -0
  360. package/three/src/nodes/utils/RotateNode.d.ts +21 -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 +16 -0
  364. package/three/src/nodes/utils/StoargeArrayElementNode.d.ts +25 -0
  365. package/three/src/nodes/utils/TimerNode.d.ts +25 -0
  366. package/three/src/nodes/utils/TriplanarTexturesNode.d.ts +42 -0
  367. package/three/src/objects/BatchedMesh.d.ts +197 -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 +179 -0
  371. package/three/src/objects/LOD.d.ts +104 -0
  372. package/three/src/objects/Line.d.ts +87 -0
  373. package/three/src/objects/LineLoop.d.ts +40 -0
  374. package/three/src/objects/LineSegments.d.ts +41 -0
  375. package/three/src/objects/Mesh.d.ts +94 -0
  376. package/three/src/objects/Points.d.ts +66 -0
  377. package/three/src/objects/Skeleton.d.ts +120 -0
  378. package/three/src/objects/SkinnedMesh.d.ts +160 -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 +562 -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 +42 -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 +20 -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 +68 -0
  405. package/three/src/renderers/common/PostProcessing.d.ts +21 -0
  406. package/three/src/renderers/common/ProgrammableStage.d.ts +15 -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 +66 -0
  413. package/three/src/renderers/common/RenderLists.d.ts +11 -0
  414. package/three/src/renderers/common/RenderObject.d.ts +76 -0
  415. package/three/src/renderers/common/RenderObjects.d.ts +62 -0
  416. package/three/src/renderers/common/RenderPipeline.d.ts +8 -0
  417. package/three/src/renderers/common/Renderer.d.ts +277 -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 +32 -0
  427. package/three/src/renderers/common/extras/PMREMGenerator.d.ts +9 -0
  428. package/three/src/renderers/common/nodes/NodeBuilderState.d.ts +30 -0
  429. package/three/src/renderers/common/nodes/NodeSampledTexture.d.ts +29 -0
  430. package/three/src/renderers/common/nodes/NodeSampler.d.ts +12 -0
  431. package/three/src/renderers/common/nodes/NodeUniform.d.ts +68 -0
  432. package/three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +10 -0
  433. package/three/src/renderers/common/nodes/Nodes.d.ts +108 -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 +26 -0
  440. package/three/src/renderers/webgl/WebGLBufferRenderer.d.ts +21 -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 +15 -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 +239 -0
  453. package/three/src/renderers/webgl/WebGLProperties.d.ts +8 -0
  454. package/three/src/renderers/webgl/WebGLRenderLists.d.ts +66 -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 +116 -0
  458. package/three/src/renderers/webgl/WebGLTextures.d.ts +30 -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 +11 -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 +125 -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 +51 -0
  476. package/three/src/textures/CompressedArrayTexture.d.ts +68 -0
  477. package/three/src/textures/CompressedCubeTexture.d.ts +13 -0
  478. package/three/src/textures/CompressedTexture.d.ts +95 -0
  479. package/three/src/textures/CubeTexture.d.ts +90 -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 +113 -0
  483. package/three/src/textures/DepthTexture.d.ts +104 -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 +477 -0
  487. package/three/src/textures/VideoTexture.d.ts +90 -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
  492. package/three.webgpu.js +0 -1
@@ -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
+ }
@@ -0,0 +1,113 @@
1
+ import {
2
+ ColorSpace,
3
+ MagnificationTextureFilter,
4
+ Mapping,
5
+ MinificationTextureFilter,
6
+ PixelFormat,
7
+ TextureDataType,
8
+ Wrapping,
9
+ } from "../constants.js";
10
+ import { Texture } from "./Texture.js";
11
+ import { TextureImageData } from "./types.js";
12
+
13
+ /**
14
+ * Creates a texture directly from raw data, width and height.
15
+ * @example
16
+ * ```typescript
17
+ * // create a buffer with color data
18
+ * const width = 512;
19
+ * const height = 512;
20
+ * const size = width * height;
21
+ * const data = new Uint8Array(4 * size);
22
+ * const color = new THREE.Color(0xffffff);
23
+ * const r = Math.floor(color.r * 255);
24
+ * const g = Math.floor(color.g * 255);
25
+ * const b = Math.floor(color.b * 255);
26
+ * for (let i = 0; i & lt; size; i++) {
27
+ * const stride = i * 4;
28
+ * data[stride] = r;
29
+ * data[stride + 1] = g;
30
+ * data[stride + 2] = b;
31
+ * data[stride + 3] = 255;
32
+ * }
33
+ * // used the buffer to create a [name]
34
+ * const texture = new THREE.DataTexture(data, width, height);
35
+ * texture.needsUpdate = true;
36
+ * ```
37
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/DataTexture | Official Documentation}
38
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/DataTexture.js | Source}
39
+ */
40
+ export class DataTexture extends Texture {
41
+ /**
42
+ * @param data {@link https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView | ArrayBufferView} of the texture. Default `null`.
43
+ * @param width Width of the texture. Default `1`.
44
+ * @param height Height of the texture. Default `1`.
45
+ * @param format See {@link Texture.format | .format}. Default {@link THREE.RGBAFormat}
46
+ * @param type See {@link Texture.type | .type}. Default {@link THREE.UnsignedByteType}
47
+ * @param mapping See {@link Texture.mapping | .mapping}. Default {@link THREE.Texture.DEFAULT_MAPPING}
48
+ * @param wrapS See {@link Texture.wrapS | .wrapS}. Default {@link THREE.ClampToEdgeWrapping}
49
+ * @param wrapT See {@link Texture.wrapT | .wrapT}. Default {@link THREE.ClampToEdgeWrapping}
50
+ * @param magFilter See {@link Texture.magFilter | .magFilter}. Default {@link THREE.NearestFilter}
51
+ * @param minFilter See {@link Texture.minFilter | .minFilter}. Default {@link THREE.NearestFilter}
52
+ * @param anisotropy See {@link Texture.anisotropy | .anisotropy}. Default {@link THREE.Texture.DEFAULT_ANISOTROPY}
53
+ * @param colorSpace See {@link Texture.colorSpace | .colorSpace}. Default {@link NoColorSpace}
54
+ */
55
+ constructor(
56
+ data?: BufferSource | null,
57
+ width?: number,
58
+ height?: number,
59
+ format?: PixelFormat,
60
+ type?: TextureDataType,
61
+ mapping?: Mapping,
62
+ wrapS?: Wrapping,
63
+ wrapT?: Wrapping,
64
+ magFilter?: MagnificationTextureFilter,
65
+ minFilter?: MinificationTextureFilter,
66
+ anisotropy?: number,
67
+ colorSpace?: ColorSpace,
68
+ );
69
+
70
+ /**
71
+ * Read-only flag to check if a given object is of type {@link DataTexture}.
72
+ * @remarks This is a _constant_ value
73
+ * @defaultValue `true`
74
+ */
75
+ readonly isDataTexture: true;
76
+
77
+ /**
78
+ * Overridden with a record type holding data, width and height and depth.
79
+ * @override
80
+ */
81
+ get image(): TextureImageData;
82
+ set image(value: TextureImageData);
83
+
84
+ /**
85
+ * @override
86
+ * @defaultValue {@link THREE.NearestFilter}
87
+ */
88
+ magFilter: MagnificationTextureFilter;
89
+
90
+ /**
91
+ * @override
92
+ * @defaultValue {@link THREE.NearestFilter}
93
+ */
94
+ minFilter: MinificationTextureFilter;
95
+
96
+ /**
97
+ * @override
98
+ * @defaultValue `false`
99
+ */
100
+ flipY: boolean;
101
+
102
+ /**
103
+ * @override
104
+ * @defaultValue `false`
105
+ */
106
+ generateMipmaps: boolean;
107
+
108
+ /**
109
+ * @override
110
+ * @defaultValue `1`
111
+ */
112
+ unpackAlignment: number;
113
+ }
@@ -0,0 +1,104 @@
1
+ import {
2
+ DepthTexturePixelFormat,
3
+ MagnificationTextureFilter,
4
+ Mapping,
5
+ MinificationTextureFilter,
6
+ TextureComparisonFunction,
7
+ TextureDataType,
8
+ Wrapping,
9
+ } from "../constants.js";
10
+ import { Texture } from "./Texture.js";
11
+
12
+ /**
13
+ * This class can be used to automatically save the depth information of a rendering into a texture
14
+ * @see Example: {@link https://threejs.org/examples/#webgl_depth_texture | depth / texture}
15
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/DepthTexture | Official Documentation}
16
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/DepthTexture.js | Source}
17
+ */
18
+ export class DepthTexture extends Texture {
19
+ /**
20
+ * Create a new instance of {@link DepthTexture}
21
+ * @param width Width of the texture.
22
+ * @param height Height of the texture.
23
+ * @param type See {@link Texture.type | .type}. Default {@link THREE.UnsignedByteType} or {@link THREE.UnsignedInt248Type}
24
+ * @param mapping See {@link Texture.mapping | .mapping}. Default {@link THREE.Texture.DEFAULT_MAPPING}
25
+ * @param wrapS See {@link Texture.wrapS | .wrapS}. Default {@link THREE.ClampToEdgeWrapping}
26
+ * @param wrapT See {@link Texture.wrapT | .wrapT}. Default {@link THREE.ClampToEdgeWrapping}
27
+ * @param magFilter See {@link Texture.magFilter | .magFilter}. Default {@link THREE.NearestFilter}
28
+ * @param minFilter See {@link Texture.minFilter | .minFilter}. Default {@link THREE.NearestFilter}
29
+ * @param anisotropy See {@link Texture.anisotropy | .anisotropy}. Default {@link THREE.Texture.DEFAULT_ANISOTROPY}
30
+ * @param format See {@link DepthTexture.format | .format}. Default {@link THREE.DepthFormat}
31
+ */
32
+ constructor(
33
+ width: number,
34
+ height: number,
35
+ type?: TextureDataType,
36
+ mapping?: Mapping,
37
+ wrapS?: Wrapping,
38
+ wrapT?: Wrapping,
39
+ magFilter?: MagnificationTextureFilter,
40
+ minFilter?: MinificationTextureFilter,
41
+ anisotropy?: number,
42
+ format?: DepthTexturePixelFormat,
43
+ );
44
+
45
+ /**
46
+ * Read-only flag to check if a given object is of type {@link DepthTexture}.
47
+ * @remarks This is a _constant_ value
48
+ * @defaultValue `true`
49
+ */
50
+ readonly isDepthTexture: true;
51
+
52
+ /**
53
+ * Overridden with a record type holding width and height.
54
+ * @override
55
+ */
56
+ get image(): { width: number; height: number };
57
+ set image(value: { width: number; height: number });
58
+
59
+ /**
60
+ * @override
61
+ * @defaultValue `false`
62
+ */
63
+ flipY: boolean;
64
+
65
+ /**
66
+ * @override
67
+ * @defaultValue {@link THREE.NearestFilter}
68
+ */
69
+ magFilter: MagnificationTextureFilter;
70
+
71
+ /**
72
+ * @override
73
+ * @defaultValue {@link THREE.NearestFilter}
74
+ */
75
+ minFilter: MinificationTextureFilter;
76
+
77
+ /**
78
+ * @override Depth textures do not use mipmaps.
79
+ * @defaultValue `false`
80
+ */
81
+ generateMipmaps: boolean;
82
+
83
+ /**
84
+ * @override
85
+ * @see {@link Texture.format | Texture.format}
86
+ * @defaultValue {@link THREE.DepthFormat}.
87
+ */
88
+ format: DepthTexturePixelFormat;
89
+
90
+ /**
91
+ * @override
92
+ * @defaultValue {@link THREE.UnsignedByteType} when {@link format | .format} === {@link THREE.DepthFormat}
93
+ * @defaultValue {@link THREE.UnsignedInt248Type} when {@link format | .format} === {@link THREE.DepthStencilFormat}
94
+ */
95
+ type: TextureDataType;
96
+
97
+ /**
98
+ * This is used to define the comparison function used when comparing texels in the depth texture to the value in
99
+ * the depth buffer. Default is `null` which means comparison is disabled.
100
+ *
101
+ * See {@link THREE.TextureComparisonFunction} for functions.
102
+ */
103
+ compareFunction: TextureComparisonFunction | null;
104
+ }
@@ -0,0 +1,62 @@
1
+ import { MagnificationTextureFilter, MinificationTextureFilter } from "../constants.js";
2
+ import { Texture } from "./Texture.js";
3
+
4
+ /**
5
+ * This class can only be used in combination with {@link THREE.WebGLRenderer.copyFramebufferToTexture | WebGLRenderer.copyFramebufferToTexture()}.
6
+ * @example
7
+ * ```typescript
8
+ * const pixelRatio = window.devicePixelRatio;
9
+ * const textureSize = 128 * pixelRatio;
10
+ *
11
+ * // instantiate a framebuffer texture
12
+ * const frameTexture = new FramebufferTexture( textureSize, textureSize, RGBAFormat );
13
+ *
14
+ * // calculate start position for copying part of the frame data
15
+ * const vector = new Vector2();
16
+ * vector.x = ( window.innerWidth * pixelRatio / 2 ) - ( textureSize / 2 );
17
+ * vector.y = ( window.innerHeight * pixelRatio / 2 ) - ( textureSize / 2 );
18
+ *
19
+ * // render the scene
20
+ * renderer.clear();
21
+ * renderer.render( scene, camera );
22
+ *
23
+ * // copy part of the rendered frame into the framebuffer texture
24
+ * renderer.copyFramebufferToTexture( frameTexture, vector );
25
+ * ```
26
+ * @see Example: {@link https://threejs.org/examples/#webgl_framebuffer_texture | webgl_framebuffer_texture}
27
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/FramebufferTexture | Official Documentation}
28
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/FramebufferTexture.js | Source}
29
+ */
30
+ export class FramebufferTexture extends Texture {
31
+ /**
32
+ * Create a new instance of {@link FramebufferTexture}
33
+ * @param width The width of the texture.
34
+ * @param height The height of the texture.
35
+ */
36
+ constructor(width: number, height: number);
37
+
38
+ /**
39
+ * Read-only flag to check if a given object is of type {@link FramebufferTexture}.
40
+ * @remarks This is a _constant_ value
41
+ * @defaultValue `true`
42
+ */
43
+ readonly isFramebufferTexture: true;
44
+
45
+ /**
46
+ * @override
47
+ * @defaultValue {@link THREE.NearestFilter}
48
+ */
49
+ magFilter: MagnificationTextureFilter;
50
+
51
+ /**
52
+ * @override
53
+ * @defaultValue {@link THREE.NearestFilter}
54
+ */
55
+ minFilter: MinificationTextureFilter;
56
+
57
+ /**
58
+ * @override
59
+ * @defaultValue `false`
60
+ */
61
+ generateMipmaps: boolean;
62
+ }
@@ -0,0 +1,75 @@
1
+ export type SerializedImage =
2
+ | string
3
+ | {
4
+ data: number[];
5
+ width: number;
6
+ height: number;
7
+ type: string;
8
+ };
9
+
10
+ export class SourceJSON {
11
+ uuid: string;
12
+ url: SerializedImage | SerializedImage[];
13
+ }
14
+
15
+ /**
16
+ * Represents the data {@link Source} of a texture.
17
+ * @see {@link https://threejs.org/docs/index.html#api/en/textures/Source | Official Documentation}
18
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/Source.js | Source}
19
+ */
20
+ export class Source {
21
+ /**
22
+ * Create a new instance of {@link Source}
23
+ * @param data The data definition of a texture. Default `null`
24
+ */
25
+ constructor(data: any);
26
+
27
+ /**
28
+ * Flag to check if a given object is of type {@link Source}.
29
+ * @remarks This is a _constant_ value
30
+ * @defaultValue `true`
31
+ */
32
+ readonly isSource: true;
33
+
34
+ readonly id: number;
35
+
36
+ /**
37
+ * The actual data of a texture.
38
+ * @remarks The type of this property depends on the texture that uses this instance.
39
+ */
40
+ data: any;
41
+
42
+ /**
43
+ * This property is only relevant when {@link .needsUpdate} is set to `true` and provides more control on how
44
+ * texture data should be processed.
45
+ * When `dataReady` is set to `false`, the engine performs the memory allocation (if necessary) but does not
46
+ * transfer the data into the GPU memory.
47
+ * @default true
48
+ */
49
+ dataReady: boolean;
50
+
51
+ /**
52
+ * When the property is set to `true`, the engine allocates the memory for the texture (if necessary) and triggers
53
+ * the actual texture upload to the GPU next time the source is used.
54
+ */
55
+ set needsUpdate(value: boolean);
56
+
57
+ /**
58
+ * {@link http://en.wikipedia.org/wiki/Universally_unique_identifier | UUID} of this object instance.
59
+ * @remarks This gets automatically assigned and shouldn't be edited.
60
+ */
61
+ uuid: string;
62
+
63
+ /**
64
+ * This starts at `0` and counts how many times {@link needsUpdate | .needsUpdate} is set to `true`.
65
+ * @remarks Expects a `Integer`
66
+ * @defaultValue `0`
67
+ */
68
+ version: number;
69
+
70
+ /**
71
+ * Convert the data {@link Source} to three.js {@link https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 | JSON Object/Scene format}.
72
+ * @param meta Optional object containing metadata.
73
+ */
74
+ toJSON(meta?: string | {}): SourceJSON;
75
+ }