@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,9 @@
1
+ import Node from '../core/Node.js';
2
+ import VarNode from '../core/VarNode.js';
3
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+
5
+ export const reflectView: ShaderNodeObject<Node>;
6
+ export const refractView: ShaderNodeObject<Node>;
7
+
8
+ export const reflectVector: ShaderNodeObject<VarNode>;
9
+ export const refractVector: ShaderNodeObject<VarNode>;
@@ -0,0 +1,11 @@
1
+ import Renderer from '../../renderers/common/Renderer.js';
2
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+ import ReferenceNode from './ReferenceNode.js';
4
+
5
+ export default class RendererReferenceNode extends ReferenceNode<Renderer> {
6
+ renderer: Renderer | null;
7
+
8
+ constructor(property: string, inputType: string, renderer?: Renderer | null);
9
+ }
10
+
11
+ export const rendererReference: (name: string, type: string, renderer?: Renderer | null) => ShaderNodeObject<RendererReferenceNode>;
@@ -0,0 +1,20 @@
1
+ import { SkinnedMesh } from '../../objects/SkinnedMesh.js';
2
+ import Node from '../core/Node.js';
3
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+
5
+ export default class SkinningNode extends Node {
6
+ skinnedMesh: SkinnedMesh;
7
+ useReference: boolean;
8
+
9
+ skinIndexNode: Node;
10
+ skinWeightNode: Node;
11
+
12
+ bindMatrixNode: Node;
13
+ bindMatrixInverseNode: Node;
14
+ boneMatricesNode: Node;
15
+
16
+ constructor(skinnedMesh: SkinnedMesh, useReference?: boolean);
17
+ }
18
+
19
+ export const skinning: (skinnedMesh: SkinnedMesh) => ShaderNodeObject<SkinningNode>;
20
+ export const skinningReference: (skinnedMesh: SkinnedMesh) => ShaderNodeObject<SkinningNode>;
@@ -0,0 +1,26 @@
1
+ import StorageBufferAttribute from '../../renderers/common/StorageBufferAttribute.js';
2
+ import StorageInstancedBufferAttribute from '../../renderers/common/StorageInstancedBufferAttribute.js';
3
+ import { GPUBufferBindingType } from '../../renderers/webgpu/utils/WebGPUConstants.js';
4
+ import { NodeOrType, NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
5
+ import StorageArrayElementNode from '../utils/StoargeArrayElementNode.js';
6
+ import BufferNode from './BufferNode.js';
7
+
8
+ export default class StorageBufferNode extends BufferNode {
9
+ readonly isStorageBufferNode: true;
10
+ bufferObject: boolean;
11
+
12
+ access: GPUBufferBindingType;
13
+
14
+ constructor(value: StorageBufferAttribute | StorageInstancedBufferAttribute, bufferType: string, bufferCount?: number);
15
+
16
+ element(indexNode: NodeRepresentation): ShaderNodeObject<StorageArrayElementNode>;
17
+
18
+ setBufferObject(value: boolean): this;
19
+
20
+ setAccess(value: GPUBufferBindingType): this;
21
+
22
+ toReadOnly(): this;
23
+ }
24
+
25
+ export const storage: (value: StorageBufferAttribute | StorageInstancedBufferAttribute, nodeOrType: NodeOrType, count: number) => ShaderNodeObject<StorageBufferNode>;
26
+ export const storageObject: (value: StorageBufferAttribute | StorageInstancedBufferAttribute, nodeOrType: NodeOrType, count: number) => ShaderNodeObject<StorageBufferNode>;
@@ -0,0 +1,28 @@
1
+ import { GPUStorageTextureAccess } from '../../renderers/webgpu/utils/WebGPUConstants.js';
2
+ import { Texture } from '../../textures/Texture.js';
3
+ import Node from '../core/Node.js';
4
+ import NodeBuilder from '../core/NodeBuilder.js';
5
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
6
+ import TextureNode from './TextureNode.js';
7
+
8
+ export default class StorageTextureNode extends TextureNode {
9
+ storeNode: Node | null;
10
+
11
+ readonly isStorageTextureNode: true;
12
+
13
+ access: GPUStorageTextureAccess;
14
+
15
+ constructor(value: Texture, uvNode?: ShaderNodeObject<Node> | null, storeNode?: Node | null);
16
+
17
+ setAccess(value: GPUStorageTextureAccess): this;
18
+
19
+ toReadOnly(): this;
20
+
21
+ toWriteOnly(): this;
22
+
23
+ generateStore(builder: NodeBuilder): void;
24
+ }
25
+
26
+ export const storageTexture: (value: Texture, uvNode?: NodeRepresentation, storeNode?: NodeRepresentation) => ShaderNodeObject<StorageTextureNode>;
27
+
28
+ export const textureStore: (value: Texture, uvNode?: NodeRepresentation, storeNode?: NodeRepresentation) => ShaderNodeObject<StorageTextureNode>;
@@ -0,0 +1,12 @@
1
+ import AttributeNode from '../core/AttributeNode.js';
2
+ import VarNode from '../core/VarNode.js';
3
+ import VaryingNode from '../core/VaryingNode.js';
4
+ import MathNode from '../math/MathNode.js';
5
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
6
+
7
+ export const tangentGeometry: ShaderNodeObject<AttributeNode>;
8
+ export const tangentLocal: ShaderNodeObject<VaryingNode>;
9
+ export const tangentView: ShaderNodeObject<MathNode>;
10
+ export const tangentWorld: ShaderNodeObject<MathNode>;
11
+ export const transformedTangentView: ShaderNodeObject<VarNode>;
12
+ export const transformedTangentWorld: ShaderNodeObject<MathNode>;
@@ -0,0 +1,13 @@
1
+ import { CubeTexture } from '../../textures/CubeTexture.js';
2
+ import { Texture } from '../../textures/Texture.js';
3
+ import Node from '../core/Node.js';
4
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
5
+ import TextureNode from './TextureNode.js';
6
+
7
+ export default class Texture3DNode extends TextureNode {
8
+ readonly isTexture3DNode: true;
9
+
10
+ constructor(value: Texture, uvNode?: ShaderNodeObject<Node> | null, levelNode?: ShaderNodeObject<Node> | null);
11
+ }
12
+
13
+ export const texture3D: (value: Texture, uvNode?: NodeRepresentation, levelNode?: NodeRepresentation) => ShaderNodeObject<Texture3DNode>;
@@ -0,0 +1,18 @@
1
+ import Node from '../core/Node.js';
2
+ import TempNode from '../core/TempNode.js';
3
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+
5
+ export default class TextureBicubicNode extends TempNode {
6
+ textureNode: Node;
7
+ blurNode: Node;
8
+
9
+ constructor(textureNode: Node, blurNode?: Node);
10
+ }
11
+
12
+ export const textureBicubic: (textureNode: Node, blurNode?: NodeRepresentation) => ShaderNodeObject<TextureBicubicNode>;
13
+
14
+ declare module '../shadernode/ShaderNode.js' {
15
+ interface NodeElements {
16
+ bicubic: typeof textureBicubic;
17
+ }
18
+ }
@@ -0,0 +1,37 @@
1
+ import { Texture } from '../../textures/Texture.js';
2
+ import Node from '../core/Node.js';
3
+ import UniformNode from '../core/UniformNode.js';
4
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
5
+
6
+ export default class TextureNode extends UniformNode<Texture> {
7
+ readonly isTextureNode: true;
8
+
9
+ uvNode: ShaderNodeObject<Node> | null;
10
+ levelNode: ShaderNodeObject<Node> | null;
11
+ biasNode: ShaderNodeObject<Node> | null;
12
+ compareNode: Node | null;
13
+ depthNode: Node | null;
14
+ gradNode: Node | null;
15
+
16
+ sampler: boolean;
17
+ updateMatrix: boolean;
18
+
19
+ referenceNode: Node | null;
20
+
21
+ constructor(value: Texture, uvNode?: ShaderNodeObject<Node> | null, levelNode?: ShaderNodeObject<Node> | null, biasNode?: ShaderNodeObject<Node> | null);
22
+
23
+ getDefaultUV(): Node;
24
+
25
+ grad(gradeNodeX: NodeRepresentation, gradeNodeY: NodeRepresentation): ShaderNodeObject<Node>;
26
+
27
+ clone(): this;
28
+ }
29
+
30
+ export const texture: (value: Texture, uvNode?: NodeRepresentation, levelNode?: NodeRepresentation, biasNode?: NodeRepresentation) => ShaderNodeObject<TextureNode>;
31
+ export const sampler: (aTexture: Texture | TextureNode) => ShaderNodeObject<Node>;
32
+
33
+ declare module '../shadernode/ShaderNode.js' {
34
+ interface NodeElements {
35
+ texture: typeof texture;
36
+ }
37
+ }
@@ -0,0 +1,4 @@
1
+ import AttributeNode from '../core/AttributeNode.js';
2
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+
4
+ export const uv: (index?: number) => ShaderNodeObject<AttributeNode>;
@@ -0,0 +1,23 @@
1
+ import Node from '../core/Node.js';
2
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+ import ArrayElementNode from '../utils/ArrayElementNode.js';
4
+ import BufferNode from './BufferNode.js';
5
+
6
+ declare class UniformsElementNode extends ArrayElementNode {
7
+ constructor(arrayBuffer: Node, indexNode: Node);
8
+ }
9
+
10
+ export default class UniformsNode extends BufferNode {
11
+ array: unknown[];
12
+ elementType: string | null;
13
+
14
+ readonly isArrayBufferNode: true;
15
+
16
+ constructor(value: unknown[], elementType?: string | null);
17
+
18
+ getElementLength(): number;
19
+
20
+ element(indexNode: number): ShaderNodeObject<UniformsElementNode>;
21
+ }
22
+
23
+ export const uniforms: (values: unknown[], nodeType?: string | null) => ShaderNodeObject<UniformsNode>;
@@ -0,0 +1,11 @@
1
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
2
+ import ReferenceNode from './ReferenceNode.js';
3
+
4
+ export type NodeUserData = Record<string, any>;
5
+
6
+ export default class UserDataNode extends ReferenceNode<NodeUserData> {
7
+ userData: NodeUserData | null;
8
+ constructor(property: string, inputType: string, userData?: NodeUserData | null);
9
+ }
10
+
11
+ export const userData: (name: string, inputType: string, userData?: NodeUserData) => ShaderNodeObject<UserDataNode>;
@@ -0,0 +1,12 @@
1
+ import AttributeNode from '../core/AttributeNode.js';
2
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+
4
+ export default class VertexColorNode extends AttributeNode {
5
+ readonly isVertexColorNode: true;
6
+
7
+ index: number;
8
+
9
+ constructor(index?: number);
10
+ }
11
+
12
+ export const vertexColor: (index?: number) => ShaderNodeObject<VertexColorNode>;
@@ -0,0 +1,23 @@
1
+ import Node from '../core/Node.js';
2
+ import NodeBuilder from '../core/NodeBuilder.js';
3
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+
5
+ export interface CodeNodeInclude {
6
+ build(builder: NodeBuilder): void;
7
+ }
8
+
9
+ export default class CodeNode extends Node {
10
+ isCodeNode: true;
11
+ code: string;
12
+ language: string;
13
+
14
+ constructor(code?: string, includes?: CodeNodeInclude[], language?: string);
15
+
16
+ setIncludes(includes: CodeNodeInclude[]): this;
17
+ getIncludes(builder: NodeBuilder): CodeNodeInclude[];
18
+ }
19
+
20
+ export const code: (code: string, includes?: CodeNodeInclude[], language?: string) => ShaderNodeObject<CodeNode>;
21
+ export const js: (src: string, includes?: CodeNodeInclude[]) => ShaderNodeObject<CodeNode>;
22
+ export const wgsl: (src: string, includes?: CodeNodeInclude[]) => ShaderNodeObject<CodeNode>;
23
+ export const glsl: (src: string, includes?: CodeNodeInclude[]) => ShaderNodeObject<CodeNode>;
@@ -0,0 +1,9 @@
1
+ import TempNode from '../core/TempNode.js';
2
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+
4
+ export default class ExpressionNode extends TempNode {
5
+ snipped: string; /* sic */
6
+ constructor(snipped?: string, nodeType?: string);
7
+ }
8
+
9
+ export const expression: (snipped?: string, nodeType?: string) => ShaderNodeObject<ExpressionNode>;
@@ -0,0 +1,22 @@
1
+ import Node from '../core/Node.js';
2
+ import TempNode from '../core/TempNode.js';
3
+ import { ProxiedObject, ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+ import FunctionNode, { FunctionNodeArguments } from './FunctionNode.js';
5
+
6
+ export default class FunctionCallNode<P extends Node[] | { [name: string]: Node }> extends TempNode {
7
+ functionNode: FunctionNode<P>;
8
+ parameters: { [name: string]: Node };
9
+
10
+ constructor(functionNode?: FunctionNode<P>, parameters?: P);
11
+
12
+ setParameters(parameters: P): this;
13
+ getParameters(): P;
14
+ }
15
+
16
+ export const call: <P extends FunctionNodeArguments>(functionNode?: FunctionNode<P>, parameters?: ProxiedObject<P>) => ShaderNodeObject<FunctionCallNode<P>>;
17
+
18
+ declare module '../shadernode/ShaderNode.js' {
19
+ interface NodeElements {
20
+ call: typeof call;
21
+ }
22
+ }
@@ -0,0 +1,38 @@
1
+ import Node from '../core/Node.js';
2
+ import NodeBuilder from '../core/NodeBuilder.js';
3
+ import NodeFunction from '../core/NodeFunction.js';
4
+ import NodeFunctionInput from '../core/NodeFunctionInput.js';
5
+ import { ProxiedObject, ProxiedTuple, ShaderNodeObject } from '../shadernode/ShaderNode.js';
6
+ import CodeNode, { CodeNodeInclude } from './CodeNode.js';
7
+ import FunctionCallNode from './FunctionCallNode.js';
8
+
9
+ export type FunctionNodeArguments = Node[] | { [name: string]: Node };
10
+
11
+ export default class FunctionNode<P extends Node[] | { [name: string]: Node }> extends CodeNode {
12
+ keywords: { [key: string]: Node };
13
+ constructor(code?: string, includes?: CodeNodeInclude[], language?: string);
14
+
15
+ getInputs(builder: NodeBuilder): NodeFunctionInput[];
16
+ getNodeFunction(builder: NodeBuilder): NodeFunction;
17
+ call(parameters: P): FunctionCallNode<P>;
18
+ }
19
+
20
+ export type Fn<P extends FunctionNodeArguments> = P extends readonly [...unknown[]] ? ProxiedTuple<P> : readonly [ProxiedObject<P>];
21
+
22
+ export const nativeFn: <P extends FunctionNodeArguments>(
23
+ code: string,
24
+ includes?: CodeNodeInclude[],
25
+ language?: string
26
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
27
+ ) => (...params: Fn<P>) => ShaderNodeObject<Node>;
28
+
29
+ export const glslFn: <P extends FunctionNodeArguments>(
30
+ code: string,
31
+ includes?: CodeNodeInclude[]
32
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
33
+ ) => (...params: Fn<P>) => ShaderNodeObject<Node>;
34
+ export const wgslFn: <P extends FunctionNodeArguments>(
35
+ code: string,
36
+ includes?: CodeNodeInclude[]
37
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
38
+ ) => (...params: Fn<P>) => ShaderNodeObject<Node>;
@@ -0,0 +1,18 @@
1
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
2
+ import Node from './Node.js';
3
+ import NodeBuilder from './NodeBuilder.js';
4
+ import TempNode from './TempNode.js';
5
+
6
+ export default class AssignNode extends TempNode {
7
+ constructor(targetNode: Node, sourceNode: Node);
8
+
9
+ needsSplitAssign(builder: NodeBuilder): boolean;
10
+ }
11
+
12
+ export const assign: (targetNode: NodeRepresentation, sourceNode: NodeRepresentation) => ShaderNodeObject<AssignNode>;
13
+
14
+ declare module '../shadernode/ShaderNode.js' {
15
+ interface NodeElements {
16
+ assign: typeof assign;
17
+ }
18
+ }
@@ -0,0 +1,15 @@
1
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
2
+ import Node from './Node.js';
3
+ import NodeBuilder from './NodeBuilder.js';
4
+
5
+ export default class AttributeNode extends Node {
6
+ defaultNode: Node | null;
7
+
8
+ constructor(attributeName: string, nodeType?: string | null, defaultNode?: Node | null);
9
+
10
+ setAttributeName(attributeName: string): this;
11
+
12
+ getAttributeName(builder: NodeBuilder): string;
13
+ }
14
+
15
+ export const attribute: (name: string, nodeType?: string | null, defaultNode?: NodeRepresentation) => ShaderNodeObject<AttributeNode>;
@@ -0,0 +1,18 @@
1
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
2
+ import Node from './Node.js';
3
+
4
+ export default class BypassNode extends Node {
5
+ isBypassNode: true;
6
+ outputNode: Node;
7
+ callNode: Node;
8
+
9
+ constructor(returnNode: Node, callNode: Node);
10
+ }
11
+
12
+ export const bypass: (returnNode: NodeRepresentation, callNode: NodeRepresentation) => ShaderNodeObject<BypassNode>;
13
+
14
+ declare module '../shadernode/ShaderNode.js' {
15
+ interface NodeElements {
16
+ bypass: typeof bypass;
17
+ }
18
+ }
@@ -0,0 +1,20 @@
1
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
2
+ import Node from './Node.js';
3
+ import NodeCache from './NodeCache.js';
4
+
5
+ export default class CacheNode extends Node {
6
+ node: Node;
7
+ parent: boolean;
8
+
9
+ readonly isCacheNode: true;
10
+
11
+ constructor(node: Node, parent?: boolean);
12
+ }
13
+
14
+ export const cache: (node: Node, cache?: NodeCache) => ShaderNodeObject<CacheNode>;
15
+
16
+ declare module '../shadernode/ShaderNode.js' {
17
+ interface NodeElements {
18
+ cache: typeof cache;
19
+ }
20
+ }
@@ -0,0 +1,9 @@
1
+ import InputNode from './InputNode.js';
2
+ import NodeBuilder from './NodeBuilder.js';
3
+
4
+ export default class ConstNode<Value> extends InputNode<Value> {
5
+ isConstNode: true;
6
+ constructor(value: Value, nodeType?: string | null);
7
+
8
+ generateConst(builder: NodeBuilder): string;
9
+ }
@@ -0,0 +1,21 @@
1
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
2
+ import Node from './Node.js';
3
+ import { NodeBuilderContext } from './NodeBuilder.js';
4
+
5
+ export default class ContextNode extends Node {
6
+ isContextNode: true;
7
+ node: Node;
8
+ context: NodeBuilderContext;
9
+
10
+ constructor(node: Node, context: NodeBuilderContext);
11
+ }
12
+
13
+ export const context: (node: NodeRepresentation, context: NodeBuilderContext) => ShaderNodeObject<ContextNode>;
14
+ export const label: (node: NodeRepresentation, label: string) => ShaderNodeObject<ContextNode>;
15
+
16
+ declare module '../shadernode/ShaderNode.js' {
17
+ interface NodeElements {
18
+ context: typeof context;
19
+ label: typeof label;
20
+ }
21
+ }
@@ -0,0 +1,20 @@
1
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
2
+ import Node from './Node.js';
3
+
4
+ export type IndexNodeScope = typeof IndexNode.VERTEX | typeof IndexNode.INSTANCE | typeof IndexNode.DRAW;
5
+
6
+ export default class IndexNode extends Node {
7
+ scope: IndexNodeScope;
8
+
9
+ readonly isInstanceNode: true;
10
+
11
+ constructor(scope: IndexNodeScope);
12
+
13
+ static VERTEX: 'vertex';
14
+ static INSTANCE: 'instance';
15
+ static DRAW: 'draw';
16
+ }
17
+
18
+ export const vertexIndex: ShaderNodeObject<IndexNode>;
19
+ export const instanceIndex: ShaderNodeObject<IndexNode>;
20
+ export const drawIndex: ShaderNodeObject<IndexNode>;
@@ -0,0 +1,15 @@
1
+ import Node from './Node.js';
2
+ import NodeBuilder from './NodeBuilder.js';
3
+
4
+ export type Precision = 'low' | 'medium' | 'high';
5
+
6
+ export default abstract class InputNode<Value> extends Node {
7
+ isInputNode: true;
8
+ value: Value;
9
+ precision: Precision | null;
10
+
11
+ constructor(value: Value, nodeType?: string | null);
12
+
13
+ getInputType(builder: NodeBuilder): string | null;
14
+ setPrecision(precision: Precision): this;
15
+ }
@@ -0,0 +1,46 @@
1
+ import Node from './Node.js';
2
+ import NodeBuilder from './NodeBuilder.js';
3
+ import StackNode from './StackNode.js';
4
+
5
+ export interface LightingModelReflectedLight {
6
+ directDiffuse: Node;
7
+ directSpecular: Node;
8
+ indirectDiffuse: Node;
9
+ indirectSpecular: Node;
10
+ }
11
+
12
+ export interface LightingModelDirectInput {
13
+ lightDirection: Node;
14
+ lightColor: Node;
15
+ reflectedLight: LightingModelReflectedLight;
16
+ }
17
+
18
+ export interface LightingModelDirectRectAreaInput {
19
+ lightColor: Node;
20
+ lightPosition: Node;
21
+ halfWidth: Node;
22
+ halfHeight: Node;
23
+ reflectedLight: LightingModelReflectedLight;
24
+ ltc_1: Node;
25
+ ltc_2: Node;
26
+ }
27
+
28
+ export interface LightingModelIndirectInput {
29
+ radiance: Node;
30
+ irradiance: Node;
31
+ iblIrradiance: Node;
32
+ ambientOcclusion: Node;
33
+ reflectedLight: LightingModelReflectedLight;
34
+ backdrop: Node;
35
+ backdropAlpha: Node;
36
+ outgoingLight: Node;
37
+ }
38
+
39
+ export default class LightingModel {
40
+ start(input: LightingModelIndirectInput, stack: StackNode, builder: NodeBuilder): void;
41
+ finish(input: LightingModelIndirectInput, stack: StackNode, builder: NodeBuilder): void;
42
+ direct(input: LightingModelDirectInput, stack: StackNode, builder: NodeBuilder): void;
43
+ directRectArea(input: LightingModelDirectRectAreaInput, stack: StackNode, builder: NodeBuilder): void;
44
+ indirect(input: LightingModelIndirectInput, stack: StackNode, builder: NodeBuilder): void;
45
+ ambientOcclusion(input: LightingModelIndirectInput, stack: StackNode, builder: NodeBuilder): void;
46
+ }
@@ -0,0 +1,19 @@
1
+ import { Node } from '../Nodes.js';
2
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+ import OutputStructNode from './OutputStructNode.js';
4
+
5
+ declare class MRTNode extends OutputStructNode {
6
+ outputNodes: { [name: string]: Node };
7
+
8
+ readonly isMRTNode: true;
9
+
10
+ constructor(outputNodes: { [name: string]: Node });
11
+
12
+ getNode(name: string): Node;
13
+
14
+ merge(mrtNode: MRTNode): ShaderNodeObject<MRTNode>;
15
+ }
16
+
17
+ export default MRTNode;
18
+
19
+ export const mrt: (outputNodes: { [name: string]: Node }) => ShaderNodeObject<MRTNode>;