@nativescript/canvas-three 2.0.0-webgpu.3 → 2.0.0-webgpu.30

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 (495) hide show
  1. package/index.d.ts +2 -1
  2. package/index.js +3 -2
  3. package/index.js.map +1 -1
  4. package/package.json +2 -3
  5. package/three/src/Three.Legacy.d.ts +20 -0
  6. package/three/src/Three.WebGPU.d.ts +180 -0
  7. package/three/src/Three.d.ts +189 -0
  8. package/three/src/animation/AnimationAction.d.ts +86 -0
  9. package/three/src/animation/AnimationClip.d.ts +50 -0
  10. package/three/src/animation/AnimationMixer.d.ts +35 -0
  11. package/three/src/animation/AnimationObjectGroup.d.ts +17 -0
  12. package/three/src/animation/AnimationUtils.d.ts +40 -0
  13. package/three/src/animation/KeyframeTrack.d.ts +55 -0
  14. package/three/src/animation/PropertyBinding.d.ts +43 -0
  15. package/three/src/animation/PropertyMixer.d.ts +17 -0
  16. package/three/src/animation/tracks/BooleanKeyframeTrack.d.ts +10 -0
  17. package/three/src/animation/tracks/ColorKeyframeTrack.d.ts +11 -0
  18. package/three/src/animation/tracks/NumberKeyframeTrack.d.ts +11 -0
  19. package/three/src/animation/tracks/QuaternionKeyframeTrack.d.ts +11 -0
  20. package/three/src/animation/tracks/StringKeyframeTrack.d.ts +10 -0
  21. package/three/src/animation/tracks/VectorKeyframeTrack.d.ts +11 -0
  22. package/three/src/audio/Audio.d.ts +270 -0
  23. package/three/src/audio/AudioAnalyser.d.ts +58 -0
  24. package/three/src/audio/AudioContext.d.ts +19 -0
  25. package/three/src/audio/AudioListener.d.ts +96 -0
  26. package/three/src/audio/PositionalAudio.d.ts +101 -0
  27. package/three/src/cameras/ArrayCamera.d.ts +32 -0
  28. package/three/src/cameras/Camera.d.ts +74 -0
  29. package/three/src/cameras/CubeCamera.d.ts +68 -0
  30. package/three/src/cameras/OrthographicCamera.d.ts +167 -0
  31. package/three/src/cameras/PerspectiveCamera.d.ts +254 -0
  32. package/three/src/cameras/StereoCamera.d.ts +50 -0
  33. package/three/src/constants.d.ts +802 -0
  34. package/three/src/core/BufferAttribute.d.ts +592 -0
  35. package/three/src/core/BufferGeometry.d.ts +417 -0
  36. package/three/src/core/Clock.d.ts +72 -0
  37. package/three/src/core/EventDispatcher.d.ts +74 -0
  38. package/three/src/core/GLBufferAttribute.d.ts +121 -0
  39. package/three/src/core/InstancedBufferAttribute.d.ts +32 -0
  40. package/three/src/core/InstancedBufferGeometry.d.ts +37 -0
  41. package/three/src/core/InstancedInterleavedBuffer.d.ts +22 -0
  42. package/three/src/core/InterleavedBuffer.d.ts +162 -0
  43. package/three/src/core/InterleavedBufferAttribute.d.ts +201 -0
  44. package/three/src/core/Layers.d.ts +72 -0
  45. package/three/src/core/Object3D.d.ts +644 -0
  46. package/three/src/core/Raycaster.d.ts +199 -0
  47. package/three/src/core/RenderTarget.d.ts +89 -0
  48. package/three/src/core/Uniform.d.ts +38 -0
  49. package/three/src/core/UniformsGroup.d.ts +33 -0
  50. package/three/src/extras/DataUtils.d.ts +22 -0
  51. package/three/src/extras/Earcut.d.ts +15 -0
  52. package/three/src/extras/ImageUtils.d.ts +30 -0
  53. package/three/src/extras/PMREMGenerator.d.ts +82 -0
  54. package/three/src/extras/ShapeUtils.d.ts +25 -0
  55. package/three/src/extras/TextureUtils.d.ts +37 -0
  56. package/three/src/extras/core/Curve.d.ts +162 -0
  57. package/three/src/extras/core/CurvePath.d.ts +77 -0
  58. package/three/src/extras/core/Interpolations.d.ts +36 -0
  59. package/three/src/extras/core/Path.d.ts +148 -0
  60. package/three/src/extras/core/Shape.d.ts +86 -0
  61. package/three/src/extras/core/ShapePath.d.ts +98 -0
  62. package/three/src/extras/curves/ArcCurve.d.ts +34 -0
  63. package/three/src/extras/curves/CatmullRomCurve3.d.ts +77 -0
  64. package/three/src/extras/curves/CubicBezierCurve.d.ts +72 -0
  65. package/three/src/extras/curves/CubicBezierCurve3.d.ts +72 -0
  66. package/three/src/extras/curves/Curves.d.ts +10 -0
  67. package/three/src/extras/curves/EllipseCurve.d.ts +106 -0
  68. package/three/src/extras/curves/LineCurve.d.ts +42 -0
  69. package/three/src/extras/curves/LineCurve3.d.ts +42 -0
  70. package/three/src/extras/curves/QuadraticBezierCurve.d.ts +64 -0
  71. package/three/src/extras/curves/QuadraticBezierCurve3.d.ts +64 -0
  72. package/three/src/extras/curves/SplineCurve.d.ts +52 -0
  73. package/three/src/geometries/BoxGeometry.d.ts +52 -0
  74. package/three/src/geometries/CapsuleGeometry.d.ts +48 -0
  75. package/three/src/geometries/CircleGeometry.d.ts +51 -0
  76. package/three/src/geometries/ConeGeometry.d.ts +56 -0
  77. package/three/src/geometries/CylinderGeometry.d.ts +55 -0
  78. package/three/src/geometries/DodecahedronGeometry.d.ts +25 -0
  79. package/three/src/geometries/EdgesGeometry.d.ts +41 -0
  80. package/three/src/geometries/ExtrudeGeometry.d.ts +139 -0
  81. package/three/src/geometries/Geometries.d.ts +21 -0
  82. package/three/src/geometries/IcosahedronGeometry.d.ts +26 -0
  83. package/three/src/geometries/LatheGeometry.d.ts +55 -0
  84. package/three/src/geometries/OctahedronGeometry.d.ts +25 -0
  85. package/three/src/geometries/PlaneGeometry.d.ts +48 -0
  86. package/three/src/geometries/PolyhedronGeometry.d.ts +54 -0
  87. package/three/src/geometries/RingGeometry.d.ts +52 -0
  88. package/three/src/geometries/ShapeGeometry.d.ts +53 -0
  89. package/three/src/geometries/SphereGeometry.d.ts +59 -0
  90. package/three/src/geometries/TetrahedronGeometry.d.ts +25 -0
  91. package/three/src/geometries/TorusGeometry.d.ts +49 -0
  92. package/three/src/geometries/TorusKnotGeometry.d.ts +52 -0
  93. package/three/src/geometries/TubeGeometry.d.ts +80 -0
  94. package/three/src/geometries/WireframeGeometry.d.ts +40 -0
  95. package/three/src/helpers/ArrowHelper.d.ts +86 -0
  96. package/three/src/helpers/AxesHelper.d.ts +50 -0
  97. package/three/src/helpers/Box3Helper.d.ts +44 -0
  98. package/three/src/helpers/BoxHelper.d.ts +64 -0
  99. package/three/src/helpers/CameraHelper.d.ts +80 -0
  100. package/three/src/helpers/DirectionalLightHelper.d.ts +81 -0
  101. package/three/src/helpers/GridHelper.d.ts +47 -0
  102. package/three/src/helpers/HemisphereLightHelper.d.ts +72 -0
  103. package/three/src/helpers/PlaneHelper.d.ts +50 -0
  104. package/three/src/helpers/PointLightHelper.d.ts +73 -0
  105. package/three/src/helpers/PolarGridHelper.d.ts +48 -0
  106. package/three/src/helpers/SkeletonHelper.d.ts +78 -0
  107. package/three/src/helpers/SpotLightHelper.d.ts +77 -0
  108. package/three/src/lights/AmbientLight.d.ts +36 -0
  109. package/three/src/lights/DirectionalLight.d.ts +103 -0
  110. package/three/src/lights/DirectionalLightShadow.d.ts +73 -0
  111. package/three/src/lights/HemisphereLight.d.ts +61 -0
  112. package/three/src/lights/Light.d.ts +82 -0
  113. package/three/src/lights/LightProbe.d.ts +47 -0
  114. package/three/src/lights/LightShadow.d.ts +169 -0
  115. package/three/src/lights/PointLight.d.ts +102 -0
  116. package/three/src/lights/PointLightShadow.d.ts +22 -0
  117. package/three/src/lights/RectAreaLight.d.ts +82 -0
  118. package/three/src/lights/SpotLight.d.ts +157 -0
  119. package/three/src/lights/SpotLightShadow.d.ts +72 -0
  120. package/three/src/lights/webgpu/IESSpotLight.d.ts +6 -0
  121. package/three/src/loaders/AnimationLoader.d.ts +9 -0
  122. package/three/src/loaders/AudioLoader.d.ts +6 -0
  123. package/three/src/loaders/BufferGeometryLoader.d.ts +10 -0
  124. package/three/src/loaders/Cache.d.ts +21 -0
  125. package/three/src/loaders/CompressedTextureLoader.d.ts +9 -0
  126. package/three/src/loaders/CubeTextureLoader.d.ts +9 -0
  127. package/three/src/loaders/DataTextureLoader.d.ts +9 -0
  128. package/three/src/loaders/FileLoader.d.ts +14 -0
  129. package/three/src/loaders/ImageBitmapLoader.d.ts +17 -0
  130. package/three/src/loaders/ImageLoader.d.ts +12 -0
  131. package/three/src/loaders/Loader.d.ts +45 -0
  132. package/three/src/loaders/LoaderUtils.d.ts +10 -0
  133. package/three/src/loaders/LoadingManager.d.ts +65 -0
  134. package/three/src/loaders/MaterialLoader.d.ts +19 -0
  135. package/three/src/loaders/ObjectLoader.d.ts +25 -0
  136. package/three/src/loaders/TextureLoader.d.ts +13 -0
  137. package/three/src/materials/LineBasicMaterial.d.ts +60 -0
  138. package/three/src/materials/LineDashedMaterial.d.ts +40 -0
  139. package/three/src/materials/Material.d.ts +608 -0
  140. package/three/src/materials/Materials.d.ts +18 -0
  141. package/three/src/materials/MeshBasicMaterial.d.ts +139 -0
  142. package/three/src/materials/MeshDepthMaterial.d.ts +76 -0
  143. package/three/src/materials/MeshDistanceMaterial.d.ts +62 -0
  144. package/three/src/materials/MeshLambertMaterial.d.ts +204 -0
  145. package/three/src/materials/MeshMatcapMaterial.d.ts +117 -0
  146. package/three/src/materials/MeshNormalMaterial.d.ts +93 -0
  147. package/three/src/materials/MeshPhongMaterial.d.ts +228 -0
  148. package/three/src/materials/MeshPhysicalMaterial.d.ts +236 -0
  149. package/three/src/materials/MeshStandardMaterial.d.ts +218 -0
  150. package/three/src/materials/MeshToonMaterial.d.ts +178 -0
  151. package/three/src/materials/PointsMaterial.d.ts +61 -0
  152. package/three/src/materials/RawShaderMaterial.d.ts +14 -0
  153. package/three/src/materials/ShaderMaterial.d.ts +175 -0
  154. package/three/src/materials/ShadowMaterial.d.ts +39 -0
  155. package/three/src/materials/SpriteMaterial.d.ts +66 -0
  156. package/three/src/math/Box2.d.ts +48 -0
  157. package/three/src/math/Box3.d.ts +66 -0
  158. package/three/src/math/Color.d.ts +358 -0
  159. package/three/src/math/ColorManagement.d.ts +37 -0
  160. package/three/src/math/Cylindrical.d.ts +26 -0
  161. package/three/src/math/Euler.d.ts +50 -0
  162. package/three/src/math/Frustum.d.ts +30 -0
  163. package/three/src/math/Interpolant.d.ts +10 -0
  164. package/three/src/math/Line3.d.ts +29 -0
  165. package/three/src/math/MathUtils.d.ts +131 -0
  166. package/three/src/math/Matrix2.d.ts +48 -0
  167. package/three/src/math/Matrix3.d.ts +154 -0
  168. package/three/src/math/Matrix4.d.ts +217 -0
  169. package/three/src/math/Plane.d.ts +47 -0
  170. package/three/src/math/Quaternion.d.ts +173 -0
  171. package/three/src/math/Ray.d.ts +55 -0
  172. package/three/src/math/Sphere.d.ts +47 -0
  173. package/three/src/math/Spherical.d.ts +27 -0
  174. package/three/src/math/SphericalHarmonics3.d.ts +50 -0
  175. package/three/src/math/Triangle.d.ts +54 -0
  176. package/three/src/math/Vector2.d.ts +321 -0
  177. package/three/src/math/Vector3.d.ts +301 -0
  178. package/three/src/math/Vector4.d.ts +239 -0
  179. package/three/src/math/interpolants/CubicInterpolant.d.ts +7 -0
  180. package/three/src/math/interpolants/DiscreteInterpolant.d.ts +7 -0
  181. package/three/src/math/interpolants/LinearInterpolant.d.ts +7 -0
  182. package/three/src/math/interpolants/QuaternionLinearInterpolant.d.ts +7 -0
  183. package/three/src/nodes/Nodes.d.ts +231 -0
  184. package/three/src/nodes/accessors/AccessorsUtils.d.ts +9 -0
  185. package/three/src/nodes/accessors/BatchNode.d.ts +14 -0
  186. package/three/src/nodes/accessors/BitangentNode.d.ts +9 -0
  187. package/three/src/nodes/accessors/BufferAttributeNode.d.ts +28 -0
  188. package/three/src/nodes/accessors/BufferNode.d.ts +13 -0
  189. package/three/src/nodes/accessors/CameraNode.d.ts +15 -0
  190. package/three/src/nodes/accessors/ClippingNode.d.ts +16 -0
  191. package/three/src/nodes/accessors/CubeTextureNode.d.ts +24 -0
  192. package/three/src/nodes/accessors/InstanceNode.d.ts +13 -0
  193. package/three/src/nodes/accessors/MaterialNode.d.ts +130 -0
  194. package/three/src/nodes/accessors/MaterialReferenceNode.d.ts +9 -0
  195. package/three/src/nodes/accessors/ModelNode.d.ts +20 -0
  196. package/three/src/nodes/accessors/ModelViewProjectionNode.d.ts +8 -0
  197. package/three/src/nodes/accessors/NormalNode.d.ts +12 -0
  198. package/three/src/nodes/accessors/Object3DNode.d.ts +26 -0
  199. package/three/src/nodes/accessors/PointUVNode.d.ts +10 -0
  200. package/three/src/nodes/accessors/PositionNode.d.ts +9 -0
  201. package/three/src/nodes/accessors/ReferenceNode.d.ts +22 -0
  202. package/three/src/nodes/accessors/ReflectVectorNode.d.ts +9 -0
  203. package/three/src/nodes/accessors/RendererReferenceNode.d.ts +11 -0
  204. package/three/src/nodes/accessors/SkinningNode.d.ts +20 -0
  205. package/three/src/nodes/accessors/StorageBufferNode.d.ts +26 -0
  206. package/three/src/nodes/accessors/StorageTextureNode.d.ts +28 -0
  207. package/three/src/nodes/accessors/TangentNode.d.ts +12 -0
  208. package/three/src/nodes/accessors/Texture3DNode.d.ts +13 -0
  209. package/three/src/nodes/accessors/TextureBicubicNode.d.ts +18 -0
  210. package/three/src/nodes/accessors/TextureNode.d.ts +37 -0
  211. package/three/src/nodes/accessors/UVNode.d.ts +4 -0
  212. package/three/src/nodes/accessors/UniformsNode.d.ts +23 -0
  213. package/three/src/nodes/accessors/UserDataNode.d.ts +11 -0
  214. package/three/src/nodes/accessors/VertexColorNode.d.ts +12 -0
  215. package/three/src/nodes/code/CodeNode.d.ts +23 -0
  216. package/three/src/nodes/code/ExpressionNode.d.ts +9 -0
  217. package/three/src/nodes/code/FunctionCallNode.d.ts +22 -0
  218. package/three/src/nodes/code/FunctionNode.d.ts +38 -0
  219. package/three/src/nodes/core/AssignNode.d.ts +18 -0
  220. package/three/src/nodes/core/AttributeNode.d.ts +15 -0
  221. package/three/src/nodes/core/BypassNode.d.ts +18 -0
  222. package/three/src/nodes/core/CacheNode.d.ts +20 -0
  223. package/three/src/nodes/core/ConstNode.d.ts +9 -0
  224. package/three/src/nodes/core/ContextNode.d.ts +21 -0
  225. package/three/src/nodes/core/IndexNode.d.ts +20 -0
  226. package/three/src/nodes/core/InputNode.d.ts +15 -0
  227. package/three/src/nodes/core/LightingModel.d.ts +46 -0
  228. package/three/src/nodes/core/MRTNode.d.ts +19 -0
  229. package/three/src/nodes/core/Node.d.ts +117 -0
  230. package/three/src/nodes/core/NodeAttribute.d.ts +9 -0
  231. package/three/src/nodes/core/NodeBuilder.d.ts +133 -0
  232. package/three/src/nodes/core/NodeCache.d.ts +49 -0
  233. package/three/src/nodes/core/NodeCode.d.ts +4 -0
  234. package/three/src/nodes/core/NodeFrame.d.ts +34 -0
  235. package/three/src/nodes/core/NodeFunction.d.ts +13 -0
  236. package/three/src/nodes/core/NodeFunctionInput.d.ts +7 -0
  237. package/three/src/nodes/core/NodeKeywords.d.ts +17 -0
  238. package/three/src/nodes/core/NodeParser.d.ts +5 -0
  239. package/three/src/nodes/core/NodeUniform.d.ts +14 -0
  240. package/three/src/nodes/core/NodeUtils.d.ts +18 -0
  241. package/three/src/nodes/core/NodeVar.d.ts +7 -0
  242. package/three/src/nodes/core/NodeVarying.d.ts +7 -0
  243. package/three/src/nodes/core/OutputStructNode.d.ts +12 -0
  244. package/three/src/nodes/core/PropertyNode.d.ts +43 -0
  245. package/three/src/nodes/core/StackNode.d.ts +17 -0
  246. package/three/src/nodes/core/StructTypeNode.d.ts +8 -0
  247. package/three/src/nodes/core/TempNode.d.ts +10 -0
  248. package/three/src/nodes/core/UniformGroup.d.ts +7 -0
  249. package/three/src/nodes/core/UniformGroupNode.d.ts +21 -0
  250. package/three/src/nodes/core/UniformNode.d.ts +20 -0
  251. package/three/src/nodes/core/VarNode.d.ts +28 -0
  252. package/three/src/nodes/core/VaryingNode.d.ts +21 -0
  253. package/three/src/nodes/core/constants.d.ts +27 -0
  254. package/three/src/nodes/display/AfterImageNode.d.ts +25 -0
  255. package/three/src/nodes/display/AnamorphicNode.d.ts +26 -0
  256. package/three/src/nodes/display/BlendModeNode.d.ts +43 -0
  257. package/three/src/nodes/display/BloomNode.d.ts +30 -0
  258. package/three/src/nodes/display/ColorAdjustmentNode.d.ts +35 -0
  259. package/three/src/nodes/display/ColorSpaceNode.d.ts +32 -0
  260. package/three/src/nodes/display/DenoiseNode.d.ts +32 -0
  261. package/three/src/nodes/display/DepthOfFieldNode.d.ts +24 -0
  262. package/three/src/nodes/display/DotScreenNode.d.ts +22 -0
  263. package/three/src/nodes/display/FXAANode.d.ts +19 -0
  264. package/three/src/nodes/display/FilmNode.d.ts +21 -0
  265. package/three/src/nodes/display/FrontFacingNode.d.ts +10 -0
  266. package/three/src/nodes/display/GTAONode.d.ts +42 -0
  267. package/three/src/nodes/display/GaussianBlurNode.d.ts +27 -0
  268. package/three/src/nodes/display/Lut3DNode.d.ts +25 -0
  269. package/three/src/nodes/display/NormalMapNode.d.ts +21 -0
  270. package/three/src/nodes/display/PassNode.d.ts +62 -0
  271. package/three/src/nodes/display/PixelationPassNode.d.ts +41 -0
  272. package/three/src/nodes/display/PosterizeNode.d.ts +17 -0
  273. package/three/src/nodes/display/RGBShiftNode.d.ts +24 -0
  274. package/three/src/nodes/display/RenderOutputNode.d.ts +24 -0
  275. package/three/src/nodes/display/SobelOperatorNode.d.ts +17 -0
  276. package/three/src/nodes/display/ToneMappingNode.d.ts +25 -0
  277. package/three/src/nodes/display/TransitionNode.d.ts +27 -0
  278. package/three/src/nodes/display/ViewportDepthNode.d.ts +28 -0
  279. package/three/src/nodes/display/ViewportDepthTextureNode.d.ts +9 -0
  280. package/three/src/nodes/display/ViewportNode.d.ts +25 -0
  281. package/three/src/nodes/display/ViewportSharedTextureNode.d.ts +15 -0
  282. package/three/src/nodes/display/ViewportTextureNode.d.ts +25 -0
  283. package/three/src/nodes/fog/FogExp2Node.d.ts +18 -0
  284. package/three/src/nodes/fog/FogNode.d.ts +21 -0
  285. package/three/src/nodes/fog/FogRangeNode.d.ts +19 -0
  286. package/three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +7 -0
  287. package/three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +7 -0
  288. package/three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +7 -0
  289. package/three/src/nodes/functions/BSDF/DFGApprox.d.ts +11 -0
  290. package/three/src/nodes/functions/BSDF/D_GGX.d.ts +10 -0
  291. package/three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +8 -0
  292. package/three/src/nodes/functions/BSDF/F_Schlick.d.ts +7 -0
  293. package/three/src/nodes/functions/BSDF/LTC.d.ts +7 -0
  294. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +7 -0
  295. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +7 -0
  296. package/three/src/nodes/functions/BasicLightingModel.d.ts +7 -0
  297. package/three/src/nodes/functions/PhongLightingModel.d.ts +7 -0
  298. package/three/src/nodes/functions/PhysicalLightingModel.d.ts +23 -0
  299. package/three/src/nodes/functions/ShadowMaskModel.d.ts +9 -0
  300. package/three/src/nodes/functions/ToonLightingModel.d.ts +3 -0
  301. package/three/src/nodes/functions/material/getGeometryRoughness.d.ts +6 -0
  302. package/three/src/nodes/functions/material/getRoughness.d.ts +7 -0
  303. package/three/src/nodes/geometry/RangeNode.d.ts +19 -0
  304. package/three/src/nodes/gpgpu/ComputeNode.d.ts +20 -0
  305. package/three/src/nodes/lighting/AONode.d.ts +8 -0
  306. package/three/src/nodes/lighting/AnalyticLightNode.d.ts +8 -0
  307. package/three/src/nodes/lighting/BasicEnvironmentNode.d.ts +10 -0
  308. package/three/src/nodes/lighting/BasicLightMapNode.d.ts +8 -0
  309. package/three/src/nodes/lighting/EnvironmentNode.d.ts +8 -0
  310. package/three/src/nodes/lighting/HemisphereLightNode.d.ts +13 -0
  311. package/three/src/nodes/lighting/IrradianceNode.d.ts +8 -0
  312. package/three/src/nodes/lighting/LightUtils.d.ts +5 -0
  313. package/three/src/nodes/lighting/LightingContextNode.d.ts +22 -0
  314. package/three/src/nodes/lighting/LightingNode.d.ts +7 -0
  315. package/three/src/nodes/lighting/LightsNode.d.ts +19 -0
  316. package/three/src/nodes/lighting/PointLightNode.d.ts +10 -0
  317. package/three/src/nodes/lighting/RectAreaLightNode.d.ts +21 -0
  318. package/three/src/nodes/lighting/SpotLightNode.d.ts +15 -0
  319. package/three/src/nodes/loaders/NodeLoader.d.ts +16 -0
  320. package/three/src/nodes/loaders/NodeMaterialLoader.d.ts +8 -0
  321. package/three/src/nodes/loaders/NodeObjectLoader.d.ts +10 -0
  322. package/three/src/nodes/materials/Line2NodeMaterial.d.ts +53 -0
  323. package/three/src/nodes/materials/LineBasicNodeMaterial.d.ts +21 -0
  324. package/three/src/nodes/materials/Materials.d.ts +15 -0
  325. package/three/src/nodes/materials/MeshBasicNodeMaterial.d.ts +35 -0
  326. package/three/src/nodes/materials/MeshMatcapNodeMaterial.d.ts +31 -0
  327. package/three/src/nodes/materials/MeshNormalNodeMaterial.d.ts +27 -0
  328. package/three/src/nodes/materials/MeshPhongNodeMaterial.d.ts +55 -0
  329. package/three/src/nodes/materials/MeshPhysicalNodeMaterial.d.ts +87 -0
  330. package/three/src/nodes/materials/MeshSSSNodeMaterial.d.ts +16 -0
  331. package/three/src/nodes/materials/MeshStandardNodeMaterial.d.ts +55 -0
  332. package/three/src/nodes/materials/MeshToonNodeMaterial.d.ts +41 -0
  333. package/three/src/nodes/materials/NodeMaterial.d.ts +124 -0
  334. package/three/src/nodes/materials/PointsNodeMaterial.d.ts +21 -0
  335. package/three/src/nodes/materials/ShadowNodeMaterial.d.ts +16 -0
  336. package/three/src/nodes/materials/SpriteNodeMaterial.d.ts +25 -0
  337. package/three/src/nodes/materials/VolumeNodeMaterial.d.ts +10 -0
  338. package/three/src/nodes/materialx/MaterialXNodes.d.ts +36 -0
  339. package/three/src/nodes/materialx/lib/mx_hsv.d.ts +6 -0
  340. package/three/src/nodes/materialx/lib/mx_noise.d.ts +139 -0
  341. package/three/src/nodes/materialx/lib/mx_transform_color.d.ts +4 -0
  342. package/three/src/nodes/math/CondNode.d.ts +18 -0
  343. package/three/src/nodes/math/HashNode.d.ts +16 -0
  344. package/three/src/nodes/math/MathNode.d.ts +253 -0
  345. package/three/src/nodes/math/MathUtils.d.ts +16 -0
  346. package/three/src/nodes/math/OperatorNode.d.ts +61 -0
  347. package/three/src/nodes/math/TriNoise3D.d.ts +8 -0
  348. package/three/src/nodes/pmrem/PMREMNode.d.ts +16 -0
  349. package/three/src/nodes/procedural/CheckerNode.d.ts +15 -0
  350. package/three/src/nodes/shadernode/ShaderNode.d.ts +226 -0
  351. package/three/src/nodes/utils/ArrayElementNode.d.ts +9 -0
  352. package/three/src/nodes/utils/ConvertNode.d.ts +7 -0
  353. package/three/src/nodes/utils/DiscardNode.d.ts +17 -0
  354. package/three/src/nodes/utils/EquirectUVNode.d.ts +8 -0
  355. package/three/src/nodes/utils/JoinNode.d.ts +10 -0
  356. package/three/src/nodes/utils/MatcapUVNode.d.ts +8 -0
  357. package/three/src/nodes/utils/MaxMipLevelNode.d.ts +14 -0
  358. package/three/src/nodes/utils/OscNode.d.ts +21 -0
  359. package/three/src/nodes/utils/PackingNode.d.ts +24 -0
  360. package/three/src/nodes/utils/RTTNode.d.ts +40 -0
  361. package/three/src/nodes/utils/ReflectorNode.d.ts +32 -0
  362. package/three/src/nodes/utils/RemapNode.d.ts +24 -0
  363. package/three/src/nodes/utils/RotateNode.d.ts +18 -0
  364. package/three/src/nodes/utils/RotateUVNode.d.ts +19 -0
  365. package/three/src/nodes/utils/SplitNode.d.ts +15 -0
  366. package/three/src/nodes/utils/SpriteSheetUVNode.d.ts +12 -0
  367. package/three/src/nodes/utils/StoargeArrayElementNode.d.ts +22 -0
  368. package/three/src/nodes/utils/TimerNode.d.ts +21 -0
  369. package/three/src/nodes/utils/TriplanarTexturesNode.d.ts +25 -0
  370. package/three/src/objects/BatchedMesh.d.ts +193 -0
  371. package/three/src/objects/Bone.d.ts +36 -0
  372. package/three/src/objects/Group.d.ts +43 -0
  373. package/three/src/objects/InstancedMesh.d.ts +175 -0
  374. package/three/src/objects/LOD.d.ts +104 -0
  375. package/three/src/objects/Line.d.ts +83 -0
  376. package/three/src/objects/LineLoop.d.ts +36 -0
  377. package/three/src/objects/LineSegments.d.ts +37 -0
  378. package/three/src/objects/Mesh.d.ts +90 -0
  379. package/three/src/objects/Points.d.ts +62 -0
  380. package/three/src/objects/Skeleton.d.ts +120 -0
  381. package/three/src/objects/SkinnedMesh.d.ts +156 -0
  382. package/three/src/objects/Sprite.d.ts +65 -0
  383. package/three/src/renderers/WebGL3DRenderTarget.d.ts +29 -0
  384. package/three/src/renderers/WebGLArrayRenderTarget.d.ts +29 -0
  385. package/three/src/renderers/WebGLCubeRenderTarget.d.ts +18 -0
  386. package/three/src/renderers/WebGLRenderTarget.d.ts +8 -0
  387. package/three/src/renderers/WebGLRenderer.d.ts +516 -0
  388. package/three/src/renderers/common/Animation.d.ts +13 -0
  389. package/three/src/renderers/common/Attributes.d.ts +22 -0
  390. package/three/src/renderers/common/Backend.d.ts +19 -0
  391. package/three/src/renderers/common/Background.d.ts +23 -0
  392. package/three/src/renderers/common/BindGroup.d.ts +9 -0
  393. package/three/src/renderers/common/Binding.d.ts +8 -0
  394. package/three/src/renderers/common/Bindings.d.ts +35 -0
  395. package/three/src/renderers/common/Buffer.d.ts +11 -0
  396. package/three/src/renderers/common/BufferUtils.d.ts +4 -0
  397. package/three/src/renderers/common/ChainMap.d.ts +9 -0
  398. package/three/src/renderers/common/ClippingContext.d.ts +23 -0
  399. package/three/src/renderers/common/Color4.d.ts +10 -0
  400. package/three/src/renderers/common/ComputePipeline.d.ts +8 -0
  401. package/three/src/renderers/common/Constants.d.ts +9 -0
  402. package/three/src/renderers/common/CubeRenderTarget.d.ts +10 -0
  403. package/three/src/renderers/common/DataMap.d.ts +30 -0
  404. package/three/src/renderers/common/Geometries.d.ts +31 -0
  405. package/three/src/renderers/common/Info.d.ts +34 -0
  406. package/three/src/renderers/common/Pipeline.d.ts +6 -0
  407. package/three/src/renderers/common/Pipelines.d.ts +53 -0
  408. package/three/src/renderers/common/PostProcessing.d.ts +21 -0
  409. package/three/src/renderers/common/ProgrammableStage.d.ts +10 -0
  410. package/three/src/renderers/common/QuadMesh.d.ts +14 -0
  411. package/three/src/renderers/common/RenderBundle.d.ts +9 -0
  412. package/three/src/renderers/common/RenderBundles.d.ts +11 -0
  413. package/three/src/renderers/common/RenderContext.d.ts +41 -0
  414. package/three/src/renderers/common/RenderContexts.d.ts +15 -0
  415. package/three/src/renderers/common/RenderList.d.ts +42 -0
  416. package/three/src/renderers/common/RenderLists.d.ts +11 -0
  417. package/three/src/renderers/common/RenderObject.d.ts +61 -0
  418. package/three/src/renderers/common/RenderObjects.d.ts +31 -0
  419. package/three/src/renderers/common/RenderPipeline.d.ts +8 -0
  420. package/three/src/renderers/common/Renderer.d.ts +183 -0
  421. package/three/src/renderers/common/SampledTexture.d.ts +27 -0
  422. package/three/src/renderers/common/Sampler.d.ts +11 -0
  423. package/three/src/renderers/common/StorageBufferAttribute.d.ts +7 -0
  424. package/three/src/renderers/common/StorageInstancedBufferAttribute.d.ts +8 -0
  425. package/three/src/renderers/common/StorageTexture.d.ts +5 -0
  426. package/three/src/renderers/common/Textures.d.ts +67 -0
  427. package/three/src/renderers/common/Uniform.d.ts +45 -0
  428. package/three/src/renderers/common/UniformBuffer.d.ts +6 -0
  429. package/three/src/renderers/common/UniformsGroup.d.ts +23 -0
  430. package/three/src/renderers/common/extras/PMREMGenerator.d.ts +9 -0
  431. package/three/src/renderers/common/nodes/NodeBuilderState.d.ts +19 -0
  432. package/three/src/renderers/common/nodes/NodeSampledTexture.d.ts +24 -0
  433. package/three/src/renderers/common/nodes/NodeSampler.d.ts +12 -0
  434. package/three/src/renderers/common/nodes/NodeUniform.d.ts +45 -0
  435. package/three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +10 -0
  436. package/three/src/renderers/common/nodes/Nodes.d.ts +98 -0
  437. package/three/src/renderers/shaders/ShaderChunk.d.ts +143 -0
  438. package/three/src/renderers/shaders/ShaderLib.d.ts +29 -0
  439. package/three/src/renderers/shaders/UniformsLib.d.ts +189 -0
  440. package/three/src/renderers/shaders/UniformsUtils.d.ts +14 -0
  441. package/three/src/renderers/webgl/WebGLAttributes.d.ts +21 -0
  442. package/three/src/renderers/webgl/WebGLBindingStates.d.ts +20 -0
  443. package/three/src/renderers/webgl/WebGLBufferRenderer.d.ts +12 -0
  444. package/three/src/renderers/webgl/WebGLCapabilities.d.ts +35 -0
  445. package/three/src/renderers/webgl/WebGLClipping.d.ts +26 -0
  446. package/three/src/renderers/webgl/WebGLCubeMaps.d.ts +8 -0
  447. package/three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +9 -0
  448. package/three/src/renderers/webgl/WebGLExtensions.d.ts +7 -0
  449. package/three/src/renderers/webgl/WebGLGeometries.d.ts +13 -0
  450. package/three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +10 -0
  451. package/three/src/renderers/webgl/WebGLInfo.d.ts +39 -0
  452. package/three/src/renderers/webgl/WebGLLights.d.ts +49 -0
  453. package/three/src/renderers/webgl/WebGLObjects.d.ts +6 -0
  454. package/three/src/renderers/webgl/WebGLProgram.d.ts +30 -0
  455. package/three/src/renderers/webgl/WebGLPrograms.d.ts +218 -0
  456. package/three/src/renderers/webgl/WebGLProperties.d.ts +8 -0
  457. package/three/src/renderers/webgl/WebGLRenderLists.d.ts +52 -0
  458. package/three/src/renderers/webgl/WebGLShader.d.ts +1 -0
  459. package/three/src/renderers/webgl/WebGLShadowMap.d.ts +38 -0
  460. package/three/src/renderers/webgl/WebGLState.d.ts +71 -0
  461. package/three/src/renderers/webgl/WebGLTextures.d.ts +22 -0
  462. package/three/src/renderers/webgl/WebGLUniforms.d.ts +12 -0
  463. package/three/src/renderers/webgl/WebGLUniformsGroups.d.ts +17 -0
  464. package/three/src/renderers/webgl/WebGLUtils.d.ts +8 -0
  465. package/three/src/renderers/webgl-fallback/WebGLBackend.d.ts +14 -0
  466. package/three/src/renderers/webgpu/WebGPUBackend.d.ts +21 -0
  467. package/three/src/renderers/webgpu/WebGPURenderer.d.ts +10 -0
  468. package/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +75 -0
  469. package/three/src/renderers/webgpu/nodes/WGSLNodeFunction.d.ts +6 -0
  470. package/three/src/renderers/webgpu/nodes/WGSLNodeParser.d.ts +6 -0
  471. package/three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +328 -0
  472. package/three/src/renderers/webxr/WebXRController.d.ts +63 -0
  473. package/three/src/renderers/webxr/WebXRDepthSensing.d.ts +22 -0
  474. package/three/src/renderers/webxr/WebXRManager.d.ts +87 -0
  475. package/three/src/scenes/Fog.d.ts +77 -0
  476. package/three/src/scenes/FogExp2.d.ts +66 -0
  477. package/three/src/scenes/Scene.d.ts +118 -0
  478. package/three/src/textures/CanvasTexture.d.ts +34 -0
  479. package/three/src/textures/CompressedArrayTexture.d.ts +61 -0
  480. package/three/src/textures/CompressedCubeTexture.d.ts +9 -0
  481. package/three/src/textures/CompressedTexture.d.ts +74 -0
  482. package/three/src/textures/CubeTexture.d.ts +82 -0
  483. package/three/src/textures/Data3DTexture.d.ts +96 -0
  484. package/three/src/textures/DataArrayTexture.d.ts +123 -0
  485. package/three/src/textures/DataTexture.d.ts +92 -0
  486. package/three/src/textures/DepthTexture.d.ts +85 -0
  487. package/three/src/textures/FramebufferTexture.d.ts +62 -0
  488. package/three/src/textures/Source.d.ts +75 -0
  489. package/three/src/textures/Texture.d.ts +445 -0
  490. package/three/src/textures/VideoTexture.d.ts +73 -0
  491. package/three/src/textures/types.d.ts +9 -0
  492. package/three/src/utils.d.ts +3 -0
  493. package/three/three.webgpu.d.ts +1 -0
  494. package/three.webgpu.d.ts +1 -0
  495. package/three.webgpu.js +63045 -0
@@ -0,0 +1,101 @@
1
+ import { Audio } from './Audio.js';
2
+ import { AudioListener } from './AudioListener.js';
3
+
4
+ /**
5
+ * Create a positional audio object.
6
+ * This uses the {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API | Web Audio API}.
7
+ * @example
8
+ * ```typescript
9
+ * // create an AudioListener and add it to the camera
10
+ * const listener = new THREE.AudioListener();
11
+ * camera.add(listener);
12
+ * // create the {@link PositionalAudio} object (passing in the listener)
13
+ * const sound = new THREE.PositionalAudio(listener);
14
+ * // load a sound and set it as the {@link PositionalAudio} object's buffer
15
+ * const audioLoader = new THREE.AudioLoader();
16
+ * audioLoader.load('sounds/song.ogg', function (buffer) {
17
+ * sound.setBuffer(buffer);
18
+ * sound.setRefDistance(20);
19
+ * sound.play();
20
+ * });
21
+ * // create an object for the sound to play from
22
+ * const sphere = new THREE.SphereGeometry(20, 32, 16);
23
+ * const material = new THREE.MeshPhongMaterial({
24
+ * color: 0xff2200
25
+ * });
26
+ * const mesh = new THREE.Mesh(sphere, material);
27
+ * scene.add(mesh);
28
+ * // finally add the sound to the mesh
29
+ * mesh.add(sound);
30
+ * ```
31
+ * @see Example: {@link https://threejs.org/examples/#webaudio_orientation | webaudio / orientation }
32
+ * @see Example: {@link https://threejs.org/examples/#webaudio_sandbox | webaudio / sandbox }
33
+ * @see Example: {@link https://threejs.org/examples/#webaudio_timing | webaudio / timing }
34
+ * @see {@link https://threejs.org/docs/index.html#api/en/audio/PositionalAudio | Official Documentation}
35
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/audio/PositionalAudio.js | Source}
36
+ */
37
+ export class PositionalAudio extends Audio<PannerNode> {
38
+ /**
39
+ * Create a new instance of {@link PositionalAudio}
40
+ * @param listener (required) {@link AudioListener | AudioListener} instance.
41
+ */
42
+ constructor(listener: AudioListener);
43
+
44
+ /**
45
+ * The PositionalAudio's {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode | PannerNode}.
46
+ */
47
+ panner: PannerNode;
48
+
49
+ /**
50
+ * Returns the {@link PositionalAudio.panner | panner}.
51
+ */
52
+ getOutput(): PannerNode;
53
+
54
+ /**
55
+ * Returns the value of {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance | panner.refDistance}.
56
+ */
57
+ getRefDistance(): number;
58
+ /**
59
+ * Sets the value of {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance | panner.refDistance}.
60
+ * @param value Expects a `Float`
61
+ */
62
+ setRefDistance(value: number): this;
63
+
64
+ /**
65
+ * Returns the value of {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor | panner.rolloffFactor}.
66
+ */
67
+ getRolloffFactor(): number;
68
+ /**
69
+ * Sets the value of {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor | panner.rolloffFactor}.
70
+ * @param value Expects a `Float`
71
+ */
72
+ setRolloffFactor(value: number): this;
73
+
74
+ /**
75
+ * Returns the value of {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/distanceModel | panner.distanceModel}.
76
+ */
77
+ getDistanceModel(): string;
78
+ /**
79
+ * Sets the value of {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/distanceModel | panner.distanceModel}.
80
+ * @param value
81
+ */
82
+ setDistanceModel(value: string): this;
83
+
84
+ /**
85
+ * Returns the value of {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance | panner.maxDistance}.
86
+ */
87
+ getMaxDistance(): number;
88
+ /**
89
+ * Sets the value of {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance | panner.maxDistance}.
90
+ * @param value Expects a `Float`
91
+ */
92
+ setMaxDistance(value: number): this;
93
+
94
+ /**
95
+ * This method can be used in order to transform an omnidirectional sound into a {@link https://developer.mozilla.org/en-US/docs/Web/API/PannerNode | directional sound}.
96
+ * @param coneInnerAngle Expects a `Float`
97
+ * @param coneOuterAngle Expects a `Float`
98
+ * @param coneOuterGain Expects a `Float`
99
+ */
100
+ setDirectionalCone(coneInnerAngle: number, coneOuterAngle: number, coneOuterGain: number): this;
101
+ }
@@ -0,0 +1,32 @@
1
+ import { PerspectiveCamera } from './PerspectiveCamera.js';
2
+
3
+ /**
4
+ * {@link ArrayCamera} can be used in order to efficiently render a scene with a predefined set of cameras
5
+ * @remarks
6
+ * This is an important performance aspect for rendering VR scenes.
7
+ * An instance of {@link ArrayCamera} always has an array of sub cameras
8
+ * It's mandatory to define for each sub camera the `viewport` property which determines the part of the viewport that is rendered with this camera.
9
+ * @see Example: {@link https://threejs.org/examples/#webgl_camera_array | camera / array }
10
+ * @see {@link https://threejs.org/docs/index.html#api/en/cameras/ArrayCamera | Official Documentation}
11
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/cameras/ArrayCamera.js | Source}
12
+ */
13
+ export class ArrayCamera extends PerspectiveCamera {
14
+ /**
15
+ * An array of cameras.
16
+ * @param array. Default `[]`.
17
+ */
18
+ constructor(cameras?: PerspectiveCamera[]);
19
+
20
+ /**
21
+ * Read-only flag to check if a given object is of type {@link ArrayCamera}.
22
+ * @remarks This is a _constant_ value
23
+ * @defaultValue `true`
24
+ */
25
+ readonly isArrayCamera: true;
26
+
27
+ /**
28
+ * An array of cameras.
29
+ * @defaultValue `[]`
30
+ */
31
+ cameras: PerspectiveCamera[];
32
+ }
@@ -0,0 +1,74 @@
1
+ import { CoordinateSystem } from '../constants.js';
2
+ import { Layers } from '../core/Layers.js';
3
+ import { Object3D } from '../core/Object3D.js';
4
+ import { Matrix4 } from '../math/Matrix4.js';
5
+ import { Vector3 } from '../math/Vector3.js';
6
+ import { Vector4 } from '../math/Vector4.js';
7
+
8
+ /**
9
+ * Abstract base class for cameras
10
+ * @remarks
11
+ * This class should always be inherited when you build a new camera.
12
+ * @see {@link https://threejs.org/docs/index.html#api/en/cameras/Camera | Official Documentation}
13
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/cameras/Camera.js | Source}
14
+ */
15
+ export class Camera extends Object3D {
16
+ /**
17
+ * @remarks
18
+ * Note that this class is not intended to be called directly; you probably want a
19
+ * {@link THREE.PerspectiveCamera | PerspectiveCamera} or
20
+ * {@link THREE.OrthographicCamera | OrthographicCamera} instead.
21
+ */
22
+ constructor();
23
+
24
+ /**
25
+ * Read-only flag to check if a given object is of type {@link Camera}.
26
+ * @remarks This is a _constant_ value
27
+ * @defaultValue `true`
28
+ */
29
+ readonly isCamera: true;
30
+
31
+ /**
32
+ * @override
33
+ * @defaultValue `Camera`
34
+ */
35
+ override readonly type: string | 'Camera';
36
+
37
+ /**
38
+ * @override
39
+ * The {@link THREE.Layers | layers} that the {@link Camera} is a member of.
40
+ * @remarks Objects must share at least one layer with the {@link Camera} to be n when the camera's viewpoint is rendered.
41
+ * @defaultValue `new THREE.Layers()`
42
+ */
43
+ override layers: Layers;
44
+
45
+ /**
46
+ * This is the inverse of matrixWorld.
47
+ * @remarks MatrixWorld contains the Matrix which has the world transform of the {@link Camera} .
48
+ * @defaultValue {@link THREE.Matrix4 | `new THREE.Matrix4()`}
49
+ */
50
+ matrixWorldInverse: Matrix4;
51
+
52
+ /**
53
+ * This is the matrix which contains the projection.
54
+ * @defaultValue {@link THREE.Matrix4 | `new THREE.Matrix4()`}
55
+ */
56
+ projectionMatrix: Matrix4;
57
+
58
+ /**
59
+ * This is the inverse of projectionMatrix.
60
+ * @defaultValue {@link THREE.Matrix4 | `new THREE.Matrix4()`}
61
+ */
62
+ projectionMatrixInverse: Matrix4;
63
+
64
+ coordinateSystem: CoordinateSystem;
65
+
66
+ viewport?: Vector4;
67
+
68
+ /**
69
+ * Returns a {@link THREE.Vector3 | Vector3} representing the world space direction in which the {@link Camera} is looking.
70
+ * @remarks Note: A {@link Camera} looks down its local, negative z-axis.
71
+ * @param target The result will be copied into this Vector3.
72
+ */
73
+ getWorldDirection(target: Vector3): Vector3;
74
+ }
@@ -0,0 +1,68 @@
1
+ import { CoordinateSystem } from '../constants.js';
2
+ import { Object3D } from '../core/Object3D.js';
3
+ import { WebGLCubeRenderTarget } from '../renderers/WebGLCubeRenderTarget.js';
4
+ import { WebGLRenderer } from '../renderers/WebGLRenderer.js';
5
+
6
+ /**
7
+ * Creates **6** {@link THREE.PerspectiveCamera | cameras} that render to a {@link THREE.WebGLCubeRenderTarget | WebGLCubeRenderTarget}.
8
+ * @remarks The cameras are added to the {@link children} array.
9
+ * @example
10
+ * ```typescript
11
+ * // Create cube render target
12
+ * const cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 128, { generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } );
13
+ *
14
+ * // Create cube camera
15
+ * const cubeCamera = new THREE.CubeCamera( 1, 100000, cubeRenderTarget );
16
+ * scene.add( cubeCamera );
17
+ *
18
+ * // Create car
19
+ * const chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeRenderTarget.texture } );
20
+ * const car = new THREE.Mesh( carGeometry, chromeMaterial );
21
+ * scene.add( car );
22
+ *
23
+ * // Update the render target cube
24
+ * car.visible = false;
25
+ * cubeCamera.position.copy( car.position );
26
+ * cubeCamera.update( renderer, scene );
27
+ *
28
+ * // Render the scene
29
+ * car.visible = true;
30
+ * renderer.render( scene, camera );
31
+ * ```
32
+ * @see Example: {@link https://threejs.org/examples/#webgl_materials_cubemap_dynamic | materials / cubemap / dynamic }
33
+ * @see {@link https://threejs.org/docs/index.html#api/en/cameras/CubeCamera | Official Documentation}
34
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/cameras/CubeCamera.js | Source}
35
+ */
36
+ export class CubeCamera extends Object3D {
37
+ /**
38
+ * Constructs a {@link CubeCamera} that contains 6 {@link PerspectiveCamera | PerspectiveCameras} that render to a {@link THREE.WebGLCubeRenderTarget | WebGLCubeRenderTarget}.
39
+ * @param near The near clipping distance.
40
+ * @param far The far clipping distance.
41
+ * @param renderTarget The destination cube render target.
42
+ */
43
+ constructor(near: number, far: number, renderTarget: WebGLCubeRenderTarget);
44
+
45
+ /**
46
+ * @override
47
+ * @defaultValue `CubeCamera`
48
+ */
49
+ override readonly type: string | 'CubeCamera';
50
+
51
+ /**
52
+ * The destination cube render target.
53
+ */
54
+ renderTarget: WebGLCubeRenderTarget;
55
+
56
+ coordinateSystem: CoordinateSystem;
57
+
58
+ activeMipmapLevel: number;
59
+
60
+ updateCoordinateSystem(): void;
61
+
62
+ /**
63
+ * Call this to update the {@link CubeCamera.renderTarget | renderTarget}.
64
+ * @param renderer The current WebGL renderer
65
+ * @param scene The current scene
66
+ */
67
+ update(renderer: WebGLRenderer, scene: Object3D): void;
68
+ }
@@ -0,0 +1,167 @@
1
+ import { JSONMeta, Object3DJSON, Object3DJSONObject } from '../core/Object3D.js';
2
+ import { Camera } from './Camera.js';
3
+
4
+ export interface OrthographicCameraJSONObject extends Object3DJSONObject {
5
+ zoom: number;
6
+ left: number;
7
+ right: number;
8
+ top: number;
9
+ bottom: number;
10
+ near: number;
11
+ far: number;
12
+
13
+ view?: {
14
+ enabled: boolean;
15
+ fullWidth: number;
16
+ fullHeight: number;
17
+ offsetX: number;
18
+ offsetY: number;
19
+ width: number;
20
+ height: number;
21
+ };
22
+ }
23
+
24
+ export interface OrthographicCameraJSON extends Object3DJSON {
25
+ object: OrthographicCameraJSONObject;
26
+ }
27
+
28
+ /**
29
+ * Camera that uses {@link https://en.wikipedia.org/wiki/Orthographic_projection | orthographic projection}.
30
+ * In this projection mode, an object's size in the rendered image stays constant regardless of its distance from the camera.
31
+ * This can be useful for rendering 2D scenes and UI elements, amongst other things.
32
+ * @example
33
+ * ```typescript
34
+ * const camera = new THREE.OrthographicCamera(width / -2, width / 2, height / 2, height / -2, 1, 1000);
35
+ * scene.add(camera);
36
+ * ```
37
+ * @see Example: {@link https://threejs.org/examples/#webgl_camera | camera }
38
+ * @see Example: {@link https://threejs.org/examples/#webgl_interactive_cubes_ortho | interactive / cubes / ortho }
39
+ * @see Example: {@link https://threejs.org/examples/#webgl_materials_cubemap_dynamic | materials / cubemap / dynamic }
40
+ * @see Example: {@link https://threejs.org/examples/#webgl_postprocessing_advanced | postprocessing / advanced }
41
+ * @see Example: {@link https://threejs.org/examples/#webgl_postprocessing_dof2 | postprocessing / dof2 }
42
+ * @see Example: {@link https://threejs.org/examples/#webgl_postprocessing_godrays | postprocessing / godrays }
43
+ * @see Example: {@link https://threejs.org/examples/#webgl_rtt | rtt }
44
+ * @see Example: {@link https://threejs.org/examples/#webgl_shaders_tonemapping | shaders / tonemapping }
45
+ * @see Example: {@link https://threejs.org/examples/#webgl_shadowmap | shadowmap }
46
+ * @see {@link https://threejs.org/docs/index.html#api/en/cameras/OrthographicCamera | Official Documentation}
47
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/cameras/OrthographicCamera.js | Source}
48
+ */
49
+ export class OrthographicCamera extends Camera {
50
+ /**
51
+ * Creates a new {@link OrthographicCamera}.
52
+ * @remarks Together these define the camera's {@link https://en.wikipedia.org/wiki/Viewing_frustum | viewing frustum}.
53
+ * @param left Camera frustum left plane. Default `-1`.
54
+ * @param right Camera frustum right plane. Default `1`.
55
+ * @param top Camera frustum top plane. Default `1`.
56
+ * @param bottom Camera frustum bottom plane. Default `-1`.
57
+ * @param near Camera frustum near plane. Default `0.1`.
58
+ * @param far Camera frustum far plane. Default `2000`.
59
+ */
60
+ constructor(left?: number, right?: number, top?: number, bottom?: number, near?: number, far?: number);
61
+
62
+ /**
63
+ * Read-only flag to check if a given object is of type {@link OrthographicCamera}.
64
+ * @remarks This is a _constant_ value
65
+ * @defaultValue `true`
66
+ */
67
+ readonly isOrthographicCamera: true;
68
+
69
+ /**
70
+ * @override
71
+ * @defaultValue `OrthographicCamera`
72
+ */
73
+ override readonly type: string | 'OrthographicCamera';
74
+
75
+ /**
76
+ * Gets or sets the zoom factor of the camera.
77
+ * @defaultValue `1`
78
+ */
79
+ zoom: number;
80
+
81
+ /**
82
+ * Set by {@link setViewOffset | .setViewOffset()}.
83
+ * @defaultValue `null`
84
+ */
85
+ view: null | {
86
+ enabled: boolean;
87
+ fullWidth: number;
88
+ fullHeight: number;
89
+ offsetX: number;
90
+ offsetY: number;
91
+ width: number;
92
+ height: number;
93
+ };
94
+
95
+ /**
96
+ * Camera frustum left plane.
97
+ * @remarks Expects a `Float`
98
+ * @defaultValue `-1`
99
+ */
100
+ left: number;
101
+
102
+ /**
103
+ * Camera frustum right plane.
104
+ * @remarks Expects a `Float`
105
+ * @defaultValue `1`
106
+ */
107
+ right: number;
108
+
109
+ /**
110
+ * Camera frustum top plane.
111
+ * @remarks Expects a `Float`
112
+ * @defaultValue `1`
113
+ */
114
+ top: number;
115
+
116
+ /**
117
+ * Camera frustum bottom plane.
118
+ * @remarks Expects a `Float`.
119
+ * @defaultValue `-1`
120
+ */
121
+ bottom: number;
122
+
123
+ /**
124
+ * Camera frustum near plane.`.
125
+ * @remarks The valid range is between `0` and the current value of the {@link far | .far} plane.
126
+ * @remarks Note that, unlike for the {@link THREE.PerspectiveCamera | PerspectiveCamera}, `0` is a valid value for an {@link THREE.OrthographicCamera | OrthographicCamera's} near plane.
127
+ * @remarks Expects a `Float`
128
+ * @defaultValue `0.1`
129
+ */
130
+ near: number;
131
+
132
+ /**
133
+ * Camera frustum far plane.
134
+ * @remarks Must be greater than the current value of {@link near | .near} plane.
135
+ * @remarks Expects a `Float`
136
+ * @defaultValue `2000`
137
+ */
138
+ far: number;
139
+
140
+ /**
141
+ * Updates the camera projection matrix
142
+ * @remarks Must be called after any change of parameters.
143
+ */
144
+ updateProjectionMatrix(): void;
145
+
146
+ /**
147
+ * Sets an offset in a larger {@link https://en.wikipedia.org/wiki/Viewing_frustum | viewing frustum}
148
+ * @remarks
149
+ * This is useful for multi-window or multi-monitor/multi-machine setups
150
+ * For an example on how to use it see {@link PerspectiveCamera.setViewOffset | PerspectiveCamera}.
151
+ * @see {@link THREE.PerspectiveCamera.setViewOffset | PerspectiveCamera}.
152
+ * @param fullWidth Full width of multiview setup Expects a `Float`.
153
+ * @param fullHeight Full height of multiview setup Expects a `Float`.
154
+ * @param x Horizontal offset of subcamera Expects a `Float`.
155
+ * @param y Vertical offset of subcamera Expects a `Float`.
156
+ * @param width Width of subcamera Expects a `Float`.
157
+ * @param height Height of subcamera Expects a `Float`.
158
+ */
159
+ setViewOffset(fullWidth: number, fullHeight: number, offsetX: number, offsetY: number, width: number, height: number): void;
160
+
161
+ /**
162
+ * Removes any offset set by the {@link setViewOffset | .setViewOffset} method.
163
+ */
164
+ clearViewOffset(): void;
165
+
166
+ toJSON(meta?: JSONMeta): OrthographicCameraJSON;
167
+ }
@@ -0,0 +1,254 @@
1
+ import { JSONMeta, Object3DJSON, Object3DJSONObject } from '../core/Object3D.js';
2
+ import { Vector2 } from '../math/Vector2.js';
3
+ import { Camera } from './Camera.js';
4
+
5
+ export interface PerspectiveCameraJSONObject extends Object3DJSONObject {
6
+ fov: number;
7
+ zoom: number;
8
+
9
+ near: number;
10
+ far: number;
11
+ focus: number;
12
+
13
+ aspect: number;
14
+
15
+ view?: {
16
+ enabled: boolean;
17
+ fullWidth: number;
18
+ fullHeight: number;
19
+ offsetX: number;
20
+ offsetY: number;
21
+ width: number;
22
+ height: number;
23
+ };
24
+
25
+ filmGauge: number;
26
+ filmOffset: number;
27
+ }
28
+
29
+ export interface PerspectiveCameraJSON extends Object3DJSON {
30
+ object: PerspectiveCameraJSONObject;
31
+ }
32
+
33
+ /**
34
+ * Camera that uses {@link https://en.wikipedia.org/wiki/Perspective_(graphical) | perspective projection}.
35
+ * This projection mode is designed to mimic the way the human eye sees
36
+ * @remarks
37
+ * It is the most common projection mode used for rendering a 3D scene.
38
+ * @example
39
+ * ```typescript
40
+ * const camera = new THREE.PerspectiveCamera(45, width / height, 1, 1000);
41
+ * scene.add(camera);
42
+ * ```
43
+ * @see Example: {@link https://threejs.org/examples/#webgl_animation_skinning_blending | animation / skinning / blending }
44
+ * @see Example: {@link https://threejs.org/examples/#webgl_animation_skinning_morph | animation / skinning / morph }
45
+ * @see Example: {@link https://threejs.org/examples/#webgl_effects_stereo | effects / stereo }
46
+ * @see Example: {@link https://threejs.org/examples/#webgl_interactive_cubes | interactive / cubes }
47
+ * @see Example: {@link https://threejs.org/examples/#webgl_loader_collada_skinning | loader / collada / skinning }
48
+ * @see {@link https://threejs.org/docs/index.html#api/en/cameras/PerspectiveCamera | Official Documentation}
49
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/cameras/PerspectiveCamera.js | Source}
50
+ */
51
+ export class PerspectiveCamera extends Camera {
52
+ /**
53
+ * Creates a new {@link PerspectiveCamera}.
54
+ * @remarks Together these define the camera's {@link https://en.wikipedia.org/wiki/Viewing_frustum | viewing frustum}.
55
+ * @param fov Camera frustum vertical field of view. Default `50`.
56
+ * @param aspect Camera frustum aspect ratio. Default `1`.
57
+ * @param near Camera frustum near plane. Default `0.1`.
58
+ * @param far Camera frustum far plane. Default `2000`.
59
+ */
60
+ constructor(fov?: number, aspect?: number, near?: number, far?: number);
61
+
62
+ /**
63
+ * Read-only flag to check if a given object is of type {@link Camera}.
64
+ * @remarks This is a _constant_ value
65
+ * @defaultValue `true`
66
+ */
67
+ readonly isPerspectiveCamera: true;
68
+
69
+ /**
70
+ * @override
71
+ * @defaultValue `PerspectiveCamera`
72
+ */
73
+ override readonly type: string | 'PerspectiveCamera';
74
+
75
+ /**
76
+ * Gets or sets the zoom factor of the camera.
77
+ * @defaultValue `1`
78
+ */
79
+ zoom: number;
80
+
81
+ /**
82
+ * Camera frustum vertical field of view, from bottom to top of view, in degrees.
83
+ * @remarks Expects a `Float`
84
+ * @defaultValue `50`
85
+ */
86
+ fov: number;
87
+
88
+ /**
89
+ * Camera frustum aspect ratio, usually the canvas width / canvas height.
90
+ * @remarks Expects a `Float`
91
+ * @defaultValue `1`, _(square canvas)_.
92
+ */
93
+ aspect: number;
94
+
95
+ /**
96
+ * Camera frustum near plane.
97
+ * @remarks The valid range is greater than `0` and less than the current value of the {@link far | .far} plane.
98
+ * @remarks Note that, unlike for the {@link THREE.OrthographicCamera | OrthographicCamera}, `0` is **not** a valid value for a {@link PerspectiveCamera |PerspectiveCamera's}. near plane.
99
+ * @defaultValue `0.1`
100
+ * @remarks Expects a `Float`
101
+ */
102
+ near: number;
103
+
104
+ /**
105
+ * Camera frustum far plane.
106
+ * @remarks Must be greater than the current value of {@link near | .near} plane.
107
+ * @remarks Expects a `Float`
108
+ * @defaultValue `2000`
109
+ */
110
+ far: number;
111
+
112
+ /**
113
+ * Object distance used for stereoscopy and depth-of-field effects.
114
+ * @remarks This parameter does not influence the projection matrix unless a {@link THREE.StereoCamera | StereoCamera} is being used.
115
+ * @remarks Expects a `Float`
116
+ * @defaultValue `10`
117
+ */
118
+ focus: number;
119
+
120
+ /**
121
+ * Frustum window specification or null.
122
+ * This is set using the {@link setViewOffset | .setViewOffset} method and cleared using {@link clearViewOffset | .clearViewOffset}.
123
+ * @defaultValue `null`
124
+ */
125
+ view: null | {
126
+ enabled: boolean;
127
+ fullWidth: number;
128
+ fullHeight: number;
129
+ offsetX: number;
130
+ offsetY: number;
131
+ width: number;
132
+ height: number;
133
+ };
134
+
135
+ /**
136
+ * Film size used for the larger axis.
137
+ * This parameter does not influence the projection matrix unless {@link filmOffset | .filmOffset} is set to a nonzero value.
138
+ * @remarks Expects a `Float`
139
+ * @defaultValue `35`, _millimeters_.
140
+ */
141
+ filmGauge: number;
142
+
143
+ /**
144
+ * Horizontal off-center offset in the same unit as {@link filmGauge | .filmGauge}.
145
+ * @remarks Expects a `Float`
146
+ * @defaultValue `0`
147
+ */
148
+ filmOffset: number;
149
+
150
+ /**
151
+ * Returns the focal length of the current {@link .fov | fov} in respect to {@link filmGauge | .filmGauge}.
152
+ */
153
+ getFocalLength(): number;
154
+
155
+ /**
156
+ * Sets the FOV by focal length in respect to the current {@link filmGauge | .filmGauge}.
157
+ * @remarks By default, the focal length is specified for a `35mm` (full frame) camera.
158
+ * @param focalLength Expects a `Float`
159
+ */
160
+ setFocalLength(focalLength: number): void;
161
+
162
+ /**
163
+ * Returns the current vertical field of view angle in degrees considering {@link zoom | .zoom}.
164
+ */
165
+ getEffectiveFOV(): number;
166
+
167
+ /**
168
+ * Returns the width of the image on the film
169
+ * @remarks
170
+ * If {@link aspect | .aspect}. is greater than or equal to one (landscape format), the result equals {@link filmGauge | .filmGauge}.
171
+ */
172
+ getFilmWidth(): number;
173
+
174
+ /**
175
+ * Returns the height of the image on the film
176
+ * @remarks
177
+ * If {@link aspect | .aspect}. is less than or equal to one (portrait format), the result equals {@link filmGauge | .filmGauge}.
178
+ */
179
+ getFilmHeight(): number;
180
+
181
+ /**
182
+ * Computes the 2D bounds of the camera's viewable rectangle at a given distance along the viewing direction.
183
+ * Sets minTarget and maxTarget to the coordinates of the lower-left and upper-right corners of the view rectangle.
184
+ */
185
+ getViewBounds(distance: number, minTarget: Vector2, maxTarget: Vector2): void;
186
+
187
+ /**
188
+ * Computes the width and height of the camera's viewable rectangle at a given distance along the viewing direction.
189
+ * Copies the result into the target Vector2, where x is width and y is height.
190
+ */
191
+ getViewSize(distance: number, target: Vector2): Vector2;
192
+
193
+ /**
194
+ * Sets an offset in a larger frustum.
195
+ * @remarks
196
+ * This is useful for multi-window or multi-monitor/multi-machine setups.
197
+ *
198
+ * For example, if you have 3x2 monitors and each monitor is _1920x1080_ and
199
+ * the monitors are in grid like this
200
+ * ```
201
+ * ┌───┬───┬───┐
202
+ * │ A │ B │ C │
203
+ * ├───┼───┼───┤
204
+ * │ D │ E │ F │
205
+ * └───┴───┴───┘
206
+ * ```
207
+ * then for each monitor you would call it like this
208
+ * ```typescript
209
+ * const w = 1920;
210
+ * const h = 1080;
211
+ * const fullWidth = w * 3;
212
+ * const fullHeight = h * 2;
213
+ *
214
+ * // Monitor - A
215
+ * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );
216
+ * // Monitor - B
217
+ * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h );
218
+ * // Monitor - C
219
+ * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h );
220
+ * // Monitor - D
221
+ * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h );
222
+ * // Monitor - E
223
+ * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );
224
+ * // Monitor - F
225
+ * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );
226
+ * ```
227
+ * Note there is no reason monitors have to be the same size or in a grid.
228
+ * @param fullWidth Full width of multiview setup Expects a `Float`.
229
+ * @param fullHeight Full height of multiview setup Expects a `Float`.
230
+ * @param x Horizontal offset of subcamera Expects a `Float`.
231
+ * @param y Vertical offset of subcamera Expects a `Float`.
232
+ * @param width Width of subcamera Expects a `Float`.
233
+ * @param height Height of subcamera Expects a `Float`.
234
+ */
235
+ setViewOffset(fullWidth: number, fullHeight: number, x: number, y: number, width: number, height: number): void;
236
+
237
+ /**
238
+ * Removes any offset set by the {@link setViewOffset | .setViewOffset} method.
239
+ */
240
+ clearViewOffset(): void;
241
+
242
+ /**
243
+ * Updates the camera projection matrix
244
+ * @remarks Must be called after any change of parameters.
245
+ */
246
+ updateProjectionMatrix(): void;
247
+
248
+ /**
249
+ * @deprecated Use {@link PerspectiveCamera.setFocalLength | .setFocalLength()} and {@link PerspectiveCamera.filmGauge | .filmGauge} instead.
250
+ */
251
+ setLens(focalLength: number, frameHeight?: number): void;
252
+
253
+ toJSON(meta?: JSONMeta): PerspectiveCameraJSON;
254
+ }