Nodes.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. // @TODO: We can simplify "export { default as SomeNode, other, exports } from '...'" to just "export * from '...'" if we will use only named exports
  2. // this will also solve issues like "import TempNode from '../core/Node.js'"
  3. // constants
  4. export * from './core/constants.js';
  5. // core
  6. export { default as ArrayUniformNode /* @TODO: arrayUniform */ } from './core/ArrayUniformNode.js';
  7. export { default as AttributeNode, attribute } from './core/AttributeNode.js';
  8. export { default as BypassNode, bypass } from './core/BypassNode.js';
  9. export { default as CacheNode, cache } from './core/CacheNode.js';
  10. export { default as ConstNode } from './core/ConstNode.js';
  11. export { default as ContextNode, context, label } from './core/ContextNode.js';
  12. export { default as IndexNode, vertexIndex, instanceIndex } from './core/IndexNode.js';
  13. export { default as LightingModel } from './core/LightingModel.js';
  14. export { default as Node, addNodeClass, createNodeFromType } from './core/Node.js';
  15. export { default as NodeAttribute } from './core/NodeAttribute.js';
  16. export { default as NodeBuilder } from './core/NodeBuilder.js';
  17. export { default as NodeCache } from './core/NodeCache.js';
  18. export { default as NodeCode } from './core/NodeCode.js';
  19. export { default as NodeFrame } from './core/NodeFrame.js';
  20. export { default as NodeFunctionInput } from './core/NodeFunctionInput.js';
  21. export { default as NodeKeywords } from './core/NodeKeywords.js';
  22. export { default as NodeUniform } from './core/NodeUniform.js';
  23. export { default as NodeVar } from './core/NodeVar.js';
  24. export { default as NodeVarying } from './core/NodeVarying.js';
  25. export { default as PropertyNode, property, output, diffuseColor, roughness, metalness, specularColor, shininess } from './core/PropertyNode.js';
  26. export { default as StackNode, stack } from './core/StackNode.js';
  27. export { default as TempNode } from './core/TempNode.js';
  28. export { default as UniformNode, uniform } from './core/UniformNode.js';
  29. export { default as VarNode, temp } from './core/VarNode.js';
  30. export { default as VaryingNode, varying } from './core/VaryingNode.js';
  31. export { default as OutputStructNode, outputStruct } from './core/OutputStructNode.js';
  32. import * as NodeUtils from './core/NodeUtils.js';
  33. export { NodeUtils };
  34. // math
  35. export { default as MathNode, EPSILON, INFINITY, radians, degrees, exp, exp2, log, log2, sqrt, inverseSqrt, floor, ceil, normalize, fract, sin, cos, tan, asin, acos, atan, abs, sign, length, negate, oneMinus, dFdx, dFdy, round, reciprocal, trunc, fwidth, atan2, min, max, mod, step, reflect, distance, difference, dot, cross, pow, pow2, pow3, pow4, transformDirection, mix, clamp, saturate, refract, smoothstep, faceForward } from './math/MathNode.js';
  36. export { default as OperatorNode, add, sub, mul, div, remainder, equal, assign, lessThan, greaterThan, lessThanEqual, greaterThanEqual, and, or, xor, bitAnd, bitOr, bitXor, shiftLeft, shiftRight } from './math/OperatorNode.js';
  37. export { default as CondNode, cond } from './math/CondNode.js';
  38. export { default as HashNode, hash } from './math/HashNode.js';
  39. // utils
  40. export { default as ArrayElementNode } from './utils/ArrayElementNode.js';
  41. export { default as ConvertNode } from './utils/ConvertNode.js';
  42. export { default as DiscardNode, discard } from './utils/DiscardNode.js';
  43. export { default as EquirectUVNode, equirectUV } from './utils/EquirectUVNode.js';
  44. export { default as JoinNode } from './utils/JoinNode.js';
  45. export { default as LoopNode, loop } from './utils/LoopNode.js';
  46. export { default as MatcapUVNode, matcapUV } from './utils/MatcapUVNode.js';
  47. export { default as MaxMipLevelNode, maxMipLevel } from './utils/MaxMipLevelNode.js';
  48. export { default as OscNode, oscSine, oscSquare, oscTriangle, oscSawtooth } from './utils/OscNode.js';
  49. export { default as PackingNode, directionToColor, colorToDirection } from './utils/PackingNode.js';
  50. export { default as RemapNode, remap, remapClamp } from './utils/RemapNode.js';
  51. export { default as RotateUVNode, rotateUV } from './utils/RotateUVNode.js';
  52. export { default as SetNode } from './utils/SetNode.js';
  53. export { default as SpecularMIPLevelNode, specularMIPLevel } from './utils/SpecularMIPLevelNode.js';
  54. export { default as SplitNode } from './utils/SplitNode.js';
  55. export { default as SpriteSheetUVNode, spritesheetUV } from './utils/SpriteSheetUVNode.js';
  56. export { default as TimerNode, timerLocal, timerGlobal, timerDelta, frameId } from './utils/TimerNode.js';
  57. export { default as TriplanarTexturesNode, triplanarTextures, triplanarTexture } from './utils/TriplanarTexturesNode.js';
  58. // shadernode
  59. export * from './shadernode/ShaderNode.js';
  60. // accessors
  61. export { default as BitangentNode, bitangentGeometry, bitangentLocal, bitangentView, bitangentWorld, transformedBitangentView, transformedBitangentWorld } from './accessors/BitangentNode.js';
  62. export { default as BufferAttributeNode, bufferAttribute, dynamicBufferAttribute, instancedBufferAttribute, instancedDynamicBufferAttribute } from './accessors/BufferAttributeNode.js';
  63. export { default as BufferNode, buffer } from './accessors/BufferNode.js';
  64. export { default as CameraNode, cameraProjectionMatrix, cameraViewMatrix, cameraNormalMatrix, cameraWorldMatrix, cameraPosition, cameraNear, cameraFar } from './accessors/CameraNode.js';
  65. export { default as CubeTextureNode, cubeTexture } from './accessors/CubeTextureNode.js';
  66. export { default as ExtendedMaterialNode, materialNormal } from './accessors/ExtendedMaterialNode.js';
  67. export { default as InstanceNode, instance } from './accessors/InstanceNode.js';
  68. export { default as LineMaterialNode, materialLineDashSize, materialLineDashOffset, materialLineGapSize, materialLineScale, materialLineWidth } from './accessors/LineMaterialNode.js';
  69. export { default as MaterialNode, materialAlphaTest, materialColor, materialShininess, materialEmissive, materialOpacity, materialSpecularColor, materialReflectivity, materialRoughness, materialMetalness, materialRotation, materialSheen, materialSheenRoughness } from './accessors/MaterialNode.js';
  70. export { default as MaterialReferenceNode, materialReference } from './accessors/MaterialReferenceNode.js';
  71. export { default as MorphNode, morph } from './accessors/MorphNode.js';
  72. export { default as TextureBicubicNode, textureBicubic } from './accessors/TextureBicubicNode.js';
  73. export { default as ModelNode, modelDirection, modelViewMatrix, modelNormalMatrix, modelWorldMatrix, modelPosition, modelViewPosition, modelScale } from './accessors/ModelNode.js';
  74. export { default as ModelViewProjectionNode, modelViewProjection } from './accessors/ModelViewProjectionNode.js';
  75. export { default as NormalNode, normalGeometry, normalLocal, normalView, normalWorld, transformedNormalView, transformedNormalWorld, transformedClearcoatNormalView } from './accessors/NormalNode.js';
  76. export { default as Object3DNode, objectDirection, objectViewMatrix, objectNormalMatrix, objectWorldMatrix, objectPosition, objectScale, objectViewPosition } from './accessors/Object3DNode.js';
  77. export { default as PointUVNode, pointUV } from './accessors/PointUVNode.js';
  78. export { default as PositionNode, positionGeometry, positionLocal, positionWorld, positionWorldDirection, positionView, positionViewDirection } from './accessors/PositionNode.js';
  79. export { default as ReferenceNode, reference } from './accessors/ReferenceNode.js';
  80. export { default as ReflectVectorNode, reflectVector } from './accessors/ReflectVectorNode.js';
  81. export { default as SkinningNode, skinning } from './accessors/SkinningNode.js';
  82. export { default as SceneNode, backgroundBlurriness, backgroundIntensity } from './accessors/SceneNode.js';
  83. export { default as StorageBufferNode, storage } from './accessors/StorageBufferNode.js';
  84. export { default as TangentNode, tangentGeometry, tangentLocal, tangentView, tangentWorld, transformedTangentView, transformedTangentWorld } from './accessors/TangentNode.js';
  85. export { default as TextureNode, texture, /*textureLevel,*/ sampler } from './accessors/TextureNode.js';
  86. export { default as TextureStoreNode, textureStore } from './accessors/TextureStoreNode.js';
  87. export { default as UVNode, uv } from './accessors/UVNode.js';
  88. export { default as UserDataNode, userData } from './accessors/UserDataNode.js';
  89. // display
  90. export { default as BlendModeNode, burn, dodge, overlay, screen } from './display/BlendModeNode.js';
  91. export { default as BumpMapNode, bumpMap } from './display/BumpMapNode.js';
  92. export { default as ColorAdjustmentNode, saturation, vibrance, hue, lumaCoeffs, luminance } from './display/ColorAdjustmentNode.js';
  93. export { default as ColorSpaceNode, linearToColorSpace, colorSpaceToLinear, linearTosRGB, sRGBToLinear } from './display/ColorSpaceNode.js';
  94. export { default as FrontFacingNode, frontFacing, faceDirection } from './display/FrontFacingNode.js';
  95. export { default as NormalMapNode, normalMap, TBNViewMatrix } from './display/NormalMapNode.js';
  96. export { default as PosterizeNode, posterize } from './display/PosterizeNode.js';
  97. export { default as ToneMappingNode, toneMapping } from './display/ToneMappingNode.js';
  98. export { default as ViewportNode, viewport, viewportCoordinate, viewportResolution, viewportTopLeft, viewportBottomLeft, viewportTopRight, viewportBottomRight } from './display/ViewportNode.js';
  99. export { default as ViewportTextureNode, viewportTexture, viewportMipTexture } from './display/ViewportTextureNode.js';
  100. export { default as ViewportSharedTextureNode, viewportSharedTexture } from './display/ViewportSharedTextureNode.js';
  101. export { default as ViewportDepthTextureNode, viewportDepthTexture } from './display/ViewportDepthTextureNode.js';
  102. export { default as ViewportDepthNode, viewZToOrthographicDepth, orthographicDepthToViewZ, viewZToPerspectiveDepth, perspectiveDepthToViewZ, depth, depthTexture } from './display/ViewportDepthNode.js';
  103. // code
  104. export { default as ExpressionNode, expression } from './code/ExpressionNode.js';
  105. export { default as CodeNode, code, js, wgsl, glsl } from './code/CodeNode.js';
  106. export { default as FunctionCallNode, call } from './code/FunctionCallNode.js';
  107. export { default as FunctionNode, wgslFn, glslFn } from './code/FunctionNode.js';
  108. export { default as ScriptableNode, scriptable, global } from './code/ScriptableNode.js';
  109. export { default as ScriptableValueNode, scriptableValue } from './code/ScriptableValueNode.js';
  110. // fog
  111. export { default as FogNode, fog } from './fog/FogNode.js';
  112. export { default as FogRangeNode, rangeFog } from './fog/FogRangeNode.js';
  113. export { default as FogExp2Node, densityFog } from './fog/FogExp2Node.js';
  114. // geometry
  115. export { default as RangeNode, range } from './geometry/RangeNode.js';
  116. // gpgpu
  117. export { default as ComputeNode, compute } from './gpgpu/ComputeNode.js';
  118. // lighting
  119. export { default as LightNode, lightTargetDirection } from './lighting/LightNode.js';
  120. export { default as PointLightNode } from './lighting/PointLightNode.js';
  121. export { default as DirectionalLightNode } from './lighting/DirectionalLightNode.js';
  122. export { default as SpotLightNode } from './lighting/SpotLightNode.js';
  123. export { default as IESSpotLightNode } from './lighting/IESSpotLightNode.js';
  124. export { default as AmbientLightNode } from './lighting/AmbientLightNode.js';
  125. export { default as LightsNode, lights, lightsWithoutWrap, addLightNode } from './lighting/LightsNode.js';
  126. export { default as LightingNode /* @TODO: lighting (abstract), light */ } from './lighting/LightingNode.js';
  127. export { default as LightingContextNode, lightingContext } from './lighting/LightingContextNode.js';
  128. export { default as HemisphereLightNode } from './lighting/HemisphereLightNode.js';
  129. export { default as EnvironmentNode } from './lighting/EnvironmentNode.js';
  130. export { default as AONode } from './lighting/AONode.js';
  131. export { default as AnalyticLightNode } from './lighting/AnalyticLightNode.js';
  132. // procedural
  133. export { default as CheckerNode, checker } from './procedural/CheckerNode.js';
  134. // loaders
  135. export { default as NodeLoader } from './loaders/NodeLoader.js';
  136. export { default as NodeObjectLoader } from './loaders/NodeObjectLoader.js';
  137. export { default as NodeMaterialLoader } from './loaders/NodeMaterialLoader.js';
  138. // parsers
  139. export { default as GLSLNodeParser } from './parsers/GLSLNodeParser.js'; // @TODO: Move to jsm/renderers/webgl.
  140. // materials
  141. export * from './materials/Materials.js';
  142. // materialX
  143. export * from './materialx/MaterialXNodes.js';
  144. // functions
  145. export { default as BRDF_GGX } from './functions/BSDF/BRDF_GGX.js';
  146. export { default as BRDF_Lambert } from './functions/BSDF/BRDF_Lambert.js';
  147. export { default as D_GGX } from './functions/BSDF/D_GGX.js';
  148. export { default as DFGApprox } from './functions/BSDF/DFGApprox.js';
  149. export { default as F_Schlick } from './functions/BSDF/F_Schlick.js';
  150. export { default as Schlick_to_F0 } from './functions/BSDF/Schlick_to_F0.js';
  151. export { default as V_GGX_SmithCorrelated } from './functions/BSDF/V_GGX_SmithCorrelated.js';
  152. export { getDistanceAttenuation } from './lighting/LightUtils.js';
  153. export { default as getGeometryRoughness } from './functions/material/getGeometryRoughness.js';
  154. export { default as getRoughness } from './functions/material/getRoughness.js';
  155. export { default as PhongLightingModel } from './functions/PhongLightingModel.js';
  156. export { default as PhysicalLightingModel } from './functions/PhysicalLightingModel.js';