Nodes.js 6.6 KB

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