three-stdlib 2.8.9 → 2.8.12

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 (480) hide show
  1. package/Nodes-607e9ed8.js +471 -0
  2. package/Nodes-627a8bdf.js +1 -0
  3. package/index.cjs.js +1 -1
  4. package/index.d.ts +1 -127
  5. package/index.js +122 -128
  6. package/lines/LineMaterial.d.ts +7 -6
  7. package/loaders/NodeMaterialLoader.cjs.js +1 -1
  8. package/loaders/NodeMaterialLoader.js +2 -136
  9. package/modifiers/CurveModifier.cjs.js +1 -1
  10. package/modifiers/CurveModifier.d.ts +13 -9
  11. package/modifiers/CurveModifier.js +27 -30
  12. package/nodes/Nodes.cjs.js +1 -1
  13. package/nodes/Nodes.js +203 -76
  14. package/nodes/ShaderNode.cjs.js +1 -0
  15. package/nodes/ShaderNode.js +308 -0
  16. package/nodes/accessors/BufferNode.cjs.js +1 -0
  17. package/nodes/accessors/BufferNode.js +18 -0
  18. package/nodes/accessors/CameraNode.cjs.js +1 -1
  19. package/nodes/accessors/CameraNode.js +32 -138
  20. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  21. package/nodes/accessors/CubeTextureNode.js +53 -0
  22. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  23. package/nodes/accessors/MaterialNode.js +80 -0
  24. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  25. package/nodes/accessors/MaterialReferenceNode.js +16 -0
  26. package/nodes/accessors/ModelNode.cjs.js +1 -0
  27. package/nodes/accessors/ModelNode.js +10 -0
  28. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  29. package/nodes/accessors/ModelViewProjectionNode.js +22 -0
  30. package/nodes/accessors/NormalNode.cjs.js +1 -1
  31. package/nodes/accessors/NormalNode.js +48 -78
  32. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  33. package/nodes/accessors/Object3DNode.js +85 -0
  34. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  35. package/nodes/accessors/PointUVNode.js +16 -0
  36. package/nodes/accessors/PositionNode.cjs.js +1 -1
  37. package/nodes/accessors/PositionNode.js +49 -87
  38. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  39. package/nodes/accessors/ReferenceNode.js +43 -0
  40. package/nodes/accessors/ReflectNode.cjs.js +1 -1
  41. package/nodes/accessors/ReflectNode.js +35 -98
  42. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  43. package/nodes/accessors/SkinningNode.js +59 -0
  44. package/nodes/accessors/TextureNode.cjs.js +1 -0
  45. package/nodes/accessors/TextureNode.js +68 -0
  46. package/nodes/accessors/UVNode.cjs.js +1 -1
  47. package/nodes/accessors/UVNode.js +20 -38
  48. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  49. package/nodes/core/ArrayUniformNode.js +17 -0
  50. package/nodes/core/AttributeNode.cjs.js +1 -1
  51. package/nodes/core/AttributeNode.js +31 -40
  52. package/nodes/core/BypassNode.cjs.js +1 -0
  53. package/nodes/core/BypassNode.js +28 -0
  54. package/nodes/core/CodeNode.cjs.js +1 -0
  55. package/nodes/core/CodeNode.js +35 -0
  56. package/nodes/core/ConstNode.cjs.js +1 -1
  57. package/nodes/core/ConstNode.js +10 -78
  58. package/nodes/core/ContextNode.cjs.js +1 -0
  59. package/nodes/core/ContextNode.js +26 -0
  60. package/nodes/core/ExpressionNode.cjs.js +1 -1
  61. package/nodes/core/ExpressionNode.js +19 -8
  62. package/nodes/core/FunctionCallNode.cjs.js +1 -1
  63. package/nodes/core/FunctionCallNode.js +31 -60
  64. package/nodes/core/FunctionNode.cjs.js +1 -1
  65. package/nodes/core/FunctionNode.js +45 -166
  66. package/nodes/core/InputNode.cjs.js +1 -1
  67. package/nodes/core/InputNode.js +43 -57
  68. package/nodes/core/Node.cjs.js +1 -1
  69. package/nodes/core/Node.js +155 -113
  70. package/nodes/core/NodeAttribute.cjs.js +1 -0
  71. package/nodes/core/NodeAttribute.js +11 -0
  72. package/nodes/core/NodeBuilder.cjs.js +1 -1
  73. package/nodes/core/NodeBuilder.js +422 -548
  74. package/nodes/core/NodeCode.cjs.js +1 -0
  75. package/nodes/core/NodeCode.js +13 -0
  76. package/nodes/core/NodeFrame.cjs.js +1 -1
  77. package/nodes/core/NodeFrame.js +34 -27
  78. package/nodes/core/NodeFunction.cjs.js +1 -0
  79. package/nodes/core/NodeFunction.js +17 -0
  80. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  81. package/nodes/core/NodeFunctionInput.js +14 -0
  82. package/nodes/core/NodeKeywords.cjs.js +1 -0
  83. package/nodes/core/NodeKeywords.js +54 -0
  84. package/nodes/core/NodeParser.cjs.js +1 -0
  85. package/nodes/core/NodeParser.js +8 -0
  86. package/nodes/core/NodeUniform.cjs.js +1 -1
  87. package/nodes/core/NodeUniform.js +18 -17
  88. package/nodes/core/NodeUtils.cjs.js +1 -1
  89. package/nodes/core/NodeUtils.js +55 -35
  90. package/nodes/core/NodeVar.cjs.js +1 -0
  91. package/nodes/core/NodeVar.js +11 -0
  92. package/nodes/core/NodeVary.cjs.js +1 -0
  93. package/nodes/core/NodeVary.js +11 -0
  94. package/nodes/core/PropertyNode.cjs.js +1 -0
  95. package/nodes/core/PropertyNode.js +26 -0
  96. package/nodes/core/TempNode.cjs.js +1 -1
  97. package/nodes/core/TempNode.js +21 -88
  98. package/nodes/core/UniformNode.cjs.js +1 -0
  99. package/nodes/core/UniformNode.js +28 -0
  100. package/nodes/core/VarNode.cjs.js +1 -1
  101. package/nodes/core/VarNode.js +28 -35
  102. package/nodes/core/VaryNode.cjs.js +1 -0
  103. package/nodes/core/VaryNode.js +38 -0
  104. package/nodes/core/constants.cjs.js +1 -0
  105. package/nodes/core/constants.js +11 -0
  106. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  107. package/nodes/display/ColorSpaceNode.js +67 -0
  108. package/nodes/display/NormalMapNode.cjs.js +1 -0
  109. package/nodes/display/NormalMapNode.js +71 -0
  110. package/nodes/fog/FogNode.cjs.js +1 -0
  111. package/nodes/fog/FogNode.js +18 -0
  112. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  113. package/nodes/fog/FogRangeNode.js +20 -0
  114. package/nodes/functions/BSDFs.cjs.js +1 -0
  115. package/nodes/functions/BSDFs.js +121 -0
  116. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  117. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  118. package/nodes/lights/LightContextNode.cjs.js +1 -0
  119. package/nodes/lights/LightContextNode.js +43 -0
  120. package/nodes/lights/LightNode.cjs.js +1 -0
  121. package/nodes/lights/LightNode.js +61 -0
  122. package/nodes/lights/LightsNode.cjs.js +1 -0
  123. package/nodes/lights/LightsNode.js +77 -0
  124. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  125. package/nodes/loaders/NodeLoader.js +80 -0
  126. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  127. package/nodes/loaders/NodeMaterialLoader.js +29 -0
  128. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  129. package/nodes/loaders/NodeObjectLoader.js +49 -0
  130. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  131. package/nodes/materials/LineBasicNodeMaterial.js +31 -0
  132. package/nodes/materials/Materials.cjs.js +1 -0
  133. package/nodes/materials/Materials.js +27 -0
  134. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  135. package/nodes/materials/MeshBasicNodeMaterial.js +32 -0
  136. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -1
  137. package/nodes/materials/MeshStandardNodeMaterial.js +41 -13
  138. package/nodes/materials/NodeMaterial.cjs.js +1 -1
  139. package/nodes/materials/NodeMaterial.js +67 -140
  140. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  141. package/nodes/materials/PointsNodeMaterial.js +34 -0
  142. package/nodes/math/CondNode.cjs.js +1 -1
  143. package/nodes/math/CondNode.js +33 -74
  144. package/nodes/math/MathNode.cjs.js +1 -1
  145. package/nodes/math/MathNode.js +193 -193
  146. package/nodes/math/OperatorNode.cjs.js +1 -1
  147. package/nodes/math/OperatorNode.js +116 -52
  148. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  149. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  150. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  151. package/nodes/parsers/GLSLNodeParser.js +13 -0
  152. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  153. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  154. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  155. package/nodes/parsers/WGSLNodeParser.js +13 -0
  156. package/nodes/procedural/CheckerNode.cjs.js +1 -1
  157. package/nodes/procedural/CheckerNode.js +22 -40
  158. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  159. package/nodes/utils/ArrayElementNode.js +22 -0
  160. package/nodes/utils/ConvertNode.cjs.js +1 -0
  161. package/nodes/utils/ConvertNode.js +29 -0
  162. package/nodes/utils/JoinNode.cjs.js +1 -1
  163. package/nodes/utils/JoinNode.js +19 -69
  164. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  165. package/nodes/utils/MatcapUVNode.js +18 -0
  166. package/nodes/utils/OscNode.cjs.js +1 -0
  167. package/nodes/utils/OscNode.js +55 -0
  168. package/nodes/utils/SplitNode.cjs.js +1 -0
  169. package/nodes/utils/SplitNode.js +58 -0
  170. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  171. package/nodes/utils/SpriteSheetUVNode.js +39 -0
  172. package/nodes/utils/TimerNode.cjs.js +1 -1
  173. package/nodes/utils/TimerNode.js +38 -56
  174. package/objects/Lensflare.cjs.js +1 -1
  175. package/objects/Lensflare.js +11 -3
  176. package/package.json +3 -3
  177. package/postprocessing/AfterimagePass.d.ts +2 -30
  178. package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -1
  179. package/shaders/ACESFilmicToneMappingShader.d.ts +9 -0
  180. package/shaders/ACESFilmicToneMappingShader.js +1 -1
  181. package/shaders/AfterimageShader.d.ts +9 -15
  182. package/shaders/BasicShader.cjs.js +1 -1
  183. package/shaders/BasicShader.d.ts +5 -5
  184. package/shaders/BasicShader.js +1 -1
  185. package/shaders/BleachBypassShader.cjs.js +1 -1
  186. package/shaders/BleachBypassShader.d.ts +8 -9
  187. package/shaders/BleachBypassShader.js +1 -1
  188. package/shaders/BlendShader.cjs.js +1 -1
  189. package/shaders/BlendShader.d.ts +13 -7
  190. package/shaders/BlendShader.js +1 -1
  191. package/shaders/BokehShader.cjs.js +1 -1
  192. package/shaders/BokehShader.d.ts +18 -19
  193. package/shaders/BokehShader.js +1 -1
  194. package/shaders/BokehShader2.cjs.js +1 -1
  195. package/shaders/BokehShader2.d.ts +80 -34
  196. package/shaders/BokehShader2.js +2 -2
  197. package/shaders/BrightnessContrastShader.cjs.js +1 -1
  198. package/shaders/BrightnessContrastShader.d.ts +10 -6
  199. package/shaders/BrightnessContrastShader.js +1 -1
  200. package/shaders/ColorCorrectionShader.cjs.js +1 -1
  201. package/shaders/ColorCorrectionShader.d.ts +14 -7
  202. package/shaders/ColorCorrectionShader.js +1 -1
  203. package/shaders/ColorifyShader.cjs.js +1 -1
  204. package/shaders/ColorifyShader.d.ts +8 -5
  205. package/shaders/ColorifyShader.js +1 -1
  206. package/shaders/ConvolutionShader.cjs.js +1 -1
  207. package/shaders/ConvolutionShader.d.ts +15 -16
  208. package/shaders/ConvolutionShader.js +9 -14
  209. package/shaders/CopyShader.d.ts +8 -12
  210. package/shaders/DOFMipMapShader.cjs.js +1 -1
  211. package/shaders/DOFMipMapShader.d.ts +13 -7
  212. package/shaders/DOFMipMapShader.js +1 -1
  213. package/shaders/DepthLimitedBlurShader.cjs.js +1 -1
  214. package/shaders/DepthLimitedBlurShader.d.ts +26 -25
  215. package/shaders/DepthLimitedBlurShader.js +12 -16
  216. package/shaders/DigitalGlitch.cjs.js +1 -1
  217. package/shaders/DigitalGlitch.d.ts +34 -14
  218. package/shaders/DigitalGlitch.js +1 -10
  219. package/shaders/DotScreenShader.cjs.js +1 -1
  220. package/shaders/DotScreenShader.d.ts +17 -8
  221. package/shaders/DotScreenShader.js +1 -1
  222. package/shaders/FXAAShader.cjs.js +1 -1
  223. package/shaders/FXAAShader.d.ts +8 -5
  224. package/shaders/FXAAShader.js +1 -1
  225. package/shaders/FilmShader.cjs.js +1 -1
  226. package/shaders/FilmShader.d.ts +19 -9
  227. package/shaders/FilmShader.js +1 -1
  228. package/shaders/FocusShader.cjs.js +1 -1
  229. package/shaders/FocusShader.d.ts +16 -8
  230. package/shaders/FocusShader.js +1 -1
  231. package/shaders/FreiChenShader.cjs.js +1 -1
  232. package/shaders/FreiChenShader.d.ts +8 -5
  233. package/shaders/FreiChenShader.js +1 -1
  234. package/shaders/FresnelShader.cjs.js +1 -1
  235. package/shaders/FresnelShader.d.ts +21 -0
  236. package/shaders/FresnelShader.js +1 -1
  237. package/shaders/GammaCorrectionShader.d.ts +7 -7
  238. package/shaders/GodRaysShader.cjs.js +1 -1
  239. package/shaders/GodRaysShader.d.ts +38 -20
  240. package/shaders/GodRaysShader.js +4 -4
  241. package/shaders/HalftoneShader.cjs.js +1 -1
  242. package/shaders/HalftoneShader.d.ts +40 -16
  243. package/shaders/HalftoneShader.js +1 -1
  244. package/shaders/HorizontalBlurShader.d.ts +8 -8
  245. package/shaders/HorizontalTiltShiftShader.cjs.js +1 -1
  246. package/shaders/HorizontalTiltShiftShader.d.ts +10 -6
  247. package/shaders/HorizontalTiltShiftShader.js +1 -1
  248. package/shaders/HueSaturationShader.cjs.js +1 -1
  249. package/shaders/HueSaturationShader.d.ts +10 -6
  250. package/shaders/HueSaturationShader.js +1 -1
  251. package/shaders/KaleidoShader.cjs.js +1 -1
  252. package/shaders/KaleidoShader.d.ts +10 -6
  253. package/shaders/KaleidoShader.js +1 -1
  254. package/shaders/LuminosityHighPassShader.cjs.js +1 -1
  255. package/shaders/LuminosityHighPassShader.d.ts +17 -8
  256. package/shaders/LuminosityHighPassShader.js +1 -1
  257. package/shaders/LuminosityShader.cjs.js +1 -1
  258. package/shaders/LuminosityShader.d.ts +4 -4
  259. package/shaders/LuminosityShader.js +1 -1
  260. package/shaders/MirrorShader.cjs.js +1 -1
  261. package/shaders/MirrorShader.d.ts +7 -5
  262. package/shaders/MirrorShader.js +1 -1
  263. package/shaders/NormalMapShader.cjs.js +1 -1
  264. package/shaders/NormalMapShader.d.ts +14 -7
  265. package/shaders/NormalMapShader.js +1 -1
  266. package/shaders/ParallaxShader.cjs.js +1 -1
  267. package/shaders/ParallaxShader.d.ts +28 -0
  268. package/shaders/ParallaxShader.js +1 -1
  269. package/shaders/PixelShader.cjs.js +1 -1
  270. package/shaders/PixelShader.d.ts +10 -6
  271. package/shaders/PixelShader.js +1 -1
  272. package/shaders/RGBShiftShader.cjs.js +1 -1
  273. package/shaders/RGBShiftShader.d.ts +10 -6
  274. package/shaders/RGBShiftShader.js +1 -1
  275. package/shaders/SAOShader.cjs.js +1 -1
  276. package/shaders/SAOShader.d.ts +24 -29
  277. package/shaders/SAOShader.js +1 -5
  278. package/shaders/SMAAShader.cjs.js +1 -1
  279. package/shaders/SMAAShader.d.ts +31 -16
  280. package/shaders/SMAAShader.js +3 -3
  281. package/shaders/SSAOShader.cjs.js +1 -1
  282. package/shaders/SSAOShader.d.ts +58 -25
  283. package/shaders/SSAOShader.js +3 -3
  284. package/shaders/SSRShader.cjs.js +1 -1
  285. package/shaders/SSRShader.d.ts +67 -36
  286. package/shaders/SSRShader.js +3 -3
  287. package/shaders/SepiaShader.cjs.js +1 -1
  288. package/shaders/SepiaShader.d.ts +7 -5
  289. package/shaders/SepiaShader.js +1 -1
  290. package/shaders/SobelOperatorShader.cjs.js +1 -1
  291. package/shaders/SobelOperatorShader.d.ts +8 -5
  292. package/shaders/SobelOperatorShader.js +1 -1
  293. package/shaders/SubsurfaceScatteringShader.cjs.js +1 -1
  294. package/shaders/SubsurfaceScatteringShader.d.ts +2 -34
  295. package/shaders/SubsurfaceScatteringShader.js +3 -3
  296. package/shaders/TechnicolorShader.cjs.js +1 -1
  297. package/shaders/TechnicolorShader.d.ts +4 -4
  298. package/shaders/TechnicolorShader.js +1 -1
  299. package/shaders/ToneMapShader.cjs.js +1 -1
  300. package/shaders/ToneMapShader.d.ts +19 -9
  301. package/shaders/ToneMapShader.js +1 -1
  302. package/shaders/ToonShader.cjs.js +1 -1
  303. package/shaders/ToonShader.d.ts +80 -34
  304. package/shaders/ToonShader.js +4 -4
  305. package/shaders/TriangleBlurShader.cjs.js +1 -1
  306. package/shaders/TriangleBlurShader.d.ts +8 -5
  307. package/shaders/TriangleBlurShader.js +1 -1
  308. package/shaders/UnpackDepthRGBAShader.cjs.js +1 -1
  309. package/shaders/UnpackDepthRGBAShader.d.ts +7 -5
  310. package/shaders/UnpackDepthRGBAShader.js +1 -1
  311. package/shaders/VerticalBlurShader.cjs.js +1 -1
  312. package/shaders/VerticalBlurShader.d.ts +8 -8
  313. package/shaders/VerticalBlurShader.js +1 -1
  314. package/shaders/VerticalTiltShiftShader.cjs.js +1 -1
  315. package/shaders/VerticalTiltShiftShader.d.ts +10 -6
  316. package/shaders/VerticalTiltShiftShader.js +1 -1
  317. package/shaders/VignetteShader.cjs.js +1 -1
  318. package/shaders/VignetteShader.d.ts +10 -6
  319. package/shaders/VignetteShader.js +1 -1
  320. package/shaders/VolumeShader.cjs.js +1 -1
  321. package/shaders/VolumeShader.d.ts +20 -9
  322. package/shaders/VolumeShader.js +1 -1
  323. package/shaders/WaterRefractionShader.cjs.js +1 -1
  324. package/shaders/WaterRefractionShader.d.ts +16 -8
  325. package/shaders/WaterRefractionShader.js +1 -1
  326. package/shaders/index.cjs.js +1 -0
  327. package/shaders/index.d.ts +53 -0
  328. package/shaders/index.js +53 -0
  329. package/shaders/types.cjs.js +1 -0
  330. package/shaders/types.d.ts +14 -0
  331. package/shaders/types.js +1 -0
  332. package/types/shared.d.ts +0 -20
  333. package/Nodes-894ac9dc.js +0 -1
  334. package/Nodes-af575af7.js +0 -157
  335. package/nodes/accessors/ColorsNode.cjs.js +0 -1
  336. package/nodes/accessors/ColorsNode.d.ts +0 -10
  337. package/nodes/accessors/ColorsNode.js +0 -40
  338. package/nodes/accessors/LightNode.cjs.js +0 -1
  339. package/nodes/accessors/LightNode.d.ts +0 -12
  340. package/nodes/accessors/LightNode.js +0 -41
  341. package/nodes/accessors/ResolutionNode.cjs.js +0 -1
  342. package/nodes/accessors/ResolutionNode.d.ts +0 -14
  343. package/nodes/accessors/ResolutionNode.js +0 -41
  344. package/nodes/accessors/ScreenUVNode.cjs.js +0 -1
  345. package/nodes/accessors/ScreenUVNode.d.ts +0 -11
  346. package/nodes/accessors/ScreenUVNode.js +0 -43
  347. package/nodes/core/NodeLib.cjs.js +0 -1
  348. package/nodes/core/NodeLib.d.ts +0 -22
  349. package/nodes/core/NodeLib.js +0 -37
  350. package/nodes/core/StructNode.cjs.js +0 -1
  351. package/nodes/core/StructNode.d.ts +0 -19
  352. package/nodes/core/StructNode.js +0 -72
  353. package/nodes/effects/BlurNode.cjs.js +0 -1
  354. package/nodes/effects/BlurNode.d.ts +0 -31
  355. package/nodes/effects/BlurNode.js +0 -100
  356. package/nodes/effects/ColorAdjustmentNode.cjs.js +0 -1
  357. package/nodes/effects/ColorAdjustmentNode.d.ts +0 -27
  358. package/nodes/effects/ColorAdjustmentNode.js +0 -73
  359. package/nodes/effects/LuminanceNode.cjs.js +0 -1
  360. package/nodes/effects/LuminanceNode.d.ts +0 -18
  361. package/nodes/effects/LuminanceNode.js +0 -46
  362. package/nodes/inputs/BoolNode.cjs.js +0 -1
  363. package/nodes/inputs/BoolNode.d.ts +0 -19
  364. package/nodes/inputs/BoolNode.js +0 -36
  365. package/nodes/inputs/ColorNode.cjs.js +0 -1
  366. package/nodes/inputs/ColorNode.d.ts +0 -21
  367. package/nodes/inputs/ColorNode.js +0 -41
  368. package/nodes/inputs/CubeTextureNode.cjs.js +0 -1
  369. package/nodes/inputs/CubeTextureNode.d.ts +0 -17
  370. package/nodes/inputs/CubeTextureNode.js +0 -79
  371. package/nodes/inputs/FloatNode.cjs.js +0 -1
  372. package/nodes/inputs/FloatNode.d.ts +0 -19
  373. package/nodes/inputs/FloatNode.js +0 -36
  374. package/nodes/inputs/IntNode.cjs.js +0 -1
  375. package/nodes/inputs/IntNode.d.ts +0 -19
  376. package/nodes/inputs/IntNode.js +0 -36
  377. package/nodes/inputs/Matrix3Node.cjs.js +0 -1
  378. package/nodes/inputs/Matrix3Node.d.ts +0 -22
  379. package/nodes/inputs/Matrix3Node.js +0 -46
  380. package/nodes/inputs/Matrix4Node.cjs.js +0 -1
  381. package/nodes/inputs/Matrix4Node.d.ts +0 -22
  382. package/nodes/inputs/Matrix4Node.js +0 -46
  383. package/nodes/inputs/PropertyNode.cjs.js +0 -1
  384. package/nodes/inputs/PropertyNode.d.ts +0 -10
  385. package/nodes/inputs/PropertyNode.js +0 -35
  386. package/nodes/inputs/RTTNode.cjs.js +0 -1
  387. package/nodes/inputs/RTTNode.d.ts +0 -27
  388. package/nodes/inputs/RTTNode.js +0 -103
  389. package/nodes/inputs/ReflectorNode.cjs.js +0 -1
  390. package/nodes/inputs/ReflectorNode.d.ts +0 -21
  391. package/nodes/inputs/ReflectorNode.js +0 -60
  392. package/nodes/inputs/ScreenNode.cjs.js +0 -1
  393. package/nodes/inputs/ScreenNode.d.ts +0 -11
  394. package/nodes/inputs/ScreenNode.js +0 -20
  395. package/nodes/inputs/TextureNode.cjs.js +0 -1
  396. package/nodes/inputs/TextureNode.d.ts +0 -20
  397. package/nodes/inputs/TextureNode.js +0 -83
  398. package/nodes/inputs/Vector2Node.cjs.js +0 -1
  399. package/nodes/inputs/Vector2Node.d.ts +0 -21
  400. package/nodes/inputs/Vector2Node.js +0 -40
  401. package/nodes/inputs/Vector3Node.cjs.js +0 -1
  402. package/nodes/inputs/Vector3Node.d.ts +0 -21
  403. package/nodes/inputs/Vector3Node.js +0 -41
  404. package/nodes/inputs/Vector4Node.cjs.js +0 -1
  405. package/nodes/inputs/Vector4Node.d.ts +0 -21
  406. package/nodes/inputs/Vector4Node.js +0 -42
  407. package/nodes/materials/BasicNodeMaterial.cjs.js +0 -1
  408. package/nodes/materials/BasicNodeMaterial.d.ts +0 -11
  409. package/nodes/materials/BasicNodeMaterial.js +0 -15
  410. package/nodes/materials/PhongNodeMaterial.cjs.js +0 -1
  411. package/nodes/materials/PhongNodeMaterial.d.ts +0 -21
  412. package/nodes/materials/PhongNodeMaterial.js +0 -15
  413. package/nodes/materials/SpriteNodeMaterial.cjs.js +0 -1
  414. package/nodes/materials/SpriteNodeMaterial.d.ts +0 -12
  415. package/nodes/materials/SpriteNodeMaterial.js +0 -15
  416. package/nodes/materials/StandardNodeMaterial.cjs.js +0 -1
  417. package/nodes/materials/StandardNodeMaterial.d.ts +0 -25
  418. package/nodes/materials/StandardNodeMaterial.js +0 -15
  419. package/nodes/materials/nodes/BasicNode.cjs.js +0 -1
  420. package/nodes/materials/nodes/BasicNode.d.ts +0 -15
  421. package/nodes/materials/nodes/BasicNode.js +0 -91
  422. package/nodes/materials/nodes/MeshStandardNode.cjs.js +0 -1
  423. package/nodes/materials/nodes/MeshStandardNode.d.ts +0 -25
  424. package/nodes/materials/nodes/MeshStandardNode.js +0 -81
  425. package/nodes/materials/nodes/PhongNode.cjs.js +0 -1
  426. package/nodes/materials/nodes/PhongNode.d.ts +0 -14
  427. package/nodes/materials/nodes/PhongNode.js +0 -212
  428. package/nodes/materials/nodes/RawNode.cjs.js +0 -1
  429. package/nodes/materials/nodes/RawNode.d.ts +0 -10
  430. package/nodes/materials/nodes/RawNode.js +0 -42
  431. package/nodes/materials/nodes/SpriteNode.cjs.js +0 -1
  432. package/nodes/materials/nodes/SpriteNode.d.ts +0 -13
  433. package/nodes/materials/nodes/SpriteNode.js +0 -113
  434. package/nodes/materials/nodes/StandardNode.cjs.js +0 -1
  435. package/nodes/materials/nodes/StandardNode.d.ts +0 -15
  436. package/nodes/materials/nodes/StandardNode.js +0 -336
  437. package/nodes/misc/BumpMapNode.cjs.js +0 -1
  438. package/nodes/misc/BumpMapNode.d.ts +0 -21
  439. package/nodes/misc/BumpMapNode.js +0 -80
  440. package/nodes/misc/NormalMapNode.cjs.js +0 -1
  441. package/nodes/misc/NormalMapNode.d.ts +0 -19
  442. package/nodes/misc/NormalMapNode.js +0 -102
  443. package/nodes/misc/TextureCubeNode.cjs.js +0 -1
  444. package/nodes/misc/TextureCubeNode.d.ts +0 -21
  445. package/nodes/misc/TextureCubeNode.js +0 -52
  446. package/nodes/misc/TextureCubeUVNode.cjs.js +0 -1
  447. package/nodes/misc/TextureCubeUVNode.d.ts +0 -18
  448. package/nodes/misc/TextureCubeUVNode.js +0 -229
  449. package/nodes/postprocessing/NodePass.cjs.js +0 -1
  450. package/nodes/postprocessing/NodePass.d.ts +0 -15
  451. package/nodes/postprocessing/NodePass.js +0 -61
  452. package/nodes/postprocessing/NodePostProcessing.cjs.js +0 -1
  453. package/nodes/postprocessing/NodePostProcessing.d.ts +0 -26
  454. package/nodes/postprocessing/NodePostProcessing.js +0 -91
  455. package/nodes/procedural/NoiseNode.cjs.js +0 -1
  456. package/nodes/procedural/NoiseNode.d.ts +0 -17
  457. package/nodes/procedural/NoiseNode.js +0 -43
  458. package/nodes/utils/BypassNode.cjs.js +0 -1
  459. package/nodes/utils/BypassNode.d.ts +0 -11
  460. package/nodes/utils/BypassNode.js +0 -55
  461. package/nodes/utils/ColorSpaceNode.cjs.js +0 -1
  462. package/nodes/utils/ColorSpaceNode.d.ts +0 -55
  463. package/nodes/utils/ColorSpaceNode.js +0 -106
  464. package/nodes/utils/MaxMIPLevelNode.cjs.js +0 -1
  465. package/nodes/utils/MaxMIPLevelNode.d.ts +0 -11
  466. package/nodes/utils/MaxMIPLevelNode.js +0 -38
  467. package/nodes/utils/SpecularMIPLevelNode.cjs.js +0 -1
  468. package/nodes/utils/SpecularMIPLevelNode.d.ts +0 -17
  469. package/nodes/utils/SpecularMIPLevelNode.js +0 -61
  470. package/nodes/utils/SubSlotNode.cjs.js +0 -1
  471. package/nodes/utils/SubSlotNode.js +0 -53
  472. package/nodes/utils/SwitchNode.cjs.js +0 -1
  473. package/nodes/utils/SwitchNode.d.ts +0 -11
  474. package/nodes/utils/SwitchNode.js +0 -69
  475. package/nodes/utils/UVTransformNode.cjs.js +0 -1
  476. package/nodes/utils/UVTransformNode.d.ts +0 -15
  477. package/nodes/utils/UVTransformNode.js +0 -46
  478. package/nodes/utils/VelocityNode.cjs.js +0 -1
  479. package/nodes/utils/VelocityNode.d.ts +0 -28
  480. package/nodes/utils/VelocityNode.js +0 -115
@@ -0,0 +1,308 @@
1
+ import PropertyNode from './core/PropertyNode.js';
2
+ import VarNode from './core/VarNode.js';
3
+ import AttributeNode from './core/AttributeNode.js';
4
+ import ConstNode from './core/ConstNode.js';
5
+ import UniformNode from './core/UniformNode.js';
6
+ import BufferNode from './accessors/BufferNode.js';
7
+ import PositionNode from './accessors/PositionNode.js';
8
+ import NormalNode from './accessors/NormalNode.js';
9
+ import CameraNode from './accessors/CameraNode.js';
10
+ import ModelNode from './accessors/ModelNode.js';
11
+ import TextureNode from './accessors/TextureNode.js';
12
+ import UVNode from './accessors/UVNode.js';
13
+ import OperatorNode from './math/OperatorNode.js';
14
+ import CondNode from './math/CondNode.js';
15
+ import MathNode from './math/MathNode.js';
16
+ import ArrayElementNode from './utils/ArrayElementNode.js';
17
+ import ConvertNode from './utils/ConvertNode.js';
18
+ import JoinNode from './utils/JoinNode.js';
19
+ import SplitNode from './utils/SplitNode.js';
20
+ import { getValueFromType } from './core/NodeUtils.js';
21
+
22
+ // core nodes
23
+ const NodeHandler = {
24
+ construct(NodeClosure, params) {
25
+ const inputs = params.shift();
26
+ return NodeClosure(new ShaderNodeObjects(inputs), ...params);
27
+ },
28
+
29
+ get: function (node, prop) {
30
+ if (typeof prop === 'string' && node[prop] === undefined) {
31
+ if (/^[xyzwrgbastpq]{1,4}$/.test(prop) === true) {
32
+ // accessing properties ( swizzle )
33
+ prop = prop.replace(/r|s/g, 'x').replace(/g|t/g, 'y').replace(/b|p/g, 'z').replace(/a|q/g, 'w');
34
+ return new ShaderNodeObject(new SplitNode(node, prop));
35
+ } else if (/^\d+$/.test(prop) === true) {
36
+ // accessing array
37
+ return new ShaderNodeObject(new ArrayElementNode(node, uint(Number(prop))));
38
+ }
39
+ }
40
+
41
+ return node[prop];
42
+ }
43
+ };
44
+ const nodeObjects = new WeakMap();
45
+
46
+ const ShaderNodeObject = function (obj) {
47
+ const type = typeof obj;
48
+
49
+ if (type === 'number' || type === 'boolean') {
50
+ return new ShaderNodeObject(getAutoTypedConstNode(obj));
51
+ } else if (type === 'object') {
52
+ if (obj.isNode === true) {
53
+ let nodeObject = nodeObjects.get(obj);
54
+
55
+ if (nodeObject === undefined) {
56
+ nodeObject = new Proxy(obj, NodeHandler);
57
+ nodeObjects.set(obj, nodeObject);
58
+ nodeObjects.set(nodeObject, nodeObject);
59
+ }
60
+
61
+ return nodeObject;
62
+ }
63
+ }
64
+
65
+ return obj;
66
+ };
67
+
68
+ const ShaderNodeObjects = function (objects) {
69
+ for (const name in objects) {
70
+ objects[name] = new ShaderNodeObject(objects[name]);
71
+ }
72
+
73
+ return objects;
74
+ };
75
+
76
+ const getShaderNodeArray = array => {
77
+ const len = array.length;
78
+
79
+ for (let i = 0; i < len; i++) {
80
+ array[i] = new ShaderNodeObject(array[i]);
81
+ }
82
+
83
+ return array;
84
+ };
85
+
86
+ const ShaderNodeProxy = function (NodeClass, scope = null, factor = null) {
87
+ if (scope === null) {
88
+ return (...params) => {
89
+ return new ShaderNodeObject(new NodeClass(...getShaderNodeArray(params)));
90
+ };
91
+ } else if (factor === null) {
92
+ return (...params) => {
93
+ return new ShaderNodeObject(new NodeClass(scope, ...getShaderNodeArray(params)));
94
+ };
95
+ } else {
96
+ factor = new ShaderNodeObject(factor);
97
+ return (...params) => {
98
+ return new ShaderNodeObject(new NodeClass(scope, ...getShaderNodeArray(params), factor));
99
+ };
100
+ }
101
+ };
102
+
103
+ const ShaderNodeScript = function (jsFunc) {
104
+ return (inputs, builder) => {
105
+ new ShaderNodeObjects(inputs);
106
+ return new ShaderNodeObject(jsFunc(inputs, builder));
107
+ };
108
+ };
109
+
110
+ const bools = [false, true];
111
+ const uints = [0, 1, 2, 3];
112
+ const ints = [-1, -2];
113
+ const floats = [0.5, 1.5, 1 / 3, 1e-6, 1e6, Math.PI, Math.PI * 2, 1 / Math.PI, 2 / Math.PI, 1 / (Math.PI * 2), Math.PI / 2];
114
+ const boolsCacheMap = new Map();
115
+
116
+ for (let bool of bools) boolsCacheMap.set(bool, new ConstNode(bool));
117
+
118
+ const uintsCacheMap = new Map();
119
+
120
+ for (let uint of uints) uintsCacheMap.set(uint, new ConstNode(uint, 'uint'));
121
+
122
+ const intsCacheMap = new Map([...uintsCacheMap].map(el => new ConstNode(el.value, 'int')));
123
+
124
+ for (let int of ints) intsCacheMap.set(int, new ConstNode(int, 'int'));
125
+
126
+ const floatsCacheMap = new Map([...intsCacheMap].map(el => new ConstNode(el.value)));
127
+
128
+ for (let float of floats) floatsCacheMap.set(float, new ConstNode(float));
129
+
130
+ for (let float of floats) floatsCacheMap.set(-float, new ConstNode(-float));
131
+
132
+ const constNodesCacheMap = new Map([...boolsCacheMap, ...floatsCacheMap]);
133
+
134
+ const getAutoTypedConstNode = value => {
135
+ if (constNodesCacheMap.has(value)) {
136
+ return constNodesCacheMap.get(value);
137
+ } else if (value.isNode === true) {
138
+ return value;
139
+ } else {
140
+ return new ConstNode(value);
141
+ }
142
+ };
143
+
144
+ const ConvertType = function (type, cacheMap = null) {
145
+ return (...params) => {
146
+ if (params.length === 0) {
147
+ return nodeObject(new ConstNode(getValueFromType(type), type));
148
+ } else {
149
+ if (type === 'color' && params[0].isNode !== true) {
150
+ params = [getValueFromType(type, ...params)];
151
+ }
152
+
153
+ if (params.length === 1 && cacheMap !== null && cacheMap.has(params[0])) {
154
+ return cacheMap.get(params[0]);
155
+ }
156
+
157
+ const nodes = params.map(getAutoTypedConstNode);
158
+ return nodeObject(new ConvertNode(nodes.length === 1 ? nodes[0] : new JoinNode(nodes), type));
159
+ }
160
+ };
161
+ }; //
162
+ // Node Material Shader Syntax
163
+ //
164
+
165
+
166
+ const ShaderNode = new Proxy(ShaderNodeScript, NodeHandler);
167
+ const nodeObject = val => {
168
+ return new ShaderNodeObject(val);
169
+ };
170
+ const uniform = value => {
171
+ var _value$node;
172
+
173
+ // TODO: get ConstNode from .traverse() in the future
174
+ value = value.isNode === true ? ((_value$node = value.node) === null || _value$node === void 0 ? void 0 : _value$node.value) || value.value : value;
175
+ return nodeObject(new UniformNode(value, value.nodeType));
176
+ };
177
+ const label = (node, name) => {
178
+ node = nodeObject(node);
179
+
180
+ if (node.isVarNode === true) {
181
+ node.name = name;
182
+ return node;
183
+ }
184
+
185
+ return nodeObject(new VarNode(node, name));
186
+ };
187
+ const temp = node => nodeObject(new VarNode(nodeObject(node)));
188
+ const color = new ConvertType('color');
189
+ const float = new ConvertType('float', floatsCacheMap);
190
+ const int = new ConvertType('int', intsCacheMap);
191
+ const uint = new ConvertType('uint', uintsCacheMap);
192
+ const bool = new ConvertType('bool', boolsCacheMap);
193
+ const vec2 = new ConvertType('vec2');
194
+ const ivec2 = new ConvertType('ivec2');
195
+ const uvec2 = new ConvertType('uvec2');
196
+ const bvec2 = new ConvertType('bvec2');
197
+ const vec3 = new ConvertType('vec3');
198
+ const ivec3 = new ConvertType('ivec3');
199
+ const uvec3 = new ConvertType('uvec3');
200
+ const bvec3 = new ConvertType('bvec3');
201
+ const vec4 = new ConvertType('vec4');
202
+ const ivec4 = new ConvertType('ivec4');
203
+ const uvec4 = new ConvertType('uvec4');
204
+ const bvec4 = new ConvertType('bvec4');
205
+ const mat3 = new ConvertType('mat3');
206
+ const imat3 = new ConvertType('imat3');
207
+ const umat3 = new ConvertType('umat3');
208
+ const bmat3 = new ConvertType('bmat3');
209
+ const mat4 = new ConvertType('mat4');
210
+ const imat4 = new ConvertType('imat4');
211
+ const umat4 = new ConvertType('umat4');
212
+ const bmat4 = new ConvertType('bmat4');
213
+ const join = (...params) => nodeObject(new JoinNode(getShaderNodeArray(params)));
214
+ const uv = (...params) => nodeObject(new UVNode(...params));
215
+ const attribute = (...params) => nodeObject(new AttributeNode(...params));
216
+ const buffer = (...params) => nodeObject(new BufferNode(...params));
217
+ const texture = (...params) => nodeObject(new TextureNode(...params));
218
+ const sampler = texture => nodeObject(new ConvertNode(texture.isNode === true ? texture : new TextureNode(texture), 'sampler'));
219
+ const cond = (...params) => nodeObject(new CondNode(...getShaderNodeArray(params)));
220
+ const addTo = (varNode, ...params) => {
221
+ varNode.node = add(varNode.node, ...getShaderNodeArray(params));
222
+ return nodeObject(varNode);
223
+ };
224
+ const add = new ShaderNodeProxy(OperatorNode, '+');
225
+ const sub = new ShaderNodeProxy(OperatorNode, '-');
226
+ const mul = new ShaderNodeProxy(OperatorNode, '*');
227
+ const div = new ShaderNodeProxy(OperatorNode, '/');
228
+ const remainder = new ShaderNodeProxy(OperatorNode, '%');
229
+ const equal = new ShaderNodeProxy(OperatorNode, '==');
230
+ const assign = new ShaderNodeProxy(OperatorNode, '=');
231
+ const lessThan = new ShaderNodeProxy(OperatorNode, '<');
232
+ const greaterThan = new ShaderNodeProxy(OperatorNode, '>');
233
+ const lessThanEqual = new ShaderNodeProxy(OperatorNode, '<=');
234
+ const greaterThanEqual = new ShaderNodeProxy(OperatorNode, '>=');
235
+ const and = new ShaderNodeProxy(OperatorNode, '&&');
236
+ const or = new ShaderNodeProxy(OperatorNode, '||');
237
+ const xor = new ShaderNodeProxy(OperatorNode, '^^');
238
+ const bitAnd = new ShaderNodeProxy(OperatorNode, '&');
239
+ const bitOr = new ShaderNodeProxy(OperatorNode, '|');
240
+ const bitXor = new ShaderNodeProxy(OperatorNode, '^');
241
+ const shiftLeft = new ShaderNodeProxy(OperatorNode, '<<');
242
+ const shiftRight = new ShaderNodeProxy(OperatorNode, '>>');
243
+ const element = new ShaderNodeProxy(ArrayElementNode);
244
+ const normalGeometry = new ShaderNodeObject(new NormalNode(NormalNode.GEOMETRY));
245
+ const normalLocal = new ShaderNodeObject(new NormalNode(NormalNode.LOCAL));
246
+ const normalWorld = new ShaderNodeObject(new NormalNode(NormalNode.WORLD));
247
+ const normalView = new ShaderNodeObject(new NormalNode(NormalNode.VIEW));
248
+ const transformedNormalView = new ShaderNodeObject(new VarNode(new NormalNode(NormalNode.VIEW), 'TransformedNormalView', 'vec3'));
249
+ const positionLocal = new ShaderNodeObject(new PositionNode(PositionNode.LOCAL));
250
+ const positionWorld = new ShaderNodeObject(new PositionNode(PositionNode.WORLD));
251
+ const positionView = new ShaderNodeObject(new PositionNode(PositionNode.VIEW));
252
+ const positionViewDirection = new ShaderNodeObject(new PositionNode(PositionNode.VIEW_DIRECTION));
253
+ const viewMatrix = new ShaderNodeObject(new ModelNode(ModelNode.VIEW_MATRIX));
254
+ const cameraPosition = new ShaderNodeObject(new CameraNode(CameraNode.POSITION));
255
+ const diffuseColor = new ShaderNodeObject(new PropertyNode('DiffuseColor', 'vec4'));
256
+ const roughness = new ShaderNodeObject(new PropertyNode('Roughness', 'float'));
257
+ const metalness = new ShaderNodeObject(new PropertyNode('Metalness', 'float'));
258
+ const alphaTest = new ShaderNodeObject(new PropertyNode('AlphaTest', 'float'));
259
+ const specularColor = new ShaderNodeObject(new PropertyNode('SpecularColor', 'color'));
260
+ const abs = new ShaderNodeProxy(MathNode, 'abs');
261
+ const acos = new ShaderNodeProxy(MathNode, 'acos');
262
+ const asin = new ShaderNodeProxy(MathNode, 'asin');
263
+ const atan = new ShaderNodeProxy(MathNode, 'atan');
264
+ const ceil = new ShaderNodeProxy(MathNode, 'ceil');
265
+ const clamp = new ShaderNodeProxy(MathNode, 'clamp');
266
+ const cos = new ShaderNodeProxy(MathNode, 'cos');
267
+ const cross = new ShaderNodeProxy(MathNode, 'cross');
268
+ const degrees = new ShaderNodeProxy(MathNode, 'degrees');
269
+ const dFdx = new ShaderNodeProxy(MathNode, 'dFdx');
270
+ const dFdy = new ShaderNodeProxy(MathNode, 'dFdy');
271
+ const distance = new ShaderNodeProxy(MathNode, 'distance');
272
+ const dot = new ShaderNodeProxy(MathNode, 'dot');
273
+ const exp = new ShaderNodeProxy(MathNode, 'exp');
274
+ const exp2 = new ShaderNodeProxy(MathNode, 'exp2');
275
+ const faceforward = new ShaderNodeProxy(MathNode, 'faceforward');
276
+ const floor = new ShaderNodeProxy(MathNode, 'floor');
277
+ const fract = new ShaderNodeProxy(MathNode, 'fract');
278
+ const invert = new ShaderNodeProxy(MathNode, 'invert');
279
+ const inversesqrt = new ShaderNodeProxy(MathNode, 'inversesqrt');
280
+ const length = new ShaderNodeProxy(MathNode, 'length');
281
+ const log = new ShaderNodeProxy(MathNode, 'log');
282
+ const log2 = new ShaderNodeProxy(MathNode, 'log2');
283
+ const max = new ShaderNodeProxy(MathNode, 'max');
284
+ const min = new ShaderNodeProxy(MathNode, 'min');
285
+ const mix = new ShaderNodeProxy(MathNode, 'mix');
286
+ const mod = new ShaderNodeProxy(MathNode, 'mod');
287
+ const negate = new ShaderNodeProxy(MathNode, 'negate');
288
+ const normalize = new ShaderNodeProxy(MathNode, 'normalize');
289
+ const pow = new ShaderNodeProxy(MathNode, 'pow');
290
+ const pow2 = new ShaderNodeProxy(MathNode, 'pow', 2);
291
+ const pow3 = new ShaderNodeProxy(MathNode, 'pow', 3);
292
+ const pow4 = new ShaderNodeProxy(MathNode, 'pow', 4);
293
+ const radians = new ShaderNodeProxy(MathNode, 'radians');
294
+ const reflect = new ShaderNodeProxy(MathNode, 'reflect');
295
+ const refract = new ShaderNodeProxy(MathNode, 'refract');
296
+ const round = new ShaderNodeProxy(MathNode, 'round');
297
+ const saturate = new ShaderNodeProxy(MathNode, 'saturate');
298
+ const sign = new ShaderNodeProxy(MathNode, 'sign');
299
+ const sin = new ShaderNodeProxy(MathNode, 'sin');
300
+ const smoothstep = new ShaderNodeProxy(MathNode, 'smoothstep');
301
+ const sqrt = new ShaderNodeProxy(MathNode, 'sqrt');
302
+ const step = new ShaderNodeProxy(MathNode, 'step');
303
+ const tan = new ShaderNodeProxy(MathNode, 'tan');
304
+ const transformDirection = new ShaderNodeProxy(MathNode, 'transformDirection');
305
+ const EPSILON = float(1e-6);
306
+ const INFINITY = float(1e6);
307
+
308
+ export { EPSILON, INFINITY, ShaderNode, abs, acos, add, addTo, alphaTest, and, asin, assign, atan, attribute, bitAnd, bitOr, bitXor, bmat3, bmat4, bool, buffer, bvec2, bvec3, bvec4, cameraPosition, ceil, clamp, color, cond, cos, cross, dFdx, dFdy, degrees, diffuseColor, distance, div, dot, element, equal, exp, exp2, faceforward, float, floor, fract, greaterThan, greaterThanEqual, imat3, imat4, int, inversesqrt, invert, ivec2, ivec3, ivec4, join, label, length, lessThan, lessThanEqual, log, log2, mat3, mat4, max, metalness, min, mix, mod, mul, negate, nodeObject, normalGeometry, normalLocal, normalView, normalWorld, normalize, or, positionLocal, positionView, positionViewDirection, positionWorld, pow, pow2, pow3, pow4, radians, reflect, refract, remainder, roughness, round, sampler, saturate, shiftLeft, shiftRight, sign, sin, smoothstep, specularColor, sqrt, step, sub, tan, temp, texture, transformDirection, transformedNormalView, uint, umat3, umat4, uniform, uv, uvec2, uvec3, uvec4, vec2, vec3, vec4, viewMatrix, xor };
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../core/UniformNode.cjs.js");require("../core/InputNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/constants.cjs.js"),require("../core/NodeUtils.cjs.js"),require("three");class r extends e{constructor(e,r,s=0){super(e,r),this.bufferType=r,this.bufferCount=s}getInputType(){return"buffer"}}r.prototype.isBufferNode=!0,module.exports=r;
@@ -0,0 +1,18 @@
1
+ import UniformNode from '../core/UniformNode.js';
2
+
3
+ class BufferNode extends UniformNode {
4
+ constructor(value, bufferType, bufferCount = 0) {
5
+ super(value, bufferType);
6
+ this.bufferType = bufferType;
7
+ this.bufferCount = bufferCount;
8
+ }
9
+
10
+ getInputType() {
11
+ return 'buffer';
12
+ }
13
+
14
+ }
15
+
16
+ BufferNode.prototype.isBufferNode = true;
17
+
18
+ export default BufferNode;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/TempNode.cjs.js"),t=require("../core/FunctionNode.cjs.js"),o=require("../inputs/FloatNode.cjs.js"),r=require("./PositionNode.cjs.js");function s(t,o){e.TempNode.call(this,"v3"),this.setScope(t||s.POSITION),this.setCamera(o)}require("three"),require("../core/Node.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/InputNode.cjs.js"),s.Nodes={depthColor:new t.FunctionNode(["float depthColor( float mNear, float mFar ) {","\t#ifdef USE_LOGDEPTHBUF_EXT","\t\tfloat depth = gl_FragDepthEXT / gl_FragCoord.w;","\t#else","\t\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;","\t#endif","\treturn 1.0 - smoothstep( mNear, mFar, depth );","}"].join("\n"))},s.POSITION="position",s.DEPTH="depth",s.TO_VERTEX="toVertex",s.prototype=Object.create(e.TempNode.prototype),s.prototype.constructor=s,s.prototype.nodeType="Camera",s.prototype.setCamera=function(e){this.camera=e,this.updateFrame=void 0!==e?this.onUpdateFrame:void 0},s.prototype.setScope=function(e){switch(this.scope){case s.DEPTH:delete this.near,delete this.far}switch(this.scope=e,e){case s.DEPTH:var t=this.camera;this.near=new o.FloatNode(t?t.near:1),this.far=new o.FloatNode(t?t.far:1200)}},s.prototype.getType=function(){switch(this.scope){case s.DEPTH:return"f"}return this.type},s.prototype.getUnique=function(){switch(this.scope){case s.DEPTH:case s.TO_VERTEX:return!0}return!1},s.prototype.getShared=function(){switch(this.scope){case s.POSITION:return!1}return!0},s.prototype.generate=function(e,t){var o;switch(this.scope){case s.POSITION:o="cameraPosition";break;case s.DEPTH:o=e.include(s.Nodes.depthColor)+"( "+this.near.build(e,"f")+", "+this.far.build(e,"f")+" )";break;case s.TO_VERTEX:o="normalize( "+new r.PositionNode(r.PositionNode.WORLD).build(e,"v3")+" - cameraPosition )"}return e.format(o,this.getType(e),t)},s.prototype.onUpdateFrame=function(){switch(this.scope){case s.DEPTH:var e=this.camera;this.near.value=e.near,this.far.value=e.far}},s.prototype.copy=function(t){switch(e.TempNode.prototype.copy.call(this,t),this.setScope(t.scope),t.camera&&this.setCamera(t.camera),t.scope){case s.DEPTH:this.near.number=t.near,this.far.number=t.far}return this},s.prototype.toJSON=function(e){var t=this.getJSONNode(e);if(!t)switch((t=this.createJSONNode(e)).scope=this.scope,this.camera&&(t.camera=this.camera.uuid),this.scope){case s.DEPTH:t.near=this.near.value,t.far=this.far.value}return t},exports.CameraNode=s;
1
+ "use strict";var e=require("@babel/runtime/helpers/defineProperty"),r=require("./Object3DNode.cjs.js");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("three"),require("../core/Node.cjs.js"),require("../core/constants.cjs.js"),require("../core/NodeUtils.cjs.js"),require("../core/UniformNode.cjs.js"),require("../core/InputNode.cjs.js");var s=t(e);class o extends r{constructor(e=o.POSITION){super(e)}getNodeType(e){return this.scope===o.PROJECTION_MATRIX?"mat4":super.getNodeType(e)}update(e){const r=e.camera,t=this._uniformNode,s=this.scope;s===o.PROJECTION_MATRIX?t.value=r.projectionMatrix:s===o.VIEW_MATRIX?t.value=r.matrixWorldInverse:(this.object3d=r,super.update(e))}generate(e){return this.scope===o.PROJECTION_MATRIX&&(this._uniformNode.nodeType="mat4"),super.generate(e)}}s.default(o,"PROJECTION_MATRIX","projectionMatrix"),module.exports=o;
@@ -1,154 +1,48 @@
1
- import { TempNode } from '../core/TempNode.js';
2
- import { FunctionNode } from '../core/FunctionNode.js';
3
- import { FloatNode } from '../inputs/FloatNode.js';
4
- import { PositionNode } from './PositionNode.js';
1
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
+ import Object3DNode from './Object3DNode.js';
5
3
 
6
- function CameraNode(scope, camera) {
7
- TempNode.call(this, 'v3');
8
- this.setScope(scope || CameraNode.POSITION);
9
- this.setCamera(camera);
10
- }
11
-
12
- CameraNode.Nodes = function () {
13
- var depthColor = new FunctionNode(['float depthColor( float mNear, float mFar ) {', ' #ifdef USE_LOGDEPTHBUF_EXT', ' float depth = gl_FragDepthEXT / gl_FragCoord.w;', ' #else', ' float depth = gl_FragCoord.z / gl_FragCoord.w;', ' #endif', ' return 1.0 - smoothstep( mNear, mFar, depth );', '}'].join('\n'));
14
- return {
15
- depthColor: depthColor
16
- };
17
- }();
18
-
19
- CameraNode.POSITION = 'position';
20
- CameraNode.DEPTH = 'depth';
21
- CameraNode.TO_VERTEX = 'toVertex';
22
- CameraNode.prototype = Object.create(TempNode.prototype);
23
- CameraNode.prototype.constructor = CameraNode;
24
- CameraNode.prototype.nodeType = 'Camera';
25
-
26
- CameraNode.prototype.setCamera = function (camera) {
27
- this.camera = camera;
28
- this.updateFrame = camera !== undefined ? this.onUpdateFrame : undefined;
29
- };
30
-
31
- CameraNode.prototype.setScope = function (scope) {
32
- switch (this.scope) {
33
- case CameraNode.DEPTH:
34
- delete this.near;
35
- delete this.far;
36
- break;
37
- }
38
-
39
- this.scope = scope;
40
-
41
- switch (scope) {
42
- case CameraNode.DEPTH:
43
- var camera = this.camera;
44
- this.near = new FloatNode(camera ? camera.near : 1);
45
- this.far = new FloatNode(camera ? camera.far : 1200);
46
- break;
47
- }
48
- };
49
-
50
- CameraNode.prototype.getType = function
51
- /* builder */
52
- () {
53
- switch (this.scope) {
54
- case CameraNode.DEPTH:
55
- return 'f';
56
- }
57
-
58
- return this.type;
59
- };
60
-
61
- CameraNode.prototype.getUnique = function
62
- /* builder */
63
- () {
64
- switch (this.scope) {
65
- case CameraNode.DEPTH:
66
- case CameraNode.TO_VERTEX:
67
- return true;
68
- }
69
-
70
- return false;
71
- };
72
-
73
- CameraNode.prototype.getShared = function
74
- /* builder */
75
- () {
76
- switch (this.scope) {
77
- case CameraNode.POSITION:
78
- return false;
4
+ class CameraNode extends Object3DNode {
5
+ constructor(scope = CameraNode.POSITION) {
6
+ super(scope);
79
7
  }
80
8
 
81
- return true;
82
- };
83
-
84
- CameraNode.prototype.generate = function (builder, output) {
85
- var result;
86
-
87
- switch (this.scope) {
88
- case CameraNode.POSITION:
89
- result = 'cameraPosition';
90
- break;
9
+ getNodeType(builder) {
10
+ const scope = this.scope;
91
11
 
92
- case CameraNode.DEPTH:
93
- var depthColor = builder.include(CameraNode.Nodes.depthColor);
94
- result = depthColor + '( ' + this.near.build(builder, 'f') + ', ' + this.far.build(builder, 'f') + ' )';
95
- break;
12
+ if (scope === CameraNode.PROJECTION_MATRIX) {
13
+ return 'mat4';
14
+ }
96
15
 
97
- case CameraNode.TO_VERTEX:
98
- result = 'normalize( ' + new PositionNode(PositionNode.WORLD).build(builder, 'v3') + ' - cameraPosition )';
99
- break;
16
+ return super.getNodeType(builder);
100
17
  }
101
18
 
102
- return builder.format(result, this.getType(builder), output);
103
- };
19
+ update(frame) {
20
+ const camera = frame.camera;
21
+ const uniformNode = this._uniformNode;
22
+ const scope = this.scope;
104
23
 
105
- CameraNode.prototype.onUpdateFrame = function
106
- /* frame */
107
- () {
108
- switch (this.scope) {
109
- case CameraNode.DEPTH:
110
- var camera = this.camera;
111
- this.near.value = camera.near;
112
- this.far.value = camera.far;
113
- break;
24
+ if (scope === CameraNode.PROJECTION_MATRIX) {
25
+ uniformNode.value = camera.projectionMatrix;
26
+ } else if (scope === CameraNode.VIEW_MATRIX) {
27
+ uniformNode.value = camera.matrixWorldInverse;
28
+ } else {
29
+ this.object3d = camera;
30
+ super.update(frame);
31
+ }
114
32
  }
115
- };
116
33
 
117
- CameraNode.prototype.copy = function (source) {
118
- TempNode.prototype.copy.call(this, source);
119
- this.setScope(source.scope);
34
+ generate(builder) {
35
+ const scope = this.scope;
120
36
 
121
- if (source.camera) {
122
- this.setCamera(source.camera);
123
- }
37
+ if (scope === CameraNode.PROJECTION_MATRIX) {
38
+ this._uniformNode.nodeType = 'mat4';
39
+ }
124
40
 
125
- switch (source.scope) {
126
- case CameraNode.DEPTH:
127
- this.near.number = source.near;
128
- this.far.number = source.far;
129
- break;
41
+ return super.generate(builder);
130
42
  }
131
43
 
132
- return this;
133
- };
134
-
135
- CameraNode.prototype.toJSON = function (meta) {
136
- var data = this.getJSONNode(meta);
137
-
138
- if (!data) {
139
- data = this.createJSONNode(meta);
140
- data.scope = this.scope;
141
- if (this.camera) data.camera = this.camera.uuid;
142
-
143
- switch (this.scope) {
144
- case CameraNode.DEPTH:
145
- data.near = this.near.value;
146
- data.far = this.far.value;
147
- break;
148
- }
149
- }
44
+ }
150
45
 
151
- return data;
152
- };
46
+ _defineProperty(CameraNode, "PROJECTION_MATRIX", 'projectionMatrix');
153
47
 
154
- export { CameraNode };
48
+ export default CameraNode;
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./TextureNode.cjs.js"),r=require("../core/UniformNode.cjs.js"),s=require("./ReflectNode.cjs.js");require("./UVNode.cjs.js"),require("../core/AttributeNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/constants.cjs.js"),require("../core/NodeUtils.cjs.js"),require("three"),require("../core/VaryNode.cjs.js"),require("../core/InputNode.cjs.js"),require("@babel/runtime/helpers/defineProperty"),require("../ShaderNode.cjs.js"),require("../core/PropertyNode.cjs.js"),require("../core/VarNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("./BufferNode.cjs.js"),require("./PositionNode.cjs.js"),require("./ModelNode.cjs.js"),require("./Object3DNode.cjs.js"),require("../math/MathNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/ExpressionNode.cjs.js"),require("../utils/JoinNode.cjs.js"),require("../utils/SplitNode.cjs.js"),require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeAttribute.cjs.js"),require("../core/NodeVary.cjs.js"),require("../core/NodeVar.cjs.js"),require("../core/NodeCode.cjs.js"),require("../core/NodeKeywords.cjs.js"),require("../math/OperatorNode.cjs.js"),require("./NormalNode.cjs.js"),require("./CameraNode.cjs.js"),require("../math/CondNode.cjs.js"),require("../core/ContextNode.cjs.js"),require("../utils/ArrayElementNode.cjs.js"),require("../utils/ConvertNode.cjs.js");class o extends e{constructor(e,r=new s,o=null){super(e,r,o)}getInputType(){return"cubeTexture"}generate(e,s){const o=this.value;if(!o||!0!==o.isCubeTexture)throw new Error("CubeTextureNode: Need a three.js cube texture.");const t=r.prototype.generate.call(this,e,"cubeTexture");if("sampler"===s)return t+"_sampler";if(e.isReference(s))return t;{const r=e.getDataFromNode(this);let o=r.snippet;if(void 0===o){const s=this.uvNode.build(e,"vec3"),u=this.biasNode;if(null!==u){const r=u.build(e,"float");o=e.getCubeTextureBias(t,s,r)}else o=e.getCubeTexture(t,s);r.snippet=o}return e.format(o,"vec4",s)}}}o.prototype.isCubeTextureNode=!0,module.exports=o;
@@ -0,0 +1,53 @@
1
+ import TextureNode from './TextureNode.js';
2
+ import UniformNode from '../core/UniformNode.js';
3
+ import ReflectNode from './ReflectNode.js';
4
+
5
+ class CubeTextureNode extends TextureNode {
6
+ constructor(value, uvNode = new ReflectNode(), biasNode = null) {
7
+ super(value, uvNode, biasNode);
8
+ }
9
+
10
+ getInputType() {
11
+ return 'cubeTexture';
12
+ }
13
+
14
+ generate(builder, output) {
15
+ const texture = this.value;
16
+
17
+ if (!texture || texture.isCubeTexture !== true) {
18
+ throw new Error('CubeTextureNode: Need a three.js cube texture.');
19
+ }
20
+
21
+ const textureProperty = UniformNode.prototype.generate.call(this, builder, 'cubeTexture');
22
+
23
+ if (output === 'sampler') {
24
+ return textureProperty + '_sampler';
25
+ } else if (builder.isReference(output)) {
26
+ return textureProperty;
27
+ } else {
28
+ const nodeData = builder.getDataFromNode(this);
29
+ let snippet = nodeData.snippet;
30
+
31
+ if (snippet === undefined) {
32
+ const uvSnippet = this.uvNode.build(builder, 'vec3');
33
+ const biasNode = this.biasNode;
34
+
35
+ if (biasNode !== null) {
36
+ const biasSnippet = biasNode.build(builder, 'float');
37
+ snippet = builder.getCubeTextureBias(textureProperty, uvSnippet, biasSnippet);
38
+ } else {
39
+ snippet = builder.getCubeTexture(textureProperty, uvSnippet);
40
+ }
41
+
42
+ nodeData.snippet = snippet;
43
+ }
44
+
45
+ return builder.format(snippet, 'vec4', output);
46
+ }
47
+ }
48
+
49
+ }
50
+
51
+ CubeTextureNode.prototype.isCubeTextureNode = true;
52
+
53
+ export default CubeTextureNode;
@@ -0,0 +1 @@
1
+ "use strict";var e=require("@babel/runtime/helpers/defineProperty"),r=require("../core/Node.cjs.js"),t=require("../math/OperatorNode.cjs.js"),o=require("./MaterialReferenceNode.cjs.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../core/constants.cjs.js"),require("../core/NodeUtils.cjs.js"),require("three"),require("../core/TempNode.cjs.js"),require("./ReferenceNode.cjs.js"),require("../core/UniformNode.cjs.js"),require("../core/InputNode.cjs.js");var a=s(e);class l extends r{constructor(e=l.COLOR){super(),this.scope=e}getNodeType(e){const r=this.scope,t=e.context.material;return r===l.COLOR?null!==t.map?"vec4":"vec3":r===l.OPACITY?"float":r===l.SPECULAR?"vec3":r===l.ROUGHNESS||r===l.METALNESS?"float":void 0}generate(e,r){const s=e.context.material,a=this.scope;let c=null;if(a===l.ALPHA_TEST)c=new o("alphaTest","float");else if(a===l.COLOR){const e=new o("color","color");c=null!==s.map&&void 0!==s.map&&!0===s.map.isTexture?new t("*",e,new o("map","texture")):e}else if(a===l.OPACITY){const e=new o("opacity","float");c=null!==s.alphaMap&&void 0!==s.alphaMap&&!0===s.alphaMap.isTexture?new t("*",e,new o("alphaMap","texture")):e}else if(a===l.SPECULAR){const e=new o("specularColor","color");c=null!==s.specularColorMap&&void 0!==s.specularColorMap&&!0===s.specularColorMap.isTexture?new t("*",e,new o("specularColorMap","texture")):e}else{const r=this.getNodeType(e);c=new o(a,r)}return c.build(e,r)}}a.default(l,"ALPHA_TEST","alphaTest"),a.default(l,"COLOR","color"),a.default(l,"OPACITY","opacity"),a.default(l,"SPECULAR","specular"),a.default(l,"ROUGHNESS","roughness"),a.default(l,"METALNESS","metalness"),module.exports=l;