Nodes.js 7.4 KB

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