three-stdlib 2.8.9 → 2.8.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. package/Nodes-607e9ed8.js +471 -0
  2. package/Nodes-627a8bdf.js +1 -0
  3. package/index.cjs.js +1 -1
  4. package/index.d.ts +0 -75
  5. package/index.js +70 -76
  6. package/loaders/NodeMaterialLoader.cjs.js +1 -1
  7. package/loaders/NodeMaterialLoader.js +2 -136
  8. package/nodes/Nodes.cjs.js +1 -1
  9. package/nodes/Nodes.js +203 -76
  10. package/nodes/ShaderNode.cjs.js +1 -0
  11. package/nodes/ShaderNode.js +308 -0
  12. package/nodes/accessors/BufferNode.cjs.js +1 -0
  13. package/nodes/accessors/BufferNode.js +18 -0
  14. package/nodes/accessors/CameraNode.cjs.js +1 -1
  15. package/nodes/accessors/CameraNode.js +32 -138
  16. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  17. package/nodes/accessors/CubeTextureNode.js +53 -0
  18. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  19. package/nodes/accessors/MaterialNode.js +80 -0
  20. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  21. package/nodes/accessors/MaterialReferenceNode.js +16 -0
  22. package/nodes/accessors/ModelNode.cjs.js +1 -0
  23. package/nodes/accessors/ModelNode.js +10 -0
  24. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  25. package/nodes/accessors/ModelViewProjectionNode.js +22 -0
  26. package/nodes/accessors/NormalNode.cjs.js +1 -1
  27. package/nodes/accessors/NormalNode.js +48 -78
  28. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  29. package/nodes/accessors/Object3DNode.js +85 -0
  30. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  31. package/nodes/accessors/PointUVNode.js +16 -0
  32. package/nodes/accessors/PositionNode.cjs.js +1 -1
  33. package/nodes/accessors/PositionNode.js +49 -87
  34. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  35. package/nodes/accessors/ReferenceNode.js +43 -0
  36. package/nodes/accessors/ReflectNode.cjs.js +1 -1
  37. package/nodes/accessors/ReflectNode.js +35 -98
  38. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  39. package/nodes/accessors/SkinningNode.js +59 -0
  40. package/nodes/accessors/TextureNode.cjs.js +1 -0
  41. package/nodes/accessors/TextureNode.js +68 -0
  42. package/nodes/accessors/UVNode.cjs.js +1 -1
  43. package/nodes/accessors/UVNode.js +20 -38
  44. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  45. package/nodes/core/ArrayUniformNode.js +17 -0
  46. package/nodes/core/AttributeNode.cjs.js +1 -1
  47. package/nodes/core/AttributeNode.js +31 -40
  48. package/nodes/core/BypassNode.cjs.js +1 -0
  49. package/nodes/core/BypassNode.js +28 -0
  50. package/nodes/core/CodeNode.cjs.js +1 -0
  51. package/nodes/core/CodeNode.js +35 -0
  52. package/nodes/core/ConstNode.cjs.js +1 -1
  53. package/nodes/core/ConstNode.js +10 -78
  54. package/nodes/core/ContextNode.cjs.js +1 -0
  55. package/nodes/core/ContextNode.js +26 -0
  56. package/nodes/core/ExpressionNode.cjs.js +1 -1
  57. package/nodes/core/ExpressionNode.js +19 -8
  58. package/nodes/core/FunctionCallNode.cjs.js +1 -1
  59. package/nodes/core/FunctionCallNode.js +31 -60
  60. package/nodes/core/FunctionNode.cjs.js +1 -1
  61. package/nodes/core/FunctionNode.js +45 -166
  62. package/nodes/core/InputNode.cjs.js +1 -1
  63. package/nodes/core/InputNode.js +43 -57
  64. package/nodes/core/Node.cjs.js +1 -1
  65. package/nodes/core/Node.js +155 -113
  66. package/nodes/core/NodeAttribute.cjs.js +1 -0
  67. package/nodes/core/NodeAttribute.js +11 -0
  68. package/nodes/core/NodeBuilder.cjs.js +1 -1
  69. package/nodes/core/NodeBuilder.js +422 -548
  70. package/nodes/core/NodeCode.cjs.js +1 -0
  71. package/nodes/core/NodeCode.js +13 -0
  72. package/nodes/core/NodeFrame.cjs.js +1 -1
  73. package/nodes/core/NodeFrame.js +34 -27
  74. package/nodes/core/NodeFunction.cjs.js +1 -0
  75. package/nodes/core/NodeFunction.js +17 -0
  76. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  77. package/nodes/core/NodeFunctionInput.js +14 -0
  78. package/nodes/core/NodeKeywords.cjs.js +1 -0
  79. package/nodes/core/NodeKeywords.js +54 -0
  80. package/nodes/core/NodeParser.cjs.js +1 -0
  81. package/nodes/core/NodeParser.js +8 -0
  82. package/nodes/core/NodeUniform.cjs.js +1 -1
  83. package/nodes/core/NodeUniform.js +18 -17
  84. package/nodes/core/NodeUtils.cjs.js +1 -1
  85. package/nodes/core/NodeUtils.js +55 -35
  86. package/nodes/core/NodeVar.cjs.js +1 -0
  87. package/nodes/core/NodeVar.js +11 -0
  88. package/nodes/core/NodeVary.cjs.js +1 -0
  89. package/nodes/core/NodeVary.js +11 -0
  90. package/nodes/core/PropertyNode.cjs.js +1 -0
  91. package/nodes/core/PropertyNode.js +26 -0
  92. package/nodes/core/TempNode.cjs.js +1 -1
  93. package/nodes/core/TempNode.js +21 -88
  94. package/nodes/core/UniformNode.cjs.js +1 -0
  95. package/nodes/core/UniformNode.js +28 -0
  96. package/nodes/core/VarNode.cjs.js +1 -1
  97. package/nodes/core/VarNode.js +28 -35
  98. package/nodes/core/VaryNode.cjs.js +1 -0
  99. package/nodes/core/VaryNode.js +38 -0
  100. package/nodes/core/constants.cjs.js +1 -0
  101. package/nodes/core/constants.js +11 -0
  102. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  103. package/nodes/display/ColorSpaceNode.js +67 -0
  104. package/nodes/display/NormalMapNode.cjs.js +1 -0
  105. package/nodes/display/NormalMapNode.js +71 -0
  106. package/nodes/fog/FogNode.cjs.js +1 -0
  107. package/nodes/fog/FogNode.js +18 -0
  108. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  109. package/nodes/fog/FogRangeNode.js +20 -0
  110. package/nodes/functions/BSDFs.cjs.js +1 -0
  111. package/nodes/functions/BSDFs.js +121 -0
  112. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  113. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  114. package/nodes/lights/LightContextNode.cjs.js +1 -0
  115. package/nodes/lights/LightContextNode.js +43 -0
  116. package/nodes/lights/LightNode.cjs.js +1 -0
  117. package/nodes/lights/LightNode.js +61 -0
  118. package/nodes/lights/LightsNode.cjs.js +1 -0
  119. package/nodes/lights/LightsNode.js +77 -0
  120. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  121. package/nodes/loaders/NodeLoader.js +80 -0
  122. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  123. package/nodes/loaders/NodeMaterialLoader.js +29 -0
  124. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  125. package/nodes/loaders/NodeObjectLoader.js +49 -0
  126. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  127. package/nodes/materials/LineBasicNodeMaterial.js +31 -0
  128. package/nodes/materials/Materials.cjs.js +1 -0
  129. package/nodes/materials/Materials.js +27 -0
  130. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  131. package/nodes/materials/MeshBasicNodeMaterial.js +32 -0
  132. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -1
  133. package/nodes/materials/MeshStandardNodeMaterial.js +41 -13
  134. package/nodes/materials/NodeMaterial.cjs.js +1 -1
  135. package/nodes/materials/NodeMaterial.js +67 -140
  136. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  137. package/nodes/materials/PointsNodeMaterial.js +34 -0
  138. package/nodes/math/CondNode.cjs.js +1 -1
  139. package/nodes/math/CondNode.js +33 -74
  140. package/nodes/math/MathNode.cjs.js +1 -1
  141. package/nodes/math/MathNode.js +193 -193
  142. package/nodes/math/OperatorNode.cjs.js +1 -1
  143. package/nodes/math/OperatorNode.js +116 -52
  144. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  145. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  146. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  147. package/nodes/parsers/GLSLNodeParser.js +13 -0
  148. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  149. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  150. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  151. package/nodes/parsers/WGSLNodeParser.js +13 -0
  152. package/nodes/procedural/CheckerNode.cjs.js +1 -1
  153. package/nodes/procedural/CheckerNode.js +22 -40
  154. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  155. package/nodes/utils/ArrayElementNode.js +22 -0
  156. package/nodes/utils/ConvertNode.cjs.js +1 -0
  157. package/nodes/utils/ConvertNode.js +29 -0
  158. package/nodes/utils/JoinNode.cjs.js +1 -1
  159. package/nodes/utils/JoinNode.js +19 -69
  160. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  161. package/nodes/utils/MatcapUVNode.js +18 -0
  162. package/nodes/utils/OscNode.cjs.js +1 -0
  163. package/nodes/utils/OscNode.js +55 -0
  164. package/nodes/utils/SplitNode.cjs.js +1 -0
  165. package/nodes/utils/SplitNode.js +58 -0
  166. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  167. package/nodes/utils/SpriteSheetUVNode.js +39 -0
  168. package/nodes/utils/TimerNode.cjs.js +1 -1
  169. package/nodes/utils/TimerNode.js +38 -56
  170. package/package.json +1 -1
  171. package/Nodes-894ac9dc.js +0 -1
  172. package/Nodes-af575af7.js +0 -157
  173. package/nodes/accessors/ColorsNode.cjs.js +0 -1
  174. package/nodes/accessors/ColorsNode.d.ts +0 -10
  175. package/nodes/accessors/ColorsNode.js +0 -40
  176. package/nodes/accessors/LightNode.cjs.js +0 -1
  177. package/nodes/accessors/LightNode.d.ts +0 -12
  178. package/nodes/accessors/LightNode.js +0 -41
  179. package/nodes/accessors/ResolutionNode.cjs.js +0 -1
  180. package/nodes/accessors/ResolutionNode.d.ts +0 -14
  181. package/nodes/accessors/ResolutionNode.js +0 -41
  182. package/nodes/accessors/ScreenUVNode.cjs.js +0 -1
  183. package/nodes/accessors/ScreenUVNode.d.ts +0 -11
  184. package/nodes/accessors/ScreenUVNode.js +0 -43
  185. package/nodes/core/NodeLib.cjs.js +0 -1
  186. package/nodes/core/NodeLib.d.ts +0 -22
  187. package/nodes/core/NodeLib.js +0 -37
  188. package/nodes/core/StructNode.cjs.js +0 -1
  189. package/nodes/core/StructNode.d.ts +0 -19
  190. package/nodes/core/StructNode.js +0 -72
  191. package/nodes/effects/BlurNode.cjs.js +0 -1
  192. package/nodes/effects/BlurNode.d.ts +0 -31
  193. package/nodes/effects/BlurNode.js +0 -100
  194. package/nodes/effects/ColorAdjustmentNode.cjs.js +0 -1
  195. package/nodes/effects/ColorAdjustmentNode.d.ts +0 -27
  196. package/nodes/effects/ColorAdjustmentNode.js +0 -73
  197. package/nodes/effects/LuminanceNode.cjs.js +0 -1
  198. package/nodes/effects/LuminanceNode.d.ts +0 -18
  199. package/nodes/effects/LuminanceNode.js +0 -46
  200. package/nodes/inputs/BoolNode.cjs.js +0 -1
  201. package/nodes/inputs/BoolNode.d.ts +0 -19
  202. package/nodes/inputs/BoolNode.js +0 -36
  203. package/nodes/inputs/ColorNode.cjs.js +0 -1
  204. package/nodes/inputs/ColorNode.d.ts +0 -21
  205. package/nodes/inputs/ColorNode.js +0 -41
  206. package/nodes/inputs/CubeTextureNode.cjs.js +0 -1
  207. package/nodes/inputs/CubeTextureNode.d.ts +0 -17
  208. package/nodes/inputs/CubeTextureNode.js +0 -79
  209. package/nodes/inputs/FloatNode.cjs.js +0 -1
  210. package/nodes/inputs/FloatNode.d.ts +0 -19
  211. package/nodes/inputs/FloatNode.js +0 -36
  212. package/nodes/inputs/IntNode.cjs.js +0 -1
  213. package/nodes/inputs/IntNode.d.ts +0 -19
  214. package/nodes/inputs/IntNode.js +0 -36
  215. package/nodes/inputs/Matrix3Node.cjs.js +0 -1
  216. package/nodes/inputs/Matrix3Node.d.ts +0 -22
  217. package/nodes/inputs/Matrix3Node.js +0 -46
  218. package/nodes/inputs/Matrix4Node.cjs.js +0 -1
  219. package/nodes/inputs/Matrix4Node.d.ts +0 -22
  220. package/nodes/inputs/Matrix4Node.js +0 -46
  221. package/nodes/inputs/PropertyNode.cjs.js +0 -1
  222. package/nodes/inputs/PropertyNode.d.ts +0 -10
  223. package/nodes/inputs/PropertyNode.js +0 -35
  224. package/nodes/inputs/RTTNode.cjs.js +0 -1
  225. package/nodes/inputs/RTTNode.d.ts +0 -27
  226. package/nodes/inputs/RTTNode.js +0 -103
  227. package/nodes/inputs/ReflectorNode.cjs.js +0 -1
  228. package/nodes/inputs/ReflectorNode.d.ts +0 -21
  229. package/nodes/inputs/ReflectorNode.js +0 -60
  230. package/nodes/inputs/ScreenNode.cjs.js +0 -1
  231. package/nodes/inputs/ScreenNode.d.ts +0 -11
  232. package/nodes/inputs/ScreenNode.js +0 -20
  233. package/nodes/inputs/TextureNode.cjs.js +0 -1
  234. package/nodes/inputs/TextureNode.d.ts +0 -20
  235. package/nodes/inputs/TextureNode.js +0 -83
  236. package/nodes/inputs/Vector2Node.cjs.js +0 -1
  237. package/nodes/inputs/Vector2Node.d.ts +0 -21
  238. package/nodes/inputs/Vector2Node.js +0 -40
  239. package/nodes/inputs/Vector3Node.cjs.js +0 -1
  240. package/nodes/inputs/Vector3Node.d.ts +0 -21
  241. package/nodes/inputs/Vector3Node.js +0 -41
  242. package/nodes/inputs/Vector4Node.cjs.js +0 -1
  243. package/nodes/inputs/Vector4Node.d.ts +0 -21
  244. package/nodes/inputs/Vector4Node.js +0 -42
  245. package/nodes/materials/BasicNodeMaterial.cjs.js +0 -1
  246. package/nodes/materials/BasicNodeMaterial.d.ts +0 -11
  247. package/nodes/materials/BasicNodeMaterial.js +0 -15
  248. package/nodes/materials/PhongNodeMaterial.cjs.js +0 -1
  249. package/nodes/materials/PhongNodeMaterial.d.ts +0 -21
  250. package/nodes/materials/PhongNodeMaterial.js +0 -15
  251. package/nodes/materials/SpriteNodeMaterial.cjs.js +0 -1
  252. package/nodes/materials/SpriteNodeMaterial.d.ts +0 -12
  253. package/nodes/materials/SpriteNodeMaterial.js +0 -15
  254. package/nodes/materials/StandardNodeMaterial.cjs.js +0 -1
  255. package/nodes/materials/StandardNodeMaterial.d.ts +0 -25
  256. package/nodes/materials/StandardNodeMaterial.js +0 -15
  257. package/nodes/materials/nodes/BasicNode.cjs.js +0 -1
  258. package/nodes/materials/nodes/BasicNode.d.ts +0 -15
  259. package/nodes/materials/nodes/BasicNode.js +0 -91
  260. package/nodes/materials/nodes/MeshStandardNode.cjs.js +0 -1
  261. package/nodes/materials/nodes/MeshStandardNode.d.ts +0 -25
  262. package/nodes/materials/nodes/MeshStandardNode.js +0 -81
  263. package/nodes/materials/nodes/PhongNode.cjs.js +0 -1
  264. package/nodes/materials/nodes/PhongNode.d.ts +0 -14
  265. package/nodes/materials/nodes/PhongNode.js +0 -212
  266. package/nodes/materials/nodes/RawNode.cjs.js +0 -1
  267. package/nodes/materials/nodes/RawNode.d.ts +0 -10
  268. package/nodes/materials/nodes/RawNode.js +0 -42
  269. package/nodes/materials/nodes/SpriteNode.cjs.js +0 -1
  270. package/nodes/materials/nodes/SpriteNode.d.ts +0 -13
  271. package/nodes/materials/nodes/SpriteNode.js +0 -113
  272. package/nodes/materials/nodes/StandardNode.cjs.js +0 -1
  273. package/nodes/materials/nodes/StandardNode.d.ts +0 -15
  274. package/nodes/materials/nodes/StandardNode.js +0 -336
  275. package/nodes/misc/BumpMapNode.cjs.js +0 -1
  276. package/nodes/misc/BumpMapNode.d.ts +0 -21
  277. package/nodes/misc/BumpMapNode.js +0 -80
  278. package/nodes/misc/NormalMapNode.cjs.js +0 -1
  279. package/nodes/misc/NormalMapNode.d.ts +0 -19
  280. package/nodes/misc/NormalMapNode.js +0 -102
  281. package/nodes/misc/TextureCubeNode.cjs.js +0 -1
  282. package/nodes/misc/TextureCubeNode.d.ts +0 -21
  283. package/nodes/misc/TextureCubeNode.js +0 -52
  284. package/nodes/misc/TextureCubeUVNode.cjs.js +0 -1
  285. package/nodes/misc/TextureCubeUVNode.d.ts +0 -18
  286. package/nodes/misc/TextureCubeUVNode.js +0 -229
  287. package/nodes/postprocessing/NodePass.cjs.js +0 -1
  288. package/nodes/postprocessing/NodePass.d.ts +0 -15
  289. package/nodes/postprocessing/NodePass.js +0 -61
  290. package/nodes/postprocessing/NodePostProcessing.cjs.js +0 -1
  291. package/nodes/postprocessing/NodePostProcessing.d.ts +0 -26
  292. package/nodes/postprocessing/NodePostProcessing.js +0 -91
  293. package/nodes/procedural/NoiseNode.cjs.js +0 -1
  294. package/nodes/procedural/NoiseNode.d.ts +0 -17
  295. package/nodes/procedural/NoiseNode.js +0 -43
  296. package/nodes/utils/BypassNode.cjs.js +0 -1
  297. package/nodes/utils/BypassNode.d.ts +0 -11
  298. package/nodes/utils/BypassNode.js +0 -55
  299. package/nodes/utils/ColorSpaceNode.cjs.js +0 -1
  300. package/nodes/utils/ColorSpaceNode.d.ts +0 -55
  301. package/nodes/utils/ColorSpaceNode.js +0 -106
  302. package/nodes/utils/MaxMIPLevelNode.cjs.js +0 -1
  303. package/nodes/utils/MaxMIPLevelNode.d.ts +0 -11
  304. package/nodes/utils/MaxMIPLevelNode.js +0 -38
  305. package/nodes/utils/SpecularMIPLevelNode.cjs.js +0 -1
  306. package/nodes/utils/SpecularMIPLevelNode.d.ts +0 -17
  307. package/nodes/utils/SpecularMIPLevelNode.js +0 -61
  308. package/nodes/utils/SubSlotNode.cjs.js +0 -1
  309. package/nodes/utils/SubSlotNode.js +0 -53
  310. package/nodes/utils/SwitchNode.cjs.js +0 -1
  311. package/nodes/utils/SwitchNode.d.ts +0 -11
  312. package/nodes/utils/SwitchNode.js +0 -69
  313. package/nodes/utils/UVTransformNode.cjs.js +0 -1
  314. package/nodes/utils/UVTransformNode.d.ts +0 -15
  315. package/nodes/utils/UVTransformNode.js +0 -46
  316. package/nodes/utils/VelocityNode.cjs.js +0 -1
  317. package/nodes/utils/VelocityNode.d.ts +0 -28
  318. package/nodes/utils/VelocityNode.js +0 -115
@@ -1,152 +1,79 @@
1
- import { ShaderMaterial, NormalBlending, FrontSide, NoColors, LessEqualDepth } from 'three';
2
- import { NodeBuilder } from '../core/NodeBuilder.js';
3
- import { ColorNode } from '../inputs/ColorNode.js';
4
- import { PositionNode } from '../accessors/PositionNode.js';
5
- import { RawNode } from './nodes/RawNode.js';
6
-
7
- function NodeMaterial(vertex, fragment) {
8
- ShaderMaterial.call(this);
9
- this.vertex = vertex || new RawNode(new PositionNode(PositionNode.PROJECTION));
10
- this.fragment = fragment || new RawNode(new ColorNode(0xff0000));
11
- this.updaters = [];
12
- }
1
+ import { ShaderMaterial, Material } from 'three';
2
+ import { getNodesKeys } from '../core/NodeUtils.js';
3
+
4
+ class NodeMaterial extends ShaderMaterial {
5
+ constructor() {
6
+ super();
7
+ this.type = this.constructor.name;
8
+ this.lights = true;
9
+ }
13
10
 
14
- NodeMaterial.prototype = Object.create(ShaderMaterial.prototype);
15
- NodeMaterial.prototype.constructor = NodeMaterial;
16
- NodeMaterial.prototype.type = 'NodeMaterial';
17
- NodeMaterial.prototype.isNodeMaterial = true;
18
- Object.defineProperties(NodeMaterial.prototype, {
19
- properties: {
20
- get: function () {
21
- return this.fragment.properties;
11
+ setDefaultValues(values) {
12
+ // This approach is to reuse the native refreshUniforms*
13
+ // and turn available the use of features like transmission and environment in core
14
+ let value;
15
+
16
+ for (const property in values) {
17
+ value = values[property];
18
+
19
+ if (this[property] === undefined) {
20
+ if (value && typeof value.clone === 'function') {
21
+ this[property] = value.clone();
22
+ } else {
23
+ this[property] = value;
24
+ }
25
+ }
22
26
  }
23
- },
24
- needsUpdate: {
25
- set: function (value) {
26
- if (value === true) this.version++;
27
- this.needsCompile = value;
28
- },
29
- get: function () {
30
- return this.needsCompile;
31
- }
32
- }
33
- });
34
-
35
- NodeMaterial.prototype.onBeforeCompile = function (shader, renderer) {
36
- this.build({
37
- renderer: renderer
38
- });
39
- shader.defines = this.defines;
40
- shader.uniforms = this.uniforms;
41
- shader.vertexShader = this.vertexShader;
42
- shader.fragmentShader = this.fragmentShader;
43
- shader.extensionDerivatives = this.extensions.derivatives === true;
44
- shader.extensionFragDepth = this.extensions.fragDepth === true;
45
- shader.extensionDrawBuffers = this.extensions.drawBuffers === true;
46
- shader.extensionShaderTextureLOD = this.extensions.shaderTextureLOD === true;
47
- };
48
-
49
- NodeMaterial.prototype.customProgramCacheKey = function () {
50
- var hash = this.getHash();
51
- return hash;
52
- };
53
-
54
- NodeMaterial.prototype.getHash = function () {
55
- var hash = '{';
56
- hash += '"vertex":' + this.vertex.getHash() + ',';
57
- hash += '"fragment":' + this.fragment.getHash();
58
- hash += '}';
59
- return hash;
60
- };
61
-
62
- NodeMaterial.prototype.updateFrame = function (frame) {
63
- for (let i = 0; i < this.updaters.length; ++i) {
64
- frame.updateNode(this.updaters[i]);
65
- }
66
- };
67
-
68
- NodeMaterial.prototype.build = function (params) {
69
- params = params || {};
70
- var builder = params.builder || new NodeBuilder();
71
- builder.setMaterial(this, params.renderer);
72
- builder.build(this.vertex, this.fragment);
73
- this.vertexShader = builder.getCode('vertex');
74
- this.fragmentShader = builder.getCode('fragment');
75
- this.defines = builder.defines;
76
- this.uniforms = builder.uniforms;
77
- this.extensions = builder.extensions;
78
- this.updaters = builder.updaters;
79
- this.fog = builder.requires.fog;
80
- this.lights = builder.requires.lights;
81
- this.transparent = builder.requires.transparent || this.blending > NormalBlending;
82
- return this;
83
- };
84
-
85
- NodeMaterial.prototype.copy = function (source) {
86
- var uuid = this.uuid;
87
-
88
- for (let name in source) {
89
- this[name] = source[name];
27
+
28
+ Object.assign(this.defines, values.defines);
90
29
  }
91
30
 
92
- this.uuid = uuid;
31
+ toJSON(meta) {
32
+ const isRoot = meta === undefined || typeof meta === 'string';
93
33
 
94
- if (source.userData !== undefined) {
95
- this.userData = JSON.parse(JSON.stringify(source.userData));
96
- }
34
+ if (isRoot) {
35
+ meta = {
36
+ textures: {},
37
+ images: {},
38
+ nodes: {}
39
+ };
40
+ }
97
41
 
98
- return this;
99
- };
42
+ const data = Material.prototype.toJSON.call(this, meta);
43
+ const nodeKeys = getNodesKeys(this);
44
+ data.inputNodes = {};
100
45
 
101
- NodeMaterial.prototype.toJSON = function (meta) {
102
- var isRootObject = meta === undefined || typeof meta === 'string';
46
+ for (const name of nodeKeys) {
47
+ data.inputNodes[name] = this[name].toJSON(meta).uuid;
48
+ } // TODO: Copied from Object3D.toJSON
103
49
 
104
- if (isRootObject) {
105
- meta = {
106
- nodes: {}
107
- };
108
- }
109
50
 
110
- if (meta && !meta.materials) meta.materials = {};
111
-
112
- if (!meta.materials[this.uuid]) {
113
- var data = {};
114
- data.uuid = this.uuid;
115
- data.type = this.type;
116
- meta.materials[data.uuid] = data;
117
- if (this.name !== '') data.name = this.name;
118
- if (this.size !== undefined) data.size = this.size;
119
- if (this.sizeAttenuation !== undefined) data.sizeAttenuation = this.sizeAttenuation;
120
- if (this.blending !== NormalBlending) data.blending = this.blending;
121
- if (this.flatShading === true) data.flatShading = this.flatShading;
122
- if (this.side !== FrontSide) data.side = this.side;
123
- if (this.vertexColors !== NoColors) data.vertexColors = this.vertexColors;
124
- if (this.depthFunc !== LessEqualDepth) data.depthFunc = this.depthFunc;
125
- if (this.depthTest === false) data.depthTest = this.depthTest;
126
- if (this.depthWrite === false) data.depthWrite = this.depthWrite;
127
- if (this.linewidth !== 1) data.linewidth = this.linewidth;
128
- if (this.dashSize !== undefined) data.dashSize = this.dashSize;
129
- if (this.gapSize !== undefined) data.gapSize = this.gapSize;
130
- if (this.scale !== undefined) data.scale = this.scale;
131
- if (this.dithering === true) data.dithering = true;
132
- if (this.wireframe === true) data.wireframe = this.wireframe;
133
- if (this.wireframeLinewidth > 1) data.wireframeLinewidth = this.wireframeLinewidth;
134
- if (this.wireframeLinecap !== 'round') data.wireframeLinecap = this.wireframeLinecap;
135
- if (this.wireframeLinejoin !== 'round') data.wireframeLinejoin = this.wireframeLinejoin;
136
- if (this.alphaTest > 0) data.alphaTest = this.alphaTest;
137
- if (this.premultipliedAlpha === true) data.premultipliedAlpha = this.premultipliedAlpha;
138
- if (this.morphTargets === true) data.morphTargets = true;
139
- if (this.skinning === true) data.skinning = true;
140
- if (this.visible === false) data.visible = false;
141
- if (JSON.stringify(this.userData) !== '{}') data.userData = this.userData;
142
- data.fog = this.fog;
143
- data.lights = this.lights;
144
- data.vertex = this.vertex.toJSON(meta).uuid;
145
- data.fragment = this.fragment.toJSON(meta).uuid;
51
+ function extractFromCache(cache) {
52
+ const values = [];
53
+
54
+ for (const key in cache) {
55
+ const data = cache[key];
56
+ delete data.metadata;
57
+ values.push(data);
58
+ }
59
+
60
+ return values;
61
+ }
62
+
63
+ if (isRoot) {
64
+ const textures = extractFromCache(meta.textures);
65
+ const images = extractFromCache(meta.images);
66
+ const nodes = extractFromCache(meta.nodes);
67
+ if (textures.length > 0) data.textures = textures;
68
+ if (images.length > 0) data.images = images;
69
+ if (nodes.length > 0) data.nodes = nodes;
70
+ }
71
+
72
+ return data;
146
73
  }
147
74
 
148
- meta.material = this.uuid;
149
- return meta;
150
- };
75
+ }
76
+
77
+ NodeMaterial.prototype.isNodeMaterial = true;
151
78
 
152
- export { NodeMaterial };
79
+ export default NodeMaterial;
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./NodeMaterial.cjs.js"),t=require("three");require("../core/NodeUtils.cjs.js");const o=new t.PointsMaterial;class s extends e{constructor(e){super(),this.transparent=!0,this.colorNode=null,this.opacityNode=null,this.alphaTestNode=null,this.lightNode=null,this.sizeNode=null,this.positionNode=null,this.setDefaultValues(o),this.setValues(e)}copy(e){return this.colorNode=e.colorNode,this.opacityNode=e.opacityNode,this.alphaTestNode=e.alphaTestNode,this.lightNode=e.lightNode,this.sizeNode=e.sizeNode,this.positionNode=e.positionNode,super.copy(e)}}s.prototype.isPointsNodeMaterial=!0,module.exports=s;
@@ -0,0 +1,34 @@
1
+ import NodeMaterial from './NodeMaterial.js';
2
+ import { PointsMaterial } from 'three';
3
+
4
+ const defaultValues = new PointsMaterial();
5
+
6
+ class PointsNodeMaterial extends NodeMaterial {
7
+ constructor(parameters) {
8
+ super();
9
+ this.transparent = true;
10
+ this.colorNode = null;
11
+ this.opacityNode = null;
12
+ this.alphaTestNode = null;
13
+ this.lightNode = null;
14
+ this.sizeNode = null;
15
+ this.positionNode = null;
16
+ this.setDefaultValues(defaultValues);
17
+ this.setValues(parameters);
18
+ }
19
+
20
+ copy(source) {
21
+ this.colorNode = source.colorNode;
22
+ this.opacityNode = source.opacityNode;
23
+ this.alphaTestNode = source.alphaTestNode;
24
+ this.lightNode = source.lightNode;
25
+ this.sizeNode = source.sizeNode;
26
+ this.positionNode = source.positionNode;
27
+ return super.copy(source);
28
+ }
29
+
30
+ }
31
+
32
+ PointsNodeMaterial.prototype.isPointsNodeMaterial = true;
33
+
34
+ export default PointsNodeMaterial;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/TempNode.cjs.js");function t(t,o,i,s,p){e.TempNode.call(this),this.a=t,this.b=o,this.op=i,this.ifNode=s,this.elseNode=p}require("three"),require("../core/Node.cjs.js"),t.EQUAL="==",t.NOT_EQUAL="!=",t.GREATER=">",t.GREATER_EQUAL=">=",t.LESS="<",t.LESS_EQUAL="<=",t.AND="&&",t.OR="||",t.prototype=Object.create(e.TempNode.prototype),t.prototype.constructor=t,t.prototype.nodeType="Cond",t.prototype.getType=function(e){if(this.ifNode){var t=this.ifNode.getType(e),o=this.elseNode.getType(e);return e.getTypeLength(o)>e.getTypeLength(t)?o:t}return"b"},t.prototype.getCondType=function(e){return e.getTypeLength(this.b.getType(e))>e.getTypeLength(this.a.getType(e))?this.b.getType(e):this.a.getType(e)},t.prototype.generate=function(e,t){var o,i=this.getType(e),s=this.getCondType(e),p=this.a.build(e,s),r=this.b.build(e,s);if(this.ifNode){var h=this.ifNode.build(e,i),d=this.elseNode.build(e,i);o="( "+[p,this.op,r,"?",h,":",d].join(" ")+" )"}else o="( "+p+" "+this.op+" "+r+" )";return e.format(o,this.getType(e),t)},t.prototype.copy=function(t){return e.TempNode.prototype.copy.call(this,t),this.a=t.a,this.b=t.b,this.op=t.op,this.ifNode=t.ifNode,this.elseNode=t.elseNode,this},t.prototype.toJSON=function(e){var t=this.getJSONNode(e);return t||((t=this.createJSONNode(e)).a=this.a.toJSON(e).uuid,t.b=this.b.toJSON(e).uuid,t.op=this.op,t.ifNode&&(t.ifNode=this.ifNode.toJSON(e).uuid),t.elseNode&&(t.elseNode=this.elseNode.toJSON(e).uuid)),t},exports.CondNode=t;
1
+ "use strict";var e=require("../core/Node.cjs.js"),t=require("../core/PropertyNode.cjs.js"),s=require("../core/ContextNode.cjs.js");require("../core/constants.cjs.js"),require("../core/NodeUtils.cjs.js"),require("three");module.exports=class extends e{constructor(e,t,s){super(),this.node=e,this.ifNode=t,this.elseNode=s}getNodeType(e){const t=this.ifNode.getNodeType(e),s=this.elseNode.getNodeType(e);return e.getTypeLength(s)>e.getTypeLength(t)?s:t}generate(e){const o=this.getNodeType(e),r={temp:!1},n=new t(null,o).build(e),d=new s(this.node).build(e,"bool"),i=new s(this.ifNode,r).build(e,o),c=new s(this.elseNode,r).build(e,o);return e.addFlowCode(`if ( ${d} ) {\n\n\t\t${n} = ${i};\n\n\t} else {\n\n\t\t${n} = ${c};\n\n\t}`),n}};
@@ -1,30 +1,18 @@
1
- import { TempNode } from '../core/TempNode.js';
2
-
3
- function CondNode(a, b, op, ifNode, elseNode) {
4
- TempNode.call(this);
5
- this.a = a;
6
- this.b = b;
7
- this.op = op;
8
- this.ifNode = ifNode;
9
- this.elseNode = elseNode;
10
- }
11
-
12
- CondNode.EQUAL = '==';
13
- CondNode.NOT_EQUAL = '!=';
14
- CondNode.GREATER = '>';
15
- CondNode.GREATER_EQUAL = '>=';
16
- CondNode.LESS = '<';
17
- CondNode.LESS_EQUAL = '<=';
18
- CondNode.AND = '&&';
19
- CondNode.OR = '||';
20
- CondNode.prototype = Object.create(TempNode.prototype);
21
- CondNode.prototype.constructor = CondNode;
22
- CondNode.prototype.nodeType = 'Cond';
1
+ import Node from '../core/Node.js';
2
+ import PropertyNode from '../core/PropertyNode.js';
3
+ import ContextNode from '../core/ContextNode.js';
4
+
5
+ class CondNode extends Node {
6
+ constructor(node, ifNode, elseNode) {
7
+ super();
8
+ this.node = node;
9
+ this.ifNode = ifNode;
10
+ this.elseNode = elseNode;
11
+ }
23
12
 
24
- CondNode.prototype.getType = function (builder) {
25
- if (this.ifNode) {
26
- var ifType = this.ifNode.getType(builder);
27
- var elseType = this.elseNode.getType(builder);
13
+ getNodeType(builder) {
14
+ const ifType = this.ifNode.getNodeType(builder);
15
+ const elseType = this.elseNode.getNodeType(builder);
28
16
 
29
17
  if (builder.getTypeLength(elseType) > builder.getTypeLength(ifType)) {
30
18
  return elseType;
@@ -33,58 +21,29 @@ CondNode.prototype.getType = function (builder) {
33
21
  return ifType;
34
22
  }
35
23
 
36
- return 'b';
37
- };
24
+ generate(builder) {
25
+ const type = this.getNodeType(builder);
26
+ const context = {
27
+ temp: false
28
+ };
29
+ const nodeProperty = new PropertyNode(null, type).build(builder);
30
+ const nodeSnippet = new ContextNode(this.node
31
+ /*, context*/
32
+ ).build(builder, 'bool'),
33
+ ifSnippet = new ContextNode(this.ifNode, context).build(builder, type),
34
+ elseSnippet = new ContextNode(this.elseNode, context).build(builder, type);
35
+ builder.addFlowCode(`if ( ${nodeSnippet} ) {
38
36
 
39
- CondNode.prototype.getCondType = function (builder) {
40
- if (builder.getTypeLength(this.b.getType(builder)) > builder.getTypeLength(this.a.getType(builder))) {
41
- return this.b.getType(builder);
42
- }
37
+ \t\t${nodeProperty} = ${ifSnippet};
43
38
 
44
- return this.a.getType(builder);
45
- };
39
+ \t} else {
46
40
 
47
- CondNode.prototype.generate = function (builder, output) {
48
- var type = this.getType(builder),
49
- condType = this.getCondType(builder),
50
- a = this.a.build(builder, condType),
51
- b = this.b.build(builder, condType),
52
- code;
41
+ \t\t${nodeProperty} = ${elseSnippet};
53
42
 
54
- if (this.ifNode) {
55
- var ifCode = this.ifNode.build(builder, type),
56
- elseCode = this.elseNode.build(builder, type);
57
- code = '( ' + [a, this.op, b, '?', ifCode, ':', elseCode].join(' ') + ' )';
58
- } else {
59
- code = '( ' + a + ' ' + this.op + ' ' + b + ' )';
43
+ \t}`);
44
+ return nodeProperty;
60
45
  }
61
46
 
62
- return builder.format(code, this.getType(builder), output);
63
- };
64
-
65
- CondNode.prototype.copy = function (source) {
66
- TempNode.prototype.copy.call(this, source);
67
- this.a = source.a;
68
- this.b = source.b;
69
- this.op = source.op;
70
- this.ifNode = source.ifNode;
71
- this.elseNode = source.elseNode;
72
- return this;
73
- };
74
-
75
- CondNode.prototype.toJSON = function (meta) {
76
- var data = this.getJSONNode(meta);
77
-
78
- if (!data) {
79
- data = this.createJSONNode(meta);
80
- data.a = this.a.toJSON(meta).uuid;
81
- data.b = this.b.toJSON(meta).uuid;
82
- data.op = this.op;
83
- if (data.ifNode) data.ifNode = this.ifNode.toJSON(meta).uuid;
84
- if (data.elseNode) data.elseNode = this.elseNode.toJSON(meta).uuid;
85
- }
86
-
87
- return data;
88
- };
47
+ }
89
48
 
90
- export { CondNode };
49
+ export default CondNode;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("../core/TempNode.cjs.js");function e(e,s,i,r){t.TempNode.call(this),this.a=e,"string"!=typeof s?this.b=s:r=s,"string"!=typeof i?this.c=i:r=i,this.method=r}require("three"),require("../core/Node.cjs.js"),e.RAD="radians",e.DEG="degrees",e.EXP="exp",e.EXP2="exp2",e.LOG="log",e.LOG2="log2",e.SQRT="sqrt",e.INV_SQRT="inversesqrt",e.FLOOR="floor",e.CEIL="ceil",e.NORMALIZE="normalize",e.FRACT="fract",e.SATURATE="saturate",e.SIN="sin",e.COS="cos",e.TAN="tan",e.ASIN="asin",e.ACOS="acos",e.ARCTAN="atan",e.ABS="abs",e.SIGN="sign",e.LENGTH="length",e.NEGATE="negate",e.INVERT="invert",e.MIN="min",e.MAX="max",e.MOD="mod",e.STEP="step",e.REFLECT="reflect",e.DISTANCE="distance",e.DOT="dot",e.CROSS="cross",e.POW="pow",e.MIX="mix",e.CLAMP="clamp",e.REFRACT="refract",e.SMOOTHSTEP="smoothstep",e.FACEFORWARD="faceforward",e.prototype=Object.create(t.TempNode.prototype),e.prototype.constructor=e,e.prototype.nodeType="Math",e.prototype.hashProperties=["method"],e.prototype.getNumInputs=function(){switch(this.method){case e.MIX:case e.CLAMP:case e.REFRACT:case e.SMOOTHSTEP:case e.FACEFORWARD:return 3;case e.MIN:case e.MAX:case e.MOD:case e.STEP:case e.REFLECT:case e.DISTANCE:case e.DOT:case e.CROSS:case e.POW:return 2;default:return 1}},e.prototype.getInputType=function(t){var e=t.getTypeLength(this.a.getType(t)),s=this.b?t.getTypeLength(this.b.getType(t)):0,i=this.c?t.getTypeLength(this.c.getType(t)):0;return e>s&&e>i?this.a.getType(t):s>i?this.b.getType(t):this.c.getType(t)},e.prototype.getType=function(t){switch(this.method){case e.LENGTH:case e.DISTANCE:case e.DOT:return"f";case e.CROSS:return"v3"}return this.getInputType(t)},e.prototype.generate=function(t,s){var i,r,h,a=this.a?t.getTypeLength(this.a.getType(t)):0,o=this.b?t.getTypeLength(this.b.getType(t)):0,c=this.c?t.getTypeLength(this.c.getType(t)):0,p=this.getInputType(t),u=this.getType(t);switch(this.method){case e.NEGATE:return t.format("( -"+this.a.build(t,p)+" )",p,s);case e.INVERT:return t.format("( 1.0 - "+this.a.build(t,p)+" )",p,s);case e.CROSS:i=this.a.build(t,"v3"),r=this.b.build(t,"v3");break;case e.STEP:i=this.a.build(t,1===a?"f":p),r=this.b.build(t,p);break;case e.MIN:case e.MAX:case e.MOD:i=this.a.build(t,p),r=this.b.build(t,1===o?"f":p);break;case e.REFRACT:i=this.a.build(t,p),r=this.b.build(t,p),h=this.c.build(t,"f");break;case e.MIX:i=this.a.build(t,p),r=this.b.build(t,p),h=this.c.build(t,1===c?"f":p);break;default:i=this.a.build(t,p),this.b&&(r=this.b.build(t,p)),this.c&&(h=this.c.build(t,p))}var n=[];n.push(i),r&&n.push(r),h&&n.push(h);var T=this.getNumInputs(t);if(n.length!==T)throw Error(`Arguments not match used in "${this.method}". Require ${T}, currently ${n.length}.`);return t.format(this.method+"( "+n.join(", ")+" )",u,s)},e.prototype.copy=function(e){return t.TempNode.prototype.copy.call(this,e),this.a=e.a,this.b=e.b,this.c=e.c,this.method=e.method,this},e.prototype.toJSON=function(t){var e=this.getJSONNode(t);return e||((e=this.createJSONNode(t)).a=this.a.toJSON(t).uuid,this.b&&(e.b=this.b.toJSON(t).uuid),this.c&&(e.c=this.c.toJSON(t).uuid),e.method=this.method),e},exports.MathNode=e;
1
+ "use strict";var e=require("@babel/runtime/helpers/defineProperty"),t=require("../core/TempNode.cjs.js"),d=require("../core/ExpressionNode.cjs.js"),u=require("../utils/JoinNode.cjs.js"),r=require("../utils/SplitNode.cjs.js"),l=require("./OperatorNode.cjs.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../core/Node.cjs.js"),require("../core/constants.cjs.js"),require("../core/NodeUtils.cjs.js"),require("three"),require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeAttribute.cjs.js"),require("../core/NodeVary.cjs.js"),require("../core/NodeVar.cjs.js"),require("../core/NodeCode.cjs.js"),require("../core/NodeKeywords.cjs.js");var i=s(e);class o extends t{constructor(e,t,d=null,u=null){super(),this.method=e,this.aNode=t,this.bNode=d,this.cNode=u}getInputType(e){const t=this.aNode.getNodeType(e),d=this.bNode?this.bNode.getNodeType(e):null,u=this.cNode?this.cNode.getNodeType(e):null,r=e.getTypeLength(t),l=e.getTypeLength(d),s=e.getTypeLength(u);return r>l&&r>s?t:l>s?d:s>r?u:t}getNodeType(e){const t=this.method;return t===o.LENGTH||t===o.DISTANCE||t===o.DOT?"float":t===o.CROSS?"vec3":this.getInputType(e)}generate(e,t){const s=this.method,i=this.getNodeType(e),a=this.getInputType(e),n=this.aNode,f=this.bNode,c=this.cNode,N=!0===e.renderer.isWebGLRenderer;if(!N||s!==o.DFDX&&s!==o.DFDY||"vec3"!==t){if(s===o.TRANSFORM_DIRECTION){let t=n,u=f;e.isMatrix(t.getNodeType(e))?u=new d(`${e.getType("vec4")}( ${u.build(e,"vec3")}, 0.0 )`,"vec4"):t=new d(`${e.getType("vec4")}( ${t.build(e,"vec3")}, 0.0 )`,"vec4");const s=new r(new l("*",t,u),"xyz");return new o(o.NORMALIZE,s).build(e)}if(s===o.SATURATE)return e.format(`clamp( ${n.build(e,a)}, 0.0, 1.0 )`,i,t);if(s===o.NEGATE)return e.format("( -"+n.build(e,a)+" )",i,t);if(s===o.INVERT)return e.format("( 1.0 - "+n.build(e,a)+" )",i,t);{const d=[];return s===o.CROSS?d.push(n.build(e,i),f.build(e,i)):s===o.STEP?d.push(n.build(e,1===e.getTypeLength(n.getNodeType(e))?"float":a),f.build(e,a)):N&&(s===o.MIN||s===o.MAX)||s===o.MOD?d.push(n.build(e,a),f.build(e,1===e.getTypeLength(f.getNodeType(e))?"float":a)):s===o.REFRACT?d.push(n.build(e,a),f.build(e,a),c.build(e,"float")):s===o.MIX?d.push(n.build(e,a),f.build(e,a),c.build(e,1===e.getTypeLength(c.getNodeType(e))?"float":a)):(d.push(n.build(e,a)),null!==c?d.push(f.build(e,a),c.build(e,a)):null!==f&&d.push(f.build(e,a))),e.format(`${e.getMethod(s)}( ${d.join(", ")} )`,i,t)}}return new u([new o(s,new r(n,"x")),new o(s,new r(n,"y")),new o(s,new r(n,"z"))]).build(e)}serialize(e){super.serialize(e),e.method=this.method}deserialize(e){super.deserialize(e),this.method=e.method}}i.default(o,"RAD","radians"),i.default(o,"DEG","degrees"),i.default(o,"EXP","exp"),i.default(o,"EXP2","exp2"),i.default(o,"LOG","log"),i.default(o,"LOG2","log2"),i.default(o,"SQRT","sqrt"),i.default(o,"INV_SQRT","inversesqrt"),i.default(o,"FLOOR","floor"),i.default(o,"CEIL","ceil"),i.default(o,"NORMALIZE","normalize"),i.default(o,"FRACT","fract"),i.default(o,"SIN","sin"),i.default(o,"COS","cos"),i.default(o,"TAN","tan"),i.default(o,"ASIN","asin"),i.default(o,"ACOS","acos"),i.default(o,"ATAN","atan"),i.default(o,"ABS","abs"),i.default(o,"SIGN","sign"),i.default(o,"LENGTH","length"),i.default(o,"NEGATE","negate"),i.default(o,"INVERT","invert"),i.default(o,"DFDX","dFdx"),i.default(o,"DFDY","dFdy"),i.default(o,"SATURATE","saturate"),i.default(o,"ROUND","round"),i.default(o,"MIN","min"),i.default(o,"MAX","max"),i.default(o,"MOD","mod"),i.default(o,"STEP","step"),i.default(o,"REFLECT","reflect"),i.default(o,"DISTANCE","distance"),i.default(o,"DOT","dot"),i.default(o,"CROSS","cross"),i.default(o,"POW","pow"),i.default(o,"TRANSFORM_DIRECTION","transformDirection"),i.default(o,"MIX","mix"),i.default(o,"CLAMP","clamp"),i.default(o,"REFRACT","refract"),i.default(o,"SMOOTHSTEP","smoothstep"),i.default(o,"FACEFORWARD","faceforward"),module.exports=o;