Nodes.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. // core
  2. import ArrayUniformNode from './core/ArrayUniformNode.js';
  3. import AttributeNode from './core/AttributeNode.js';
  4. import BypassNode from './core/BypassNode.js';
  5. import CodeNode from './core/CodeNode.js';
  6. import ConstNode from './core/ConstNode.js';
  7. import ContextNode from './core/ContextNode.js';
  8. import ExpressionNode from './core/ExpressionNode.js';
  9. import FunctionCallNode from './core/FunctionCallNode.js';
  10. import FunctionNode from './core/FunctionNode.js';
  11. import InstanceIndexNode from './core/InstanceIndexNode.js';
  12. import Node from './core/Node.js';
  13. import NodeAttribute from './core/NodeAttribute.js';
  14. import NodeBuilder from './core/NodeBuilder.js';
  15. import NodeCode from './core/NodeCode.js';
  16. import NodeFrame from './core/NodeFrame.js';
  17. import NodeFunctionInput from './core/NodeFunctionInput.js';
  18. import NodeKeywords from './core/NodeKeywords.js';
  19. import NodeUniform from './core/NodeUniform.js';
  20. import NodeVar from './core/NodeVar.js';
  21. import NodeVary from './core/NodeVary.js';
  22. import PropertyNode from './core/PropertyNode.js';
  23. import TempNode from './core/TempNode.js';
  24. import UniformNode from './core/UniformNode.js';
  25. import VarNode from './core/VarNode.js';
  26. import VaryNode from './core/VaryNode.js';
  27. // accessors
  28. import BufferNode from './accessors/BufferNode.js';
  29. import CameraNode from './accessors/CameraNode.js';
  30. import CubeTextureNode from './accessors/CubeTextureNode.js';
  31. import InstanceNode from './accessors/InstanceNode.js';
  32. import MaterialNode from './accessors/MaterialNode.js';
  33. import MaterialReferenceNode from './accessors/MaterialReferenceNode.js';
  34. import ModelNode from './accessors/ModelNode.js';
  35. import ModelViewProjectionNode from './accessors/ModelViewProjectionNode.js';
  36. import NormalNode from './accessors/NormalNode.js';
  37. import Object3DNode from './accessors/Object3DNode.js';
  38. import PointUVNode from './accessors/PointUVNode.js';
  39. import PositionNode from './accessors/PositionNode.js';
  40. import ReferenceNode from './accessors/ReferenceNode.js';
  41. import ReflectVectorNode from './accessors/ReflectVectorNode.js';
  42. import SkinningNode from './accessors/SkinningNode.js';
  43. import TextureNode from './accessors/TextureNode.js';
  44. import UVNode from './accessors/UVNode.js';
  45. import UserDataNode from './accessors/UserDataNode.js';
  46. // geometry
  47. import RangeNode from './geometry/RangeNode.js';
  48. // gpgpu
  49. import ComputeNode from './gpgpu/ComputeNode.js';
  50. // display
  51. import ColorAdjustmentNode from './display/ColorAdjustmentNode.js';
  52. import ColorSpaceNode from './display/ColorSpaceNode.js';
  53. import FrontFacingNode from './display/FrontFacingNode.js';
  54. import NormalMapNode from './display/NormalMapNode.js';
  55. import ToneMappingNode from './display/ToneMappingNode.js';
  56. // math
  57. import MathNode from './math/MathNode.js';
  58. import OperatorNode from './math/OperatorNode.js';
  59. import CondNode from './math/CondNode.js';
  60. // lighting
  61. import PunctualLightNode from './lighting/PunctualLightNode.js';
  62. import LightsNode from './lighting/LightsNode.js';
  63. import LightingNode from './lighting/LightingNode.js';
  64. import LightingContextNode from './lighting/LightingContextNode.js';
  65. import HemisphereLightNode from './lighting/HemisphereLightNode.js';
  66. import EnvironmentNode from './lighting/EnvironmentNode.js';
  67. import AONode from './lighting/AONode.js';
  68. import AnalyticLightNode from './lighting/AnalyticLightNode.js';
  69. // utils
  70. import ArrayElementNode from './utils/ArrayElementNode.js';
  71. import ConvertNode from './utils/ConvertNode.js';
  72. import JoinNode from './utils/JoinNode.js';
  73. import MatcapUVNode from './utils/MatcapUVNode.js';
  74. import MaxMipLevelNode from './utils/MaxMipLevelNode.js';
  75. import OscNode from './utils/OscNode.js';
  76. import RotateUVNode from './utils/RotateUVNode.js'
  77. import SplitNode from './utils/SplitNode.js';
  78. import SpriteSheetUVNode from './utils/SpriteSheetUVNode.js';
  79. import TimerNode from './utils/TimerNode.js';
  80. // loaders
  81. import NodeLoader from './loaders/NodeLoader.js';
  82. import NodeObjectLoader from './loaders/NodeObjectLoader.js';
  83. import NodeMaterialLoader from './loaders/NodeMaterialLoader.js';
  84. // procedural
  85. import CheckerNode from './procedural/CheckerNode.js';
  86. // fog
  87. import FogNode from './fog/FogNode.js';
  88. import FogRangeNode from './fog/FogRangeNode.js';
  89. // core
  90. export * from './core/constants.js';
  91. // materials
  92. export * from './materials/Materials.js';
  93. // shader node
  94. export * from './shadernode/ShaderNodeElements.js';
  95. const nodeLib = {
  96. // core
  97. ArrayUniformNode,
  98. AttributeNode,
  99. BypassNode,
  100. CodeNode,
  101. ContextNode,
  102. ConstNode,
  103. ExpressionNode,
  104. FunctionCallNode,
  105. FunctionNode,
  106. InstanceIndexNode,
  107. Node,
  108. NodeAttribute,
  109. NodeBuilder,
  110. NodeCode,
  111. NodeFrame,
  112. NodeFunctionInput,
  113. NodeKeywords,
  114. NodeUniform,
  115. NodeVar,
  116. NodeVary,
  117. PropertyNode,
  118. TempNode,
  119. UniformNode,
  120. VarNode,
  121. VaryNode,
  122. // geometry
  123. RangeNode,
  124. // gpgpu
  125. ComputeNode,
  126. // accessors
  127. BufferNode,
  128. CameraNode,
  129. CubeTextureNode,
  130. InstanceNode,
  131. MaterialNode,
  132. MaterialReferenceNode,
  133. ModelNode,
  134. ModelViewProjectionNode,
  135. NormalNode,
  136. Object3DNode,
  137. PointUVNode,
  138. PositionNode,
  139. ReferenceNode,
  140. ReflectVectorNode,
  141. SkinningNode,
  142. TextureNode,
  143. UVNode,
  144. UserDataNode,
  145. // display
  146. ColorAdjustmentNode,
  147. ColorSpaceNode,
  148. FrontFacingNode,
  149. NormalMapNode,
  150. ToneMappingNode,
  151. // math
  152. MathNode,
  153. OperatorNode,
  154. CondNode,
  155. // lighting
  156. PunctualLightNode,
  157. LightsNode,
  158. LightingNode,
  159. LightingContextNode,
  160. HemisphereLightNode,
  161. EnvironmentNode,
  162. AONode,
  163. AnalyticLightNode,
  164. // utils
  165. ArrayElementNode,
  166. ConvertNode,
  167. JoinNode,
  168. MatcapUVNode,
  169. MaxMipLevelNode,
  170. OscNode,
  171. RotateUVNode,
  172. SplitNode,
  173. SpriteSheetUVNode,
  174. TimerNode,
  175. // procedural
  176. CheckerNode,
  177. // fog
  178. FogNode,
  179. FogRangeNode,
  180. // loaders
  181. NodeLoader,
  182. NodeObjectLoader,
  183. NodeMaterialLoader
  184. };
  185. export const fromType = ( type ) => {
  186. return new nodeLib[ type ]();
  187. };
  188. export {
  189. // core
  190. ArrayUniformNode,
  191. AttributeNode,
  192. BypassNode,
  193. CodeNode,
  194. ContextNode,
  195. ConstNode,
  196. ExpressionNode,
  197. FunctionCallNode,
  198. FunctionNode,
  199. InstanceIndexNode,
  200. Node,
  201. NodeAttribute,
  202. NodeBuilder,
  203. NodeCode,
  204. NodeFrame,
  205. NodeFunctionInput,
  206. NodeKeywords,
  207. NodeUniform,
  208. NodeVar,
  209. NodeVary,
  210. PropertyNode,
  211. TempNode,
  212. UniformNode,
  213. VarNode,
  214. VaryNode,
  215. // geometry
  216. RangeNode,
  217. // gpgpu
  218. ComputeNode,
  219. // accessors
  220. BufferNode,
  221. CameraNode,
  222. CubeTextureNode,
  223. InstanceNode,
  224. MaterialNode,
  225. MaterialReferenceNode,
  226. ModelNode,
  227. ModelViewProjectionNode,
  228. NormalNode,
  229. Object3DNode,
  230. PointUVNode,
  231. PositionNode,
  232. ReferenceNode,
  233. ReflectVectorNode,
  234. SkinningNode,
  235. TextureNode,
  236. UVNode,
  237. UserDataNode,
  238. // display
  239. ColorAdjustmentNode,
  240. ColorSpaceNode,
  241. FrontFacingNode,
  242. NormalMapNode,
  243. ToneMappingNode,
  244. // math
  245. MathNode,
  246. OperatorNode,
  247. CondNode,
  248. // lighting
  249. PunctualLightNode,
  250. LightsNode,
  251. LightingNode,
  252. LightingContextNode,
  253. HemisphereLightNode,
  254. EnvironmentNode,
  255. AONode,
  256. AnalyticLightNode,
  257. // utils
  258. ArrayElementNode,
  259. ConvertNode,
  260. JoinNode,
  261. MatcapUVNode,
  262. MaxMipLevelNode,
  263. OscNode,
  264. RotateUVNode,
  265. SplitNode,
  266. SpriteSheetUVNode,
  267. TimerNode,
  268. // procedural
  269. CheckerNode,
  270. // fog
  271. FogNode,
  272. FogRangeNode,
  273. // loaders
  274. NodeLoader,
  275. NodeObjectLoader,
  276. NodeMaterialLoader
  277. };