three-stdlib 2.8.9 → 2.8.12

Sign up to get free protection for your applications and to get access to all the features.
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;