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
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/TempNode.cjs.js"),t=require("./PositionNode.cjs.js"),r=require("./NormalNode.cjs.js");function o(t){e.TempNode.call(this,"v3"),this.scope=t||o.CUBE}require("three"),require("../core/Node.cjs.js"),require("../core/NodeLib.cjs.js"),o.CUBE="cube",o.SPHERE="sphere",o.VECTOR="vector",o.prototype=Object.create(e.TempNode.prototype),o.prototype.constructor=o,o.prototype.nodeType="Reflect",o.prototype.getUnique=function(e){return!e.context.viewNormal},o.prototype.getType=function(){switch(this.scope){case o.SPHERE:return"v2"}return this.type},o.prototype.generate=function(e,c){var i=this.getUnique(e);if(e.isShader("fragment")){var s;switch(this.scope){case o.VECTOR:var n=new r.NormalNode(r.NormalNode.VIEW),a=e.context.roughness,d=n.build(e,"v3"),p=new t.PositionNode(t.PositionNode.VIEW).build(e,"v3"),u=a?a.build(e,"f"):void 0,l=`reflect( -normalize( ${p} ), ${d} )`;u&&(l=`normalize( mix( ${l}, ${d}, ${u} * ${u} ) )`);var v=`inverseTransformDirection( ${l}, viewMatrix )`;i?(e.addNodeCode(`vec3 reflectVec = ${v};`),s="reflectVec"):s=v;break;case o.CUBE:v="vec3( -"+(N=new o(o.VECTOR).build(e,"v3"))+".x, "+N+".yz )";i?(e.addNodeCode(`vec3 reflectCubeVec = ${v};`),s="reflectCubeVec"):s=v;break;case o.SPHERE:var N;v="normalize( ( viewMatrix * vec4( "+(N=new o(o.VECTOR).build(e,"v3"))+", 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) ).xy * 0.5 + 0.5";i?(e.addNodeCode(`vec2 reflectSphereVec = ${v};`),s="reflectSphereVec"):s=v}return e.format(s,this.getType(e),c)}return console.warn("THREE.ReflectNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.type,c)},o.prototype.toJSON=function(e){var t=this.getJSONNode(e);return t||((t=this.createJSONNode(e)).scope=this.scope),t},exports.ReflectNode=o;
1
+ "use strict";var e=require("@babel/runtime/helpers/defineProperty"),r=require("../core/Node.cjs.js"),s=require("../ShaderNode.cjs.js");function o(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/PropertyNode.cjs.js"),require("../core/VarNode.cjs.js"),require("../core/AttributeNode.cjs.js"),require("../core/VaryNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/InputNode.cjs.js"),require("../core/UniformNode.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("./TextureNode.cjs.js"),require("./UVNode.cjs.js"),require("../math/CondNode.cjs.js"),require("../core/ContextNode.cjs.js"),require("../utils/ArrayElementNode.cjs.js"),require("../utils/ConvertNode.cjs.js");var c=o(e);class i extends r{constructor(e=i.CUBE){super("vec3"),this.scope=e}getHash(){return`reflect-${this.scope}`}generate(e){const r=this.scope;if(r===i.VECTOR){const r=s.normalize(s.sub(s.positionWorld,s.cameraPosition));return s.reflect(r,s.normalWorld).build(e)}if(r===i.CUBE){const r=s.nodeObject(new i(i.VECTOR));return s.join(s.negate(r.x),r.yz).build(e)}}serialize(e){super.serialize(e),e.scope=this.scope}deserialize(e){super.deserialize(e),this.scope=e.scope}}c.default(i,"VECTOR","vector"),c.default(i,"CUBE","cube"),module.exports=i;
@@ -1,108 +1,45 @@
1
- import { TempNode } from '../core/TempNode.js';
2
- import { PositionNode } from './PositionNode.js';
3
- import { NormalNode } from './NormalNode.js';
4
-
5
- function ReflectNode(scope) {
6
- TempNode.call(this, 'v3');
7
- this.scope = scope || ReflectNode.CUBE;
8
- }
9
-
10
- ReflectNode.CUBE = 'cube';
11
- ReflectNode.SPHERE = 'sphere';
12
- ReflectNode.VECTOR = 'vector';
13
- ReflectNode.prototype = Object.create(TempNode.prototype);
14
- ReflectNode.prototype.constructor = ReflectNode;
15
- ReflectNode.prototype.nodeType = 'Reflect';
16
-
17
- ReflectNode.prototype.getUnique = function (builder) {
18
- return !builder.context.viewNormal;
19
- };
20
-
21
- ReflectNode.prototype.getType = function
22
- /* builder */
23
- () {
24
- switch (this.scope) {
25
- case ReflectNode.SPHERE:
26
- return 'v2';
1
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
+ import Node from '../core/Node.js';
3
+ import { normalize, sub, positionWorld, cameraPosition, reflect, normalWorld, nodeObject, join, negate } from '../ShaderNode.js';
4
+
5
+ class ReflectNode extends Node {
6
+ constructor(scope = ReflectNode.CUBE) {
7
+ super('vec3');
8
+ this.scope = scope;
27
9
  }
28
10
 
29
- return this.type;
30
- };
31
-
32
- ReflectNode.prototype.generate = function (builder, output) {
33
- var isUnique = this.getUnique(builder);
34
-
35
- if (builder.isShader('fragment')) {
36
- var result;
37
-
38
- switch (this.scope) {
39
- case ReflectNode.VECTOR:
40
- var viewNormalNode = new NormalNode(NormalNode.VIEW);
41
- var roughnessNode = builder.context.roughness;
42
- var viewNormal = viewNormalNode.build(builder, 'v3');
43
- var viewPosition = new PositionNode(PositionNode.VIEW).build(builder, 'v3');
44
- var roughness = roughnessNode ? roughnessNode.build(builder, 'f') : undefined;
45
- var method = `reflect( -normalize( ${viewPosition} ), ${viewNormal} )`;
46
-
47
- if (roughness) {
48
- // Mixing the reflection with the normal is more accurate and keeps rough objects from gathering light from behind their tangent plane.
49
- method = `normalize( mix( ${method}, ${viewNormal}, ${roughness} * ${roughness} ) )`;
50
- }
51
-
52
- var code = `inverseTransformDirection( ${method}, viewMatrix )`;
53
-
54
- if (isUnique) {
55
- builder.addNodeCode(`vec3 reflectVec = ${code};`);
56
- result = 'reflectVec';
57
- } else {
58
- result = code;
59
- }
60
-
61
- break;
62
-
63
- case ReflectNode.CUBE:
64
- var reflectVec = new ReflectNode(ReflectNode.VECTOR).build(builder, 'v3');
65
- var code = 'vec3( -' + reflectVec + '.x, ' + reflectVec + '.yz )';
66
-
67
- if (isUnique) {
68
- builder.addNodeCode(`vec3 reflectCubeVec = ${code};`);
69
- result = 'reflectCubeVec';
70
- } else {
71
- result = code;
72
- }
73
-
74
- break;
75
-
76
- case ReflectNode.SPHERE:
77
- var reflectVec = new ReflectNode(ReflectNode.VECTOR).build(builder, 'v3');
78
- var code = 'normalize( ( viewMatrix * vec4( ' + reflectVec + ', 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) ).xy * 0.5 + 0.5';
79
-
80
- if (isUnique) {
81
- builder.addNodeCode(`vec2 reflectSphereVec = ${code};`);
82
- result = 'reflectSphereVec';
83
- } else {
84
- result = code;
85
- }
11
+ getHash() {
12
+ return `reflect-${this.scope}`;
13
+ }
86
14
 
87
- break;
15
+ generate(builder) {
16
+ const scope = this.scope;
17
+
18
+ if (scope === ReflectNode.VECTOR) {
19
+ const cameraToFrag = normalize(sub(positionWorld, cameraPosition));
20
+ const reflectVec = reflect(cameraToFrag, normalWorld);
21
+ return reflectVec.build(builder);
22
+ } else if (scope === ReflectNode.CUBE) {
23
+ const reflectVec = nodeObject(new ReflectNode(ReflectNode.VECTOR));
24
+ const cubeUV = join(negate(reflectVec.x), reflectVec.yz);
25
+ return cubeUV.build(builder);
88
26
  }
89
-
90
- return builder.format(result, this.getType(builder), output);
91
- } else {
92
- console.warn('THREE.ReflectNode is not compatible with ' + builder.shader + ' shader.');
93
- return builder.format('vec3( 0.0 )', this.type, output);
94
27
  }
95
- };
96
28
 
97
- ReflectNode.prototype.toJSON = function (meta) {
98
- var data = this.getJSONNode(meta);
99
-
100
- if (!data) {
101
- data = this.createJSONNode(meta);
29
+ serialize(data) {
30
+ super.serialize(data);
102
31
  data.scope = this.scope;
103
32
  }
104
33
 
105
- return data;
106
- };
34
+ deserialize(data) {
35
+ super.deserialize(data);
36
+ this.scope = data.scope;
37
+ }
38
+
39
+ }
40
+
41
+ _defineProperty(ReflectNode, "VECTOR", 'vector');
42
+
43
+ _defineProperty(ReflectNode, "CUBE", 'cube');
107
44
 
108
- export { ReflectNode };
45
+ export default ReflectNode;
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../core/Node.cjs.js"),r=require("../ShaderNode.cjs.js"),s=require("../core/constants.cjs.js");require("../core/NodeUtils.cjs.js"),require("three"),require("../core/PropertyNode.cjs.js"),require("../core/VarNode.cjs.js"),require("../core/AttributeNode.cjs.js"),require("../core/VaryNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/InputNode.cjs.js"),require("../core/UniformNode.cjs.js"),require("./BufferNode.cjs.js"),require("./PositionNode.cjs.js"),require("@babel/runtime/helpers/defineProperty"),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("./TextureNode.cjs.js"),require("./UVNode.cjs.js"),require("../math/CondNode.cjs.js"),require("../core/ContextNode.cjs.js"),require("../utils/ArrayElementNode.cjs.js"),require("../utils/ConvertNode.cjs.js");const i=new r.ShaderNode(((e,s)=>{const{index:i,weight:o,bindMatrix:t,bindMatrixInverse:d,boneMatrices:u}=e,c=r.element(u,i.x),n=r.element(u,i.y),j=r.element(u,i.z),a=r.element(u,i.w),N=r.mul(t,r.positionLocal),l=r.add(r.mul(r.mul(c,N),o.x),r.mul(r.mul(n,N),o.y),r.mul(r.mul(j,N),o.z),r.mul(r.mul(a,N),o.w)),m=r.mul(d,l).xyz;let q=r.add(r.mul(o.x,c),r.mul(o.y,n),r.mul(o.z,j),r.mul(o.w,a));q=r.mul(r.mul(d,q),t);const h=r.transformDirection(q,r.normalLocal).xyz;r.assign(r.positionLocal,m).build(s),r.assign(r.normalLocal,h).build(s)}));module.exports=class extends e{constructor(e){super("void"),this.skinnedMesh=e,this.updateType=s.NodeUpdateType.Object,this.skinIndexNode=r.attribute("skinIndex","uvec4"),this.skinWeightNode=r.attribute("skinWeight","vec4"),this.bindMatrixNode=r.uniform(r.mat4(e.bindMatrix)),this.bindMatrixInverseNode=r.uniform(r.mat4(e.bindMatrixInverse)),this.boneMatricesNode=r.buffer(e.skeleton.boneMatrices,"mat4",e.skeleton.bones.length)}generate(e){i({index:this.skinIndexNode,weight:this.skinWeightNode,bindMatrix:this.bindMatrixNode,bindMatrixInverse:this.bindMatrixInverseNode,boneMatrices:this.boneMatricesNode},e)}update(){this.skinnedMesh.skeleton.update()}};
@@ -0,0 +1,59 @@
1
+ import Node from '../core/Node.js';
2
+ import { ShaderNode, element, mul, positionLocal, add, transformDirection, normalLocal, assign, attribute, uniform, mat4, buffer } from '../ShaderNode.js';
3
+ import { NodeUpdateType } from '../core/constants.js';
4
+
5
+ const Skinning = new ShaderNode((inputs, builder) => {
6
+ const {
7
+ index,
8
+ weight,
9
+ bindMatrix,
10
+ bindMatrixInverse,
11
+ boneMatrices
12
+ } = inputs;
13
+ const boneMatX = element(boneMatrices, index.x);
14
+ const boneMatY = element(boneMatrices, index.y);
15
+ const boneMatZ = element(boneMatrices, index.z);
16
+ const boneMatW = element(boneMatrices, index.w); // POSITION
17
+
18
+ const skinVertex = mul(bindMatrix, positionLocal);
19
+ const skinned = add(mul(mul(boneMatX, skinVertex), weight.x), mul(mul(boneMatY, skinVertex), weight.y), mul(mul(boneMatZ, skinVertex), weight.z), mul(mul(boneMatW, skinVertex), weight.w));
20
+ const skinPosition = mul(bindMatrixInverse, skinned).xyz; // NORMAL
21
+
22
+ let skinMatrix = add(mul(weight.x, boneMatX), mul(weight.y, boneMatY), mul(weight.z, boneMatZ), mul(weight.w, boneMatW));
23
+ skinMatrix = mul(mul(bindMatrixInverse, skinMatrix), bindMatrix);
24
+ const skinNormal = transformDirection(skinMatrix, normalLocal).xyz; // ASSIGNS
25
+
26
+ assign(positionLocal, skinPosition).build(builder);
27
+ assign(normalLocal, skinNormal).build(builder);
28
+ });
29
+
30
+ class SkinningNode extends Node {
31
+ constructor(skinnedMesh) {
32
+ super('void');
33
+ this.skinnedMesh = skinnedMesh;
34
+ this.updateType = NodeUpdateType.Object; //
35
+
36
+ this.skinIndexNode = attribute('skinIndex', 'uvec4');
37
+ this.skinWeightNode = attribute('skinWeight', 'vec4');
38
+ this.bindMatrixNode = uniform(mat4(skinnedMesh.bindMatrix));
39
+ this.bindMatrixInverseNode = uniform(mat4(skinnedMesh.bindMatrixInverse));
40
+ this.boneMatricesNode = buffer(skinnedMesh.skeleton.boneMatrices, 'mat4', skinnedMesh.skeleton.bones.length);
41
+ }
42
+
43
+ generate(builder) {
44
+ Skinning({
45
+ index: this.skinIndexNode,
46
+ weight: this.skinWeightNode,
47
+ bindMatrix: this.bindMatrixNode,
48
+ bindMatrixInverse: this.bindMatrixInverseNode,
49
+ boneMatrices: this.boneMatricesNode
50
+ }, builder);
51
+ }
52
+
53
+ update() {
54
+ this.skinnedMesh.skeleton.update();
55
+ }
56
+
57
+ }
58
+
59
+ export default SkinningNode;
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../core/UniformNode.cjs.js"),r=require("./UVNode.cjs.js");require("../core/InputNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/constants.cjs.js"),require("../core/NodeUtils.cjs.js"),require("three"),require("../core/AttributeNode.cjs.js"),require("../core/VaryNode.cjs.js");class t extends e{constructor(e,t=new r,s=null){super(e,"vec4"),this.uvNode=t,this.biasNode=s}getUniformHash(){return this.value.uuid}getInputType(){return"texture"}generate(e,r){const t=this.value;if(!t||!0!==t.isTexture)throw new Error("TextureNode: Need a three.js texture.");const s=super.generate(e,"texture");if("sampler"===r)return s+"_sampler";if(e.isReference(r))return s;{const t=e.getDataFromNode(this);let i=t.snippet;if(void 0===i){const r=this.uvNode.build(e,"vec2"),u=this.biasNode;if(null!==u){const t=u.build(e,"float");i=e.getTextureBias(s,r,t)}else i=e.getTexture(s,r);t.snippet=i}return e.format(i,"vec4",r)}}serialize(e){super.serialize(e),e.value=this.value.toJSON(e.meta).uuid}deserialize(e){super.deserialize(e),this.value=e.meta.textures[e.value]}}t.prototype.isTextureNode=!0,module.exports=t;
@@ -0,0 +1,68 @@
1
+ import UniformNode from '../core/UniformNode.js';
2
+ import UVNode from './UVNode.js';
3
+
4
+ class TextureNode extends UniformNode {
5
+ constructor(value, uvNode = new UVNode(), biasNode = null) {
6
+ super(value, 'vec4');
7
+ this.uvNode = uvNode;
8
+ this.biasNode = biasNode;
9
+ }
10
+
11
+ getUniformHash() {
12
+ return this.value.uuid;
13
+ }
14
+
15
+ getInputType() {
16
+ return 'texture';
17
+ }
18
+
19
+ generate(builder, output) {
20
+ const texture = this.value;
21
+
22
+ if (!texture || texture.isTexture !== true) {
23
+ throw new Error('TextureNode: Need a three.js texture.');
24
+ }
25
+
26
+ const textureProperty = super.generate(builder, 'texture');
27
+
28
+ if (output === 'sampler') {
29
+ return textureProperty + '_sampler';
30
+ } else if (builder.isReference(output)) {
31
+ return textureProperty;
32
+ } else {
33
+ const nodeData = builder.getDataFromNode(this);
34
+ let snippet = nodeData.snippet;
35
+
36
+ if (snippet === undefined) {
37
+ const uvSnippet = this.uvNode.build(builder, 'vec2');
38
+ const biasNode = this.biasNode;
39
+
40
+ if (biasNode !== null) {
41
+ const biasSnippet = biasNode.build(builder, 'float');
42
+ snippet = builder.getTextureBias(textureProperty, uvSnippet, biasSnippet);
43
+ } else {
44
+ snippet = builder.getTexture(textureProperty, uvSnippet);
45
+ }
46
+
47
+ nodeData.snippet = snippet;
48
+ }
49
+
50
+ return builder.format(snippet, 'vec4', output);
51
+ }
52
+ }
53
+
54
+ serialize(data) {
55
+ super.serialize(data);
56
+ data.value = this.value.toJSON(data.meta).uuid;
57
+ }
58
+
59
+ deserialize(data) {
60
+ super.deserialize(data);
61
+ this.value = data.meta.textures[data.value];
62
+ }
63
+
64
+ }
65
+
66
+ TextureNode.prototype.isTextureNode = true;
67
+
68
+ export default TextureNode;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/TempNode.cjs.js"),t=require("../core/NodeLib.cjs.js");function r(t){e.TempNode.call(this,"v2",{shared:!1}),this.index=t||0}require("three"),require("../core/Node.cjs.js"),r.prototype=Object.create(e.TempNode.prototype),r.prototype.constructor=r,r.prototype.nodeType="UV",r.prototype.generate=function(e,t){e.requires.uv[this.index]=!0;var r=this.index>0?this.index+1:"",o=e.isShader("vertex")?"uv"+r:"vUv"+r;return e.format(o,this.getType(e),t)},r.prototype.copy=function(t){return e.TempNode.prototype.copy.call(this,t),this.index=t.index,this},r.prototype.toJSON=function(e){var t=this.getJSONNode(e);return t||((t=this.createJSONNode(e)).index=this.index),t},t.NodeLib.addKeyword("uv",(function(){return new r})),t.NodeLib.addKeyword("uv2",(function(){return new r(1)})),exports.UVNode=r;
1
+ "use strict";var e=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");class r extends e{constructor(e=0){super(null,"vec2"),this.index=e}getAttributeName(){const e=this.index;return"uv"+(e>0?e+1:"")}serialize(e){super.serialize(e),e.index=this.index}deserialize(e){super.deserialize(e),this.index=e.index}}r.prototype.isUVNode=!0,module.exports=r;
@@ -1,46 +1,28 @@
1
- import { TempNode } from '../core/TempNode.js';
2
- import { NodeLib } from '../core/NodeLib.js';
1
+ import AttributeNode from '../core/AttributeNode.js';
3
2
 
4
- function UVNode(index) {
5
- TempNode.call(this, 'v2', {
6
- shared: false
7
- });
8
- this.index = index || 0;
9
- }
10
-
11
- UVNode.prototype = Object.create(TempNode.prototype);
12
- UVNode.prototype.constructor = UVNode;
13
- UVNode.prototype.nodeType = 'UV';
14
-
15
- UVNode.prototype.generate = function (builder, output) {
16
- builder.requires.uv[this.index] = true;
17
- var uvIndex = this.index > 0 ? this.index + 1 : '';
18
- var result = builder.isShader('vertex') ? 'uv' + uvIndex : 'vUv' + uvIndex;
19
- return builder.format(result, this.getType(builder), output);
20
- };
21
-
22
- UVNode.prototype.copy = function (source) {
23
- TempNode.prototype.copy.call(this, source);
24
- this.index = source.index;
25
- return this;
26
- };
3
+ class UVNode extends AttributeNode {
4
+ constructor(index = 0) {
5
+ super(null, 'vec2');
6
+ this.index = index;
7
+ }
27
8
 
28
- UVNode.prototype.toJSON = function (meta) {
29
- var data = this.getJSONNode(meta);
9
+ getAttributeName() {
10
+ const index = this.index;
11
+ return 'uv' + (index > 0 ? index + 1 : '');
12
+ }
30
13
 
31
- if (!data) {
32
- data = this.createJSONNode(meta);
14
+ serialize(data) {
15
+ super.serialize(data);
33
16
  data.index = this.index;
34
17
  }
35
18
 
36
- return data;
37
- };
19
+ deserialize(data) {
20
+ super.deserialize(data);
21
+ this.index = data.index;
22
+ }
23
+
24
+ }
38
25
 
39
- NodeLib.addKeyword('uv', function () {
40
- return new UVNode();
41
- });
42
- NodeLib.addKeyword('uv2', function () {
43
- return new UVNode(1);
44
- });
26
+ UVNode.prototype.isUVNode = true;
45
27
 
46
- export { UVNode };
28
+ export default UVNode;
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./UniformNode.cjs.js");require("./InputNode.cjs.js"),require("./Node.cjs.js"),require("./constants.cjs.js"),require("./NodeUtils.cjs.js"),require("three");class r extends e{constructor(e=[]){super(),this.nodes=e}getNodeType(e){return this.nodes[0].getNodeType(e)}}r.prototype.isArrayUniformNode=!0,module.exports=r;
@@ -0,0 +1,17 @@
1
+ import UniformNode from './UniformNode.js';
2
+
3
+ class ArrayUniformNode extends UniformNode {
4
+ constructor(nodes = []) {
5
+ super();
6
+ this.nodes = nodes;
7
+ }
8
+
9
+ getNodeType(builder) {
10
+ return this.nodes[0].getNodeType(builder);
11
+ }
12
+
13
+ }
14
+
15
+ ArrayUniformNode.prototype.isArrayUniformNode = true;
16
+
17
+ export default ArrayUniformNode;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("./Node.cjs.js");function e(e,r){t.Node.call(this,r),this.name=e}require("three"),e.prototype=Object.create(t.Node.prototype),e.prototype.constructor=e,e.prototype.nodeType="Attribute",e.prototype.getAttributeType=function(t){return"number"==typeof this.type?t.getConstructorFromLength(this.type):this.type},e.prototype.getType=function(t){var e=this.getAttributeType(t);return t.getTypeByFormat(e)},e.prototype.generate=function(t,e){var r=this.getAttributeType(t),o=t.getAttribute(this.name,r),p=t.isShader("vertex")?this.name:o.varying.name;return t.format(p,this.getType(t),e)},e.prototype.copy=function(e){return t.Node.prototype.copy.call(this,e),this.type=e.type,this},e.prototype.toJSON=function(t){var e=this.getJSONNode(t);return e||((e=this.createJSONNode(t)).type=this.type),e},exports.AttributeNode=e;
1
+ "use strict";var e=require("./Node.cjs.js"),t=require("./VaryNode.cjs.js");require("./constants.cjs.js"),require("./NodeUtils.cjs.js"),require("three");module.exports=class extends e{constructor(e,t){super(t),this._attributeName=e}getHash(e){return this.getAttributeName(e)}setAttributeName(e){return this._attributeName=e,this}getAttributeName(){return this._attributeName}generate(e){const r=e.getAttribute(this.getAttributeName(e),this.getNodeType(e));if(e.isShaderStage("vertex"))return r.name;return new t(this).build(e,r.type)}};
@@ -1,45 +1,36 @@
1
- import { Node } from './Node.js';
1
+ import Node from './Node.js';
2
+ import VaryNode from './VaryNode.js';
2
3
 
3
- function AttributeNode(name, type) {
4
- Node.call(this, type);
5
- this.name = name;
6
- }
4
+ class AttributeNode extends Node {
5
+ constructor(attributeName, nodeType) {
6
+ super(nodeType);
7
+ this._attributeName = attributeName;
8
+ }
9
+
10
+ getHash(builder) {
11
+ return this.getAttributeName(builder);
12
+ }
13
+
14
+ setAttributeName(attributeName) {
15
+ this._attributeName = attributeName;
16
+ return this;
17
+ }
7
18
 
8
- AttributeNode.prototype = Object.create(Node.prototype);
9
- AttributeNode.prototype.constructor = AttributeNode;
10
- AttributeNode.prototype.nodeType = 'Attribute';
11
-
12
- AttributeNode.prototype.getAttributeType = function (builder) {
13
- return typeof this.type === 'number' ? builder.getConstructorFromLength(this.type) : this.type;
14
- };
15
-
16
- AttributeNode.prototype.getType = function (builder) {
17
- var type = this.getAttributeType(builder);
18
- return builder.getTypeByFormat(type);
19
- };
20
-
21
- AttributeNode.prototype.generate = function (builder, output) {
22
- var type = this.getAttributeType(builder);
23
- var attribute = builder.getAttribute(this.name, type),
24
- name = builder.isShader('vertex') ? this.name : attribute.varying.name;
25
- return builder.format(name, this.getType(builder), output);
26
- };
27
-
28
- AttributeNode.prototype.copy = function (source) {
29
- Node.prototype.copy.call(this, source);
30
- this.type = source.type;
31
- return this;
32
- };
33
-
34
- AttributeNode.prototype.toJSON = function (meta) {
35
- var data = this.getJSONNode(meta);
36
-
37
- if (!data) {
38
- data = this.createJSONNode(meta);
39
- data.type = this.type;
19
+ getAttributeName() {
20
+ return this._attributeName;
40
21
  }
41
22
 
42
- return data;
43
- };
23
+ generate(builder) {
24
+ const attribute = builder.getAttribute(this.getAttributeName(builder), this.getNodeType(builder));
25
+
26
+ if (builder.isShaderStage('vertex')) {
27
+ return attribute.name;
28
+ } else {
29
+ const nodeVary = new VaryNode(this);
30
+ return nodeVary.build(builder, attribute.type);
31
+ }
32
+ }
33
+
34
+ }
44
35
 
45
- export { AttributeNode };
36
+ export default AttributeNode;
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./Node.cjs.js");require("./constants.cjs.js"),require("./NodeUtils.cjs.js"),require("three");class t extends e{constructor(e,t){super(),this.outputNode=e,this.callNode=t}getNodeType(e){return this.outputNode.getNodeType(e)}generate(e,t){const s=this.callNode.build(e,"void");return""!==s&&e.addFlowCode(s),this.outputNode.build(e,t)}}t.prototype.isBypassNode=!0,module.exports=t;
@@ -0,0 +1,28 @@
1
+ import Node from './Node.js';
2
+
3
+ class BypassNode extends Node {
4
+ constructor(returnNode, callNode) {
5
+ super();
6
+ this.outputNode = returnNode;
7
+ this.callNode = callNode;
8
+ }
9
+
10
+ getNodeType(builder) {
11
+ return this.outputNode.getNodeType(builder);
12
+ }
13
+
14
+ generate(builder, output) {
15
+ const snippet = this.callNode.build(builder, 'void');
16
+
17
+ if (snippet !== '') {
18
+ builder.addFlowCode(snippet);
19
+ }
20
+
21
+ return this.outputNode.build(builder, output);
22
+ }
23
+
24
+ }
25
+
26
+ BypassNode.prototype.isBypassNode = true;
27
+
28
+ export default BypassNode;
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./Node.cjs.js");require("./constants.cjs.js"),require("./NodeUtils.cjs.js"),require("three");class s extends e{constructor(e="",s="code"){super(s),this.code=e,this._includes=[]}setIncludes(e){return this._includes=e,this}getIncludes(){return this._includes}generate(e){const s=this.getIncludes(e);for(const t of s)t.build(e);const t=e.getCodeFromNode(this,this.getNodeType(e));return t.code=this.code,t.code}}s.prototype.isCodeNode=!0,module.exports=s;
@@ -0,0 +1,35 @@
1
+ import Node from './Node.js';
2
+
3
+ class CodeNode extends Node {
4
+ constructor(code = '', nodeType = 'code') {
5
+ super(nodeType);
6
+ this.code = code;
7
+ this._includes = [];
8
+ }
9
+
10
+ setIncludes(includes) {
11
+ this._includes = includes;
12
+ return this;
13
+ }
14
+
15
+ getIncludes() {
16
+ return this._includes;
17
+ }
18
+
19
+ generate(builder) {
20
+ const includes = this.getIncludes(builder);
21
+
22
+ for (const include of includes) {
23
+ include.build(builder);
24
+ }
25
+
26
+ const nodeCode = builder.getCodeFromNode(this, this.getNodeType(builder));
27
+ nodeCode.code = this.code;
28
+ return nodeCode.code;
29
+ }
30
+
31
+ }
32
+
33
+ CodeNode.prototype.isCodeNode = true;
34
+
35
+ export default CodeNode;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./TempNode.cjs.js");require("three"),require("./Node.cjs.js");var t=/^([a-z_0-9]+)\s([a-z_0-9]+)\s?\=?\s?(.*?)(\;|$)/i;function s(t,r){e.TempNode.call(this),this.parse(t||s.PI,r)}s.PI="PI",s.PI2="PI2",s.RECIPROCAL_PI="RECIPROCAL_PI",s.RECIPROCAL_PI2="RECIPROCAL_PI2",s.LOG2="LOG2",s.EPSILON="EPSILON",s.prototype=Object.create(e.TempNode.prototype),s.prototype.constructor=s,s.prototype.nodeType="Const",s.prototype.getType=function(e){return e.getTypeByFormat(this.type)},s.prototype.parse=function(e,s){this.src=e||"";var r,o,i="",p=this.src.match(t);this.useDefine=s||"#"===this.src.charAt(0),p&&p.length>1?(o=p[1],r=p[2],i=p[3]):(r=this.src,o="f"),this.name=r,this.type=o,this.value=i},s.prototype.build=function(e,t){return"source"!==t?(e.include(this),e.format(this.name,this.getType(e),t)):this.value?this.useDefine?"#define "+this.name+" "+this.value:"const "+this.type+" "+this.name+" = "+this.value+";":this.useDefine?this.src:void 0},s.prototype.generate=function(e,t){return e.format(this.name,this.getType(e),t)},s.prototype.copy=function(t){return e.TempNode.prototype.copy.call(this,t),this.parse(t.src,t.useDefine),this},s.prototype.toJSON=function(e){var t=this.getJSONNode(e);return t||((t=this.createJSONNode(e)).src=this.src,!0===t.useDefine&&(t.useDefine=!0)),t},exports.ConstNode=s;
1
+ "use strict";var e=require("./InputNode.cjs.js");require("./Node.cjs.js"),require("./constants.cjs.js"),require("./NodeUtils.cjs.js"),require("three");class t extends e{generateConst(e){return e.getConst(this.getNodeType(e),this.value)}generate(e,t){const s=this.getNodeType(e);return e.format(this.generateConst(e),s,t)}}t.prototype.isConstNode=!0,module.exports=t;
@@ -1,85 +1,17 @@
1
- import { TempNode } from './TempNode.js';
1
+ import InputNode from './InputNode.js';
2
2
 
3
- var declarationRegexp = /^([a-z_0-9]+)\s([a-z_0-9]+)\s?\=?\s?(.*?)(\;|$)/i;
4
-
5
- function ConstNode(src, useDefine) {
6
- TempNode.call(this);
7
- this.parse(src || ConstNode.PI, useDefine);
8
- }
9
-
10
- ConstNode.PI = 'PI';
11
- ConstNode.PI2 = 'PI2';
12
- ConstNode.RECIPROCAL_PI = 'RECIPROCAL_PI';
13
- ConstNode.RECIPROCAL_PI2 = 'RECIPROCAL_PI2';
14
- ConstNode.LOG2 = 'LOG2';
15
- ConstNode.EPSILON = 'EPSILON';
16
- ConstNode.prototype = Object.create(TempNode.prototype);
17
- ConstNode.prototype.constructor = ConstNode;
18
- ConstNode.prototype.nodeType = 'Const';
19
-
20
- ConstNode.prototype.getType = function (builder) {
21
- return builder.getTypeByFormat(this.type);
22
- };
23
-
24
- ConstNode.prototype.parse = function (src, useDefine) {
25
- this.src = src || '';
26
- var name,
27
- type,
28
- value = '';
29
- var match = this.src.match(declarationRegexp);
30
- this.useDefine = useDefine || this.src.charAt(0) === '#';
31
-
32
- if (match && match.length > 1) {
33
- type = match[1];
34
- name = match[2];
35
- value = match[3];
36
- } else {
37
- name = this.src;
38
- type = 'f';
3
+ class ConstNode extends InputNode {
4
+ generateConst(builder) {
5
+ return builder.getConst(this.getNodeType(builder), this.value);
39
6
  }
40
7
 
41
- this.name = name;
42
- this.type = type;
43
- this.value = value;
44
- };
45
-
46
- ConstNode.prototype.build = function (builder, output) {
47
- if (output === 'source') {
48
- if (this.value) {
49
- if (this.useDefine) {
50
- return '#define ' + this.name + ' ' + this.value;
51
- }
52
-
53
- return 'const ' + this.type + ' ' + this.name + ' = ' + this.value + ';';
54
- } else if (this.useDefine) {
55
- return this.src;
56
- }
57
- } else {
58
- builder.include(this);
59
- return builder.format(this.name, this.getType(builder), output);
8
+ generate(builder, output) {
9
+ const type = this.getNodeType(builder);
10
+ return builder.format(this.generateConst(builder), type, output);
60
11
  }
61
- };
62
-
63
- ConstNode.prototype.generate = function (builder, output) {
64
- return builder.format(this.name, this.getType(builder), output);
65
- };
66
-
67
- ConstNode.prototype.copy = function (source) {
68
- TempNode.prototype.copy.call(this, source);
69
- this.parse(source.src, source.useDefine);
70
- return this;
71
- };
72
12
 
73
- ConstNode.prototype.toJSON = function (meta) {
74
- var data = this.getJSONNode(meta);
75
-
76
- if (!data) {
77
- data = this.createJSONNode(meta);
78
- data.src = this.src;
79
- if (data.useDefine === true) data.useDefine = true;
80
- }
13
+ }
81
14
 
82
- return data;
83
- };
15
+ ConstNode.prototype.isConstNode = true;
84
16
 
85
- export { ConstNode };
17
+ export default ConstNode;