Nodes.js 5.8 KB

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