@gnsx/three 0.185.15 → 0.186.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/build/three.cjs +10 -82600
  2. package/build/three.core.js +1303 -728
  3. package/build/three.module.js +439 -338
  4. package/build/three.tsl.js +74 -44
  5. package/build/three.webgpu.js +6036 -2184
  6. package/build/three.webgpu.nodes.js +6020 -2184
  7. package/examples/jsm/Addons.js +6 -6
  8. package/examples/jsm/controls/ArcballControls.js +1 -1
  9. package/examples/jsm/controls/FirstPersonControls.js +44 -20
  10. package/examples/jsm/controls/OrbitControls.js +9 -0
  11. package/examples/jsm/controls/TrackballControls.js +109 -4
  12. package/examples/jsm/csm/CSMShadowNode.js +13 -0
  13. package/examples/jsm/exporters/GLTFExporter.js +23 -7
  14. package/examples/jsm/exporters/USDZExporter.js +2 -2
  15. package/examples/jsm/generators/CityGenerator.js +377 -45
  16. package/examples/jsm/generators/ForestGenerator.js +12 -12
  17. package/examples/jsm/generators/TerrainGenerator.js +49 -37
  18. package/examples/jsm/generators/TreeGenerator.js +70 -76
  19. package/examples/jsm/generators/city/BenchGenerator.js +127 -0
  20. package/examples/jsm/generators/city/CarGenerator.js +479 -0
  21. package/examples/jsm/generators/city/CityGeneratorUtils.js +31 -0
  22. package/examples/jsm/generators/city/HydrantGenerator.js +106 -0
  23. package/examples/jsm/generators/city/InstancedMeshGenerator.js +86 -0
  24. package/examples/jsm/generators/city/PersonGenerator.js +447 -0
  25. package/examples/jsm/generators/city/SidewalkGenerator.js +33 -38
  26. package/examples/jsm/generators/city/SkyscraperGenerator.js +448 -48
  27. package/examples/jsm/generators/city/StreetTreeGenerator.js +231 -0
  28. package/examples/jsm/generators/city/StreetlightGenerator.js +100 -0
  29. package/examples/jsm/generators/city/TrafficlightGenerator.js +106 -0
  30. package/examples/jsm/generators/city/TrashcanGenerator.js +100 -0
  31. package/examples/jsm/geometries/BoxLineGeometry.js +1 -1
  32. package/examples/jsm/geometries/ParametricGeometry.js +1 -1
  33. package/examples/jsm/geometries/RoundedBoxGeometry.js +1 -1
  34. package/examples/jsm/gpgpu/CountingSort.js +271 -0
  35. package/examples/jsm/helpers/LightProbeGridHelper.js +60 -239
  36. package/examples/jsm/helpers/LightProbeGridHelperWebGL.js +221 -0
  37. package/examples/jsm/inspector/Extension.js +94 -0
  38. package/examples/jsm/inspector/Inspector.js +145 -41
  39. package/examples/jsm/inspector/RendererInspector.js +100 -52
  40. package/examples/jsm/inspector/extensions/color-grading/ColorGrading.js +2609 -0
  41. package/examples/jsm/inspector/extensions/color-grading/ColorWheel.js +352 -0
  42. package/examples/jsm/inspector/extensions/color-grading/CurveEditor.js +599 -0
  43. package/examples/jsm/inspector/extensions/color-grading/LUT3DStyle.js +1201 -0
  44. package/examples/jsm/inspector/extensions/color-grading/LUTMath.js +788 -0
  45. package/examples/jsm/inspector/extensions/color-grading/modules/BrightnessModule.js +72 -0
  46. package/examples/jsm/inspector/extensions/color-grading/modules/ColorWheelModule.js +112 -0
  47. package/examples/jsm/inspector/extensions/color-grading/modules/ContrastModule.js +82 -0
  48. package/examples/jsm/inspector/extensions/color-grading/modules/CurvesModule.js +109 -0
  49. package/examples/jsm/inspector/extensions/color-grading/modules/ExposureHueModule.js +110 -0
  50. package/examples/jsm/inspector/extensions/color-grading/modules/ExposureModule.js +73 -0
  51. package/examples/jsm/inspector/extensions/color-grading/modules/HueModule.js +78 -0
  52. package/examples/jsm/inspector/extensions/color-grading/modules/ImportedCubeModule.js +89 -0
  53. package/examples/jsm/inspector/extensions/color-grading/modules/Module.js +285 -0
  54. package/examples/jsm/inspector/extensions/color-grading/modules/OutputModule.js +101 -0
  55. package/examples/jsm/inspector/extensions/color-grading/modules/RendererModule.js +225 -0
  56. package/examples/jsm/inspector/extensions/color-grading/modules/SatVibranceModule.js +102 -0
  57. package/examples/jsm/inspector/extensions/color-grading/modules/SaturationModule.js +76 -0
  58. package/examples/jsm/inspector/extensions/color-grading/modules/VibranceModule.js +76 -0
  59. package/examples/jsm/inspector/extensions/color-grading/modules/WhiteBalanceModule.js +86 -0
  60. package/examples/jsm/inspector/extensions/tsl-graph/TSLGraphEditor.js +26 -31
  61. package/examples/jsm/inspector/extensions/tsl-graph/TSLGraphLoader.js +1 -0
  62. package/examples/jsm/inspector/tabs/Memory.js +0 -2
  63. package/examples/jsm/inspector/tabs/Settings.js +4 -0
  64. package/examples/jsm/inspector/tabs/Timeline.js +223 -171
  65. package/examples/jsm/inspector/tabs/Viewer.js +515 -21
  66. package/examples/jsm/inspector/ui/List.js +15 -9
  67. package/examples/jsm/inspector/ui/Profiler.js +170 -14
  68. package/examples/jsm/inspector/ui/Style.js +269 -23
  69. package/examples/jsm/inspector/ui/Tab.js +2 -0
  70. package/examples/jsm/inspector/ui/Values.js +14 -2
  71. package/examples/jsm/interactive/HTMLMesh.js +19 -3
  72. package/examples/jsm/lighting/LightProbeGrid.js +484 -889
  73. package/examples/jsm/lighting/LightProbeGridUtils.js +107 -0
  74. package/examples/jsm/lighting/LightProbeGridWebGL.js +841 -0
  75. package/examples/jsm/lighting/vxgi/VXGIConeTracer.js +194 -0
  76. package/examples/jsm/lighting/vxgi/VXGINode.js +660 -0
  77. package/examples/jsm/lighting/vxgi/VXGISceneCollector.js +478 -0
  78. package/examples/jsm/lighting/vxgi/VXGIVolume.js +1430 -0
  79. package/examples/jsm/lights/SunLight.js +95 -0
  80. package/examples/jsm/lights/SunLightNode.js +56 -0
  81. package/examples/jsm/lights/SunLightShadow.js +319 -0
  82. package/examples/jsm/lights/SunShadowNode.js +312 -0
  83. package/examples/jsm/loaders/3DMLoader.js +150 -49
  84. package/examples/jsm/loaders/3MFLoader.js +202 -1
  85. package/examples/jsm/loaders/FBXLoader.js +81 -5
  86. package/examples/jsm/loaders/GLTFGaussianSplatLoaderExtension.js +330 -0
  87. package/examples/jsm/loaders/GLTFLoader.js +79 -14
  88. package/examples/jsm/loaders/GaussianSplatPLYLoader.js +386 -0
  89. package/examples/jsm/loaders/KSPLATLoader.js +463 -0
  90. package/examples/jsm/loaders/MaterialXLoader.js +111 -1010
  91. package/examples/jsm/loaders/PCDLoader.js +1 -1
  92. package/examples/jsm/loaders/SPLATLoader.js +139 -0
  93. package/examples/jsm/loaders/SPZLoader.js +561 -0
  94. package/examples/jsm/loaders/materialx/MaterialXArchive.js +108 -0
  95. package/examples/jsm/loaders/materialx/MaterialXDocument.js +878 -0
  96. package/examples/jsm/loaders/materialx/MaterialXHextile.js +183 -0
  97. package/examples/jsm/loaders/materialx/MaterialXInterfaceValidation.js +376 -0
  98. package/examples/jsm/loaders/materialx/MaterialXLog.js +75 -0
  99. package/examples/jsm/loaders/materialx/MaterialXNodeInterfaceRegistry.js +4 -0
  100. package/examples/jsm/loaders/materialx/MaterialXNodeLibrary.js +1021 -0
  101. package/examples/jsm/loaders/materialx/MaterialXSurfaceMappings.js +661 -0
  102. package/examples/jsm/loaders/materialx/MaterialXUtils.js +57 -0
  103. package/examples/jsm/loaders/materialx/compile/MaterialXCompileRegistry.js +997 -0
  104. package/examples/jsm/loaders/materialx/parse/MaterialXParser.js +28 -0
  105. package/examples/jsm/loaders/usd/USDAParser.js +15 -2
  106. package/examples/jsm/loaders/usd/USDCParser.js +1 -4
  107. package/examples/jsm/loaders/usd/USDComposer.js +80 -42
  108. package/examples/jsm/materials/WoodNodeMaterial.js +6 -108
  109. package/examples/jsm/misc/RollerCoaster.js +2 -2
  110. package/examples/jsm/misc/SculptGL.LICENSE.txt +21 -0
  111. package/examples/jsm/misc/Sculptor.js +1679 -0
  112. package/examples/jsm/misc/SculptorMesh.js +1504 -0
  113. package/examples/jsm/misc/SculptorTools.js +1180 -0
  114. package/examples/jsm/misc/SculptorUtils.js +345 -0
  115. package/examples/jsm/misc/TubePainter.js +28 -16
  116. package/examples/jsm/misc/VolumeSlice.js +24 -24
  117. package/examples/jsm/modifiers/SimplifyModifier.js +63 -556
  118. package/examples/jsm/objects/GaussianSplat.js +1039 -0
  119. package/examples/jsm/objects/Sky.js +66 -45
  120. package/examples/jsm/objects/SkyMesh.js +70 -51
  121. package/examples/jsm/physics/JoltPhysics.js +1 -1
  122. package/examples/jsm/postprocessing/AfterimagePass.js +4 -2
  123. package/examples/jsm/postprocessing/BloomPass.js +2 -2
  124. package/examples/jsm/postprocessing/GTAOPass.js +1 -1
  125. package/examples/jsm/postprocessing/OutlinePass.js +5 -5
  126. package/examples/jsm/postprocessing/SAOPass.js +1 -1
  127. package/examples/jsm/postprocessing/SSAOPass.js +1 -1
  128. package/examples/jsm/postprocessing/SSRPass.js +4 -2
  129. package/examples/jsm/postprocessing/SavePass.js +1 -1
  130. package/examples/jsm/postprocessing/TAARenderPass.js +1 -1
  131. package/examples/jsm/postprocessing/UnrealBloomPass.js +30 -13
  132. package/examples/jsm/renderers/CSS2DRenderer.js +29 -5
  133. package/examples/jsm/shaders/DepthLimitedBlurShader.js +4 -1
  134. package/examples/jsm/shaders/ExposureShader.js +1 -1
  135. package/examples/jsm/shaders/FilmShader.js +2 -1
  136. package/examples/jsm/transpiler/AST.js +21 -2
  137. package/examples/jsm/transpiler/GLSLDecoder.js +498 -8
  138. package/examples/jsm/transpiler/TSLEncoder.js +82 -10
  139. package/examples/jsm/transpiler/WGSLEncoder.js +33 -4
  140. package/examples/jsm/tsl/WebGLNodesHandler.js +29 -39
  141. package/examples/jsm/tsl/display/AfterImageNode.js +2 -0
  142. package/examples/jsm/tsl/display/AnaglyphPassNode.js +3 -2
  143. package/examples/jsm/tsl/display/BilateralBlurNode.js +5 -2
  144. package/examples/jsm/tsl/display/BloomNode.js +55 -30
  145. package/examples/jsm/tsl/display/DenoiseNode.js +21 -1
  146. package/examples/jsm/tsl/display/DepthOfFieldNode.js +24 -6
  147. package/examples/jsm/tsl/display/DotScreenNode.js +11 -11
  148. package/examples/jsm/tsl/display/FSR1Node.js +8 -4
  149. package/examples/jsm/tsl/display/GTAONode.js +199 -86
  150. package/examples/jsm/tsl/display/GaussianBlurNode.js +65 -52
  151. package/examples/jsm/tsl/display/GodraysNode.js +5 -2
  152. package/examples/jsm/tsl/display/ImportanceSampledEnvironment.js +2 -2
  153. package/examples/jsm/tsl/display/LensflareNode.js +5 -2
  154. package/examples/jsm/tsl/display/OITPassNode.js +352 -0
  155. package/examples/jsm/tsl/display/OutlineNode.js +2 -0
  156. package/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +3 -2
  157. package/examples/jsm/tsl/display/RGBShiftNode.js +9 -9
  158. package/examples/jsm/tsl/display/RecurrentDenoiseNode.js +7 -4
  159. package/examples/jsm/tsl/display/RetroPassNode.js +1 -1
  160. package/examples/jsm/tsl/display/SMAANode.js +22 -61
  161. package/examples/jsm/tsl/display/SSAAPassNode.js +2 -4
  162. package/examples/jsm/tsl/display/SSAONode.js +436 -0
  163. package/examples/jsm/tsl/display/SSGINode.js +5 -2
  164. package/examples/jsm/tsl/display/SSRNode.js +7 -2
  165. package/examples/jsm/tsl/display/SSSNode.js +5 -2
  166. package/examples/jsm/tsl/display/SharpenNode.js +5 -4
  167. package/examples/jsm/tsl/display/StereoCompositePassNode.js +1 -3
  168. package/examples/jsm/tsl/display/StereoPassNode.js +1 -3
  169. package/examples/jsm/tsl/display/TAAUNode.js +22 -125
  170. package/examples/jsm/tsl/display/TRAANode.js +16 -142
  171. package/examples/jsm/tsl/display/TemporalReprojectNode.js +21 -15
  172. package/examples/jsm/tsl/display/depthAwareBlur.js +63 -0
  173. package/examples/jsm/tsl/display/hashBlur.js +3 -2
  174. package/examples/jsm/tsl/lighting/ClusteredLightsNode.js +38 -27
  175. package/examples/jsm/tsl/lighting/LightProbeGridNode.js +136 -0
  176. package/examples/jsm/tsl/math/voronoiNoise.js +112 -0
  177. package/examples/jsm/tsl/shadows/TileShadowNode.js +4 -6
  178. package/examples/jsm/tsl/utils/Raymarching.js +5 -5
  179. package/examples/jsm/tsl/utils/SoftParticles.js +60 -0
  180. package/examples/jsm/tsl/utils/TAAUtils.js +195 -0
  181. package/examples/jsm/utils/BufferGeometryUtils.js +14 -14
  182. package/examples/jsm/utils/GaussianSplatUtils.js +229 -0
  183. package/examples/jsm/utils/WebGLTextureUtils.js +1 -1
  184. package/examples/jsm/utils/WebGPUTextureUtils.js +1 -1
  185. package/examples/jsm/webxr/WebGLXRFallback.js +2 -16
  186. package/examples/jsm/webxr/XRControllerModelFactory.js +16 -4
  187. package/package.json +9 -16
  188. package/src/Three.Core.js +2 -1
  189. package/src/Three.TSL.js +73 -43
  190. package/src/Three.WebGPU.Nodes.js +1 -0
  191. package/src/Three.WebGPU.js +1 -0
  192. package/src/animation/AnimationClip.js +15 -2
  193. package/src/animation/AnimationObjectGroup.js +18 -6
  194. package/src/animation/AnimationUtils.js +26 -0
  195. package/src/animation/KeyframeTrack.js +37 -0
  196. package/src/constants.js +23 -1
  197. package/src/core/BufferAttribute.js +3 -2
  198. package/src/core/BufferGeometry.js +1 -1
  199. package/src/core/InterleavedBuffer.js +5 -1
  200. package/src/core/Object3D.js +40 -12
  201. package/src/core/Raycaster.js +4 -0
  202. package/src/core/RenderTarget.js +99 -9
  203. package/src/core/RenderTarget3D.js +12 -8
  204. package/src/extras/Controls.js +0 -8
  205. package/src/extras/PMREMGenerator.js +99 -205
  206. package/src/geometries/TorusGeometry.js +1 -1
  207. package/src/helpers/ArrowHelper.js +2 -0
  208. package/src/helpers/AxesHelper.js +2 -0
  209. package/src/helpers/Box3Helper.js +2 -0
  210. package/src/helpers/BoxHelper.js +2 -0
  211. package/src/helpers/CameraHelper.js +2 -0
  212. package/src/helpers/DirectionalLightHelper.js +2 -0
  213. package/src/helpers/GridHelper.js +2 -0
  214. package/src/helpers/HemisphereLightHelper.js +2 -0
  215. package/src/helpers/PlaneHelper.js +2 -0
  216. package/src/helpers/PointLightHelper.js +2 -0
  217. package/src/helpers/PolarGridHelper.js +2 -0
  218. package/src/helpers/SkeletonHelper.js +2 -0
  219. package/src/helpers/SpotLightHelper.js +2 -0
  220. package/src/lights/Light.js +0 -10
  221. package/src/lights/LightShadow.js +43 -12
  222. package/src/lights/SpotLightShadow.js +18 -0
  223. package/src/loaders/BufferGeometryLoader.js +5 -0
  224. package/src/loaders/ImageBitmapLoader.js +3 -1
  225. package/src/loaders/ObjectLoader.js +8 -5
  226. package/src/materials/Material.js +80 -57
  227. package/src/materials/MeshPhysicalMaterial.js +32 -0
  228. package/src/materials/nodes/Line2NodeMaterial.js +17 -8
  229. package/src/materials/nodes/MeshPhysicalNodeMaterial.js +42 -5
  230. package/src/materials/nodes/NodeMaterial.js +19 -13
  231. package/src/materials/nodes/PointsNodeMaterial.js +2 -1
  232. package/src/materials/nodes/manager/NodeMaterialObserver.js +282 -55
  233. package/src/math/Frustum.js +9 -0
  234. package/src/math/FrustumArray.js +1 -1
  235. package/src/math/MathUtils.js +5 -3
  236. package/src/math/Matrix4.js +2 -9
  237. package/src/math/Plane.js +30 -1
  238. package/src/math/Quaternion.js +0 -10
  239. package/src/math/Ray.js +95 -45
  240. package/src/math/Triangle.js +0 -2
  241. package/src/math/Vector3.js +2 -2
  242. package/src/math/Vector4.js +0 -4
  243. package/src/math/interpolants/BezierInterpolant.js +36 -23
  244. package/src/nodes/Nodes.js +2 -0
  245. package/src/nodes/TSL.js +11 -3
  246. package/src/nodes/accessors/Batch.js +85 -13
  247. package/src/nodes/accessors/BufferAttributeNode.js +1 -1
  248. package/src/nodes/accessors/BuiltinNode.js +1 -1
  249. package/src/nodes/accessors/Instance.js +19 -18
  250. package/src/nodes/accessors/MaterialNode.js +9 -0
  251. package/src/nodes/accessors/ModelNode.js +85 -9
  252. package/src/nodes/accessors/ReferenceBaseNode.js +1 -70
  253. package/src/nodes/accessors/ReferenceElementNode.js +72 -0
  254. package/src/nodes/accessors/ReferenceNode.js +1 -70
  255. package/src/nodes/accessors/Skinning.js +124 -12
  256. package/src/nodes/accessors/StorageTextureNode.js +7 -3
  257. package/src/nodes/accessors/Texture3DNode.js +1 -1
  258. package/src/nodes/accessors/TextureNode.js +51 -21
  259. package/src/nodes/accessors/TextureSizeNode.js +4 -2
  260. package/src/nodes/accessors/UniformArrayNode.js +30 -5
  261. package/src/nodes/code/CodeNode.js +1 -1
  262. package/src/nodes/code/FunctionNode.js +12 -2
  263. package/src/nodes/core/ArrayNode.js +2 -2
  264. package/src/nodes/core/ContextNode.js +57 -4
  265. package/src/nodes/core/IndexNode.js +69 -4
  266. package/src/nodes/core/InspectorNode.js +2 -2
  267. package/src/nodes/core/MRTNode.js +44 -2
  268. package/src/nodes/core/Node.js +6 -3
  269. package/src/nodes/core/NodeBuilder.js +65 -50
  270. package/src/nodes/core/NodeFrame.js +11 -3
  271. package/src/nodes/core/NodeUtils.js +88 -0
  272. package/src/nodes/core/PropertyNode.js +8 -0
  273. package/src/nodes/core/StackNode.js +0 -1
  274. package/src/nodes/core/StructNode.js +4 -3
  275. package/src/nodes/core/UniformGroupNode.js +3 -2
  276. package/src/nodes/core/UniformNode.js +26 -12
  277. package/src/nodes/core/VarNode.js +0 -1
  278. package/src/nodes/display/BumpMapNode.js +2 -2
  279. package/src/nodes/display/ColorAdjustment.js +1 -1
  280. package/src/nodes/display/PassNode.js +76 -15
  281. package/src/nodes/display/ScreenNode.js +22 -65
  282. package/src/nodes/fog/Fog.js +4 -4
  283. package/src/nodes/functions/BSDF/BRDF_GGX.js +6 -6
  284. package/src/nodes/functions/BSDF/BRDF_Sheen.js +1 -1
  285. package/src/nodes/functions/BSDF/DFGLUT.js +2 -1
  286. package/src/nodes/functions/BSDF/LTC.js +1 -1
  287. package/src/nodes/functions/PhongLightingModel.js +1 -1
  288. package/src/nodes/functions/PhysicalLightingModel.js +83 -25
  289. package/src/nodes/functions/ToonLightingModel.js +2 -2
  290. package/src/nodes/functions/material/getParallaxCorrectNormal.js +3 -3
  291. package/src/nodes/gpgpu/AtomicFunctionNode.js +64 -13
  292. package/src/nodes/gpgpu/BarrierNode.js +13 -4
  293. package/src/nodes/gpgpu/ComputeBuiltinNode.js +1 -1
  294. package/src/nodes/gpgpu/ComputeNode.js +20 -17
  295. package/src/nodes/gpgpu/SubgroupFunctionNode.js +165 -37
  296. package/src/nodes/gpgpu/WorkgroupInfoNode.js +44 -6
  297. package/src/nodes/lighting/EnvironmentNode.js +40 -4
  298. package/src/nodes/lighting/LightsNode.js +20 -4
  299. package/src/nodes/lighting/ShadowBaseNode.js +158 -1
  300. package/src/nodes/lighting/ShadowFilterNode.js +2 -106
  301. package/src/nodes/lighting/ShadowNode.js +22 -91
  302. package/src/nodes/materialx/{lib/mx_hsv.js → MaterialXColor.js} +3 -6
  303. package/src/nodes/materialx/{lib/mx_transform_color.js → MaterialXColorTransform.js} +3 -6
  304. package/src/nodes/materialx/MaterialXCore.js +37 -0
  305. package/src/nodes/materialx/MaterialXNodes.js +64 -72
  306. package/src/nodes/materialx/{lib/mx_noise.js → MaterialXNoise.js} +426 -197
  307. package/src/nodes/math/BitcountNode.js +24 -4
  308. package/src/nodes/math/MathNode.js +4 -4
  309. package/src/nodes/math/MathUtils.js +15 -4
  310. package/src/nodes/math/OperatorNode.js +2 -2
  311. package/src/nodes/math/PackFloatNode.js +29 -1
  312. package/src/nodes/math/Packed4x8IntegerNode.js +433 -0
  313. package/src/nodes/math/UnpackFloatNode.js +30 -2
  314. package/src/nodes/parsers/GLSLNodeFunction.js +1 -1
  315. package/src/nodes/pmrem/PMREMNode.js +1 -1
  316. package/src/nodes/pmrem/PMREMUtils.js +31 -74
  317. package/src/nodes/shapes/Shapes.js +1 -1
  318. package/src/nodes/tsl/TSLCore.js +1 -31
  319. package/src/nodes/utils/EventNode.js +75 -0
  320. package/src/nodes/utils/LoopNode.js +54 -13
  321. package/src/nodes/utils/PostProcessingUtils.js +23 -2
  322. package/src/nodes/utils/RTTNode.js +97 -32
  323. package/src/nodes/utils/ReflectorNode.js +8 -4
  324. package/src/nodes/utils/RotateNode.js +85 -8
  325. package/src/nodes/utils/SpriteUtils.js +58 -23
  326. package/src/objects/BatchedMesh.js +6 -0
  327. package/src/objects/InstancedMesh.js +1 -1
  328. package/src/objects/LOD.js +1 -1
  329. package/src/objects/Line.js +12 -0
  330. package/src/objects/Mesh.js +12 -0
  331. package/src/objects/Points.js +12 -0
  332. package/src/objects/Sprite.js +12 -0
  333. package/src/renderers/WebGLRenderer.js +93 -27
  334. package/src/renderers/common/Animation.js +12 -2
  335. package/src/renderers/common/Backend.js +38 -10
  336. package/src/renderers/common/BindGroup.js +0 -1
  337. package/src/renderers/common/Bindings.js +50 -4
  338. package/src/renderers/common/BundleGroup.js +4 -0
  339. package/src/renderers/common/ClippingContext.js +11 -1
  340. package/src/renderers/common/Color4.js +9 -0
  341. package/src/renderers/common/Constants.js +0 -5
  342. package/src/renderers/common/DirectRenderPipeline.js +233 -0
  343. package/src/renderers/common/Geometries.js +24 -3
  344. package/src/renderers/common/Info.js +3 -3
  345. package/src/renderers/common/InspectorBase.js +37 -8
  346. package/src/renderers/common/Lighting.js +11 -4
  347. package/src/renderers/common/Pipelines.js +6 -4
  348. package/src/renderers/common/QuadMesh.js +16 -2
  349. package/src/renderers/common/RenderContext.js +8 -0
  350. package/src/renderers/common/RenderList.js +53 -19
  351. package/src/renderers/common/RenderLists.js +58 -11
  352. package/src/renderers/common/RenderObject.js +14 -0
  353. package/src/renderers/common/RenderObjects.js +14 -9
  354. package/src/renderers/common/RenderPipeline.js +52 -44
  355. package/src/renderers/common/Renderer.js +226 -55
  356. package/src/renderers/common/Storage3DTexture.js +16 -0
  357. package/src/renderers/common/Textures.js +3 -3
  358. package/src/renderers/common/XRManager.js +79 -72
  359. package/src/renderers/common/extras/PMREMGenerator.js +76 -144
  360. package/src/renderers/common/nodes/NodeManager.js +144 -6
  361. package/src/renderers/common/nodes/NodeStorageBuffer.js +3 -1
  362. package/src/renderers/common/nodes/NodeUniformBuffer.js +3 -1
  363. package/src/renderers/shaders/DFGLUTData.js +2 -1
  364. package/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +4 -2
  365. package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +48 -0
  366. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +53 -4
  367. package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +20 -2
  368. package/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +20 -0
  369. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +6 -0
  370. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +61 -57
  371. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +82 -0
  372. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +9 -0
  373. package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +8 -1
  374. package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +15 -0
  375. package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +4 -0
  376. package/src/renderers/shaders/ShaderLib.js +1 -0
  377. package/src/renderers/shaders/UniformsLib.js +16 -0
  378. package/src/renderers/webgl/WebGLAnimation.js +2 -2
  379. package/src/renderers/webgl/WebGLCapabilities.js +2 -2
  380. package/src/renderers/webgl/WebGLLights.js +74 -4
  381. package/src/renderers/webgl/WebGLMaterials.js +6 -0
  382. package/src/renderers/webgl/WebGLOutput.js +36 -24
  383. package/src/renderers/webgl/WebGLProgram.js +3 -0
  384. package/src/renderers/webgl/WebGLPrograms.js +8 -0
  385. package/src/renderers/webgl/WebGLRenderLists.js +6 -10
  386. package/src/renderers/webgl/WebGLShadowMap.js +47 -44
  387. package/src/renderers/webgl/WebGLTextures.js +7 -7
  388. package/src/renderers/webgl-fallback/WebGLBackend.js +153 -45
  389. package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +83 -29
  390. package/src/renderers/webgl-fallback/utils/WebGLState.js +163 -17
  391. package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +32 -5
  392. package/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +11 -4
  393. package/src/renderers/webgpu/WebGPUBackend.js +513 -145
  394. package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +99 -20
  395. package/src/renderers/webgpu/nodes/WGSLNodeFunction.js +2 -1
  396. package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +3 -12
  397. package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +24 -14
  398. package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +80 -14
  399. package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +62 -7
  400. package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +9 -3
  401. package/src/renderers/webgpu/utils/WebGPUUtils.js +16 -4
  402. package/src/renderers/webxr/WebXRManager.js +25 -2
  403. package/src/scenes/Scene.js +3 -3
  404. package/src/textures/CompressedArrayTexture.js +16 -0
  405. package/src/textures/Data3DTexture.js +16 -0
  406. package/src/textures/DataArrayTexture.js +16 -0
  407. package/src/textures/DepthTexture.js +3 -3
  408. package/src/textures/Texture.js +3 -3
  409. package/src/textures/{Source.js → TextureSource.js} +39 -8
  410. package/build/three.core.min.js +0 -6
  411. package/build/three.module.min.js +0 -6
  412. package/build/three.tsl.min.js +0 -6
  413. package/build/three.webgpu.min.js +0 -6
  414. package/build/three.webgpu.nodes.min.js +0 -6
  415. package/examples/jsm/libs/ecsy.module.js +0 -1792
  416. package/examples/jsm/loaders/LottieLoader.js +0 -130
  417. package/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +0 -52
@@ -7,6 +7,7 @@ import { TSL } from '@gnsx/three/webgpu';
7
7
 
8
8
  const BRDF_GGX = TSL.BRDF_GGX;
9
9
  const BRDF_Lambert = TSL.BRDF_Lambert;
10
+ const BRDF_Sheen = TSL.BRDF_Sheen;
10
11
  const BasicPointShadowFilter = TSL.BasicPointShadowFilter;
11
12
  const BasicShadowFilter = TSL.BasicShadowFilter;
12
13
  const Break = TSL.Break;
@@ -14,23 +15,35 @@ const Const = TSL.Const;
14
15
  const Continue = TSL.Continue;
15
16
  const DFGLUT = TSL.DFGLUT;
16
17
  const D_GGX = TSL.D_GGX;
18
+ const D_GGX_Anisotropic = TSL.D_GGX_Anisotropic;
17
19
  const Discard = TSL.Discard;
18
20
  const EPSILON = TSL.EPSILON;
21
+ const EnvironmentBRDF = TSL.EnvironmentBRDF;
19
22
  const F_Schlick = TSL.F_Schlick;
20
23
  const Fn = TSL.Fn;
24
+ const HALF_PI = TSL.HALF_PI;
21
25
  const INFINITY = TSL.INFINITY;
22
26
  const If = TSL.If;
27
+ const LTC_Evaluate = TSL.LTC_Evaluate;
28
+ const LTC_Evaluate_Volume = TSL.LTC_Evaluate_Volume;
29
+ const LTC_Uv = TSL.LTC_Uv;
23
30
  const Loop = TSL.Loop;
24
31
  const NodeAccess = TSL.NodeAccess;
25
32
  const NodeShaderStage = TSL.NodeShaderStage;
26
33
  const NodeType = TSL.NodeType;
27
34
  const NodeUpdateType = TSL.NodeUpdateType;
35
+ const OnAfterObjectUpdate = TSL.OnAfterObjectUpdate;
36
+ const OnAfterRenderPipeline = TSL.OnAfterRenderPipeline;
37
+ const OnBeforeFrameUpdate = TSL.OnBeforeFrameUpdate;
38
+ const OnBeforeMaterialUpdate = TSL.OnBeforeMaterialUpdate;
39
+ const OnBeforeObjectUpdate = TSL.OnBeforeObjectUpdate;
40
+ const OnBeforeRenderPipeline = TSL.OnBeforeRenderPipeline;
41
+ const OnFrameUpdate = TSL.OnFrameUpdate;
42
+ const OnMaterialUpdate = TSL.OnMaterialUpdate;
43
+ const OnObjectUpdate = TSL.OnObjectUpdate;
28
44
  const PCFShadowFilter = TSL.PCFShadowFilter;
29
- const PCFSoftShadowFilter = TSL.PCFSoftShadowFilter;
30
45
  const PI = TSL.PI;
31
46
  const PI2 = TSL.PI2;
32
- const TWO_PI = TSL.TWO_PI;
33
- const HALF_PI = TSL.HALF_PI;
34
47
  const PointShadowFilter = TSL.PointShadowFilter;
35
48
  const Return = TSL.Return;
36
49
  const Schlick_to_F0 = TSL.Schlick_to_F0;
@@ -38,8 +51,10 @@ const ShaderNode = TSL.ShaderNode;
38
51
  const Stack = TSL.Stack;
39
52
  const Switch = TSL.Switch;
40
53
  const TBNViewMatrix = TSL.TBNViewMatrix;
54
+ const TWO_PI = TSL.TWO_PI;
41
55
  const VSMShadowFilter = TSL.VSMShadowFilter;
42
56
  const V_GGX_SmithCorrelated = TSL.V_GGX_SmithCorrelated;
57
+ const V_GGX_SmithCorrelated_Anisotropic = TSL.V_GGX_SmithCorrelated_Anisotropic;
43
58
  const Var = TSL.Var;
44
59
  const VarIntent = TSL.VarIntent;
45
60
  const abs = TSL.abs;
@@ -58,7 +73,6 @@ const anisotropy = TSL.anisotropy;
58
73
  const anisotropyB = TSL.anisotropyB;
59
74
  const anisotropyT = TSL.anisotropyT;
60
75
  const any = TSL.any;
61
- const append = TSL.append;
62
76
  const array = TSL.array;
63
77
  const asin = TSL.asin;
64
78
  const asinh = TSL.asinh;
@@ -83,6 +97,8 @@ const backgroundBlurriness = TSL.backgroundBlurriness;
83
97
  const backgroundIntensity = TSL.backgroundIntensity;
84
98
  const backgroundRotation = TSL.backgroundRotation;
85
99
  const batch = TSL.batch;
100
+ const batchColor = TSL.batchColor;
101
+ const batchIndirectIndex = TSL.batchIndirectIndex;
86
102
  const bentNormalView = TSL.bentNormalView;
87
103
  const billboarding = TSL.billboarding;
88
104
  const bitAnd = TSL.bitAnd;
@@ -92,6 +108,7 @@ const bitXor = TSL.bitXor;
92
108
  const bitangentGeometry = TSL.bitangentGeometry;
93
109
  const bitangentLocal = TSL.bitangentLocal;
94
110
  const bitangentView = TSL.bitangentView;
111
+ const bitangentViewFrame = TSL.bitangentViewFrame;
95
112
  const bitangentWorld = TSL.bitangentWorld;
96
113
  const bitcast = TSL.bitcast;
97
114
  const blendBurn = TSL.blendBurn;
@@ -99,14 +116,14 @@ const blendColor = TSL.blendColor;
99
116
  const blendDodge = TSL.blendDodge;
100
117
  const blendOverlay = TSL.blendOverlay;
101
118
  const blendScreen = TSL.blendScreen;
102
- const blur = TSL.blur;
103
119
  const bool = TSL.bool;
104
120
  const buffer = TSL.buffer;
105
121
  const bufferAttribute = TSL.bufferAttribute;
106
- const bumpMap = TSL.bumpMap;
107
122
  const builtin = TSL.builtin;
108
123
  const builtinAOContext = TSL.builtinAOContext;
124
+ const builtinGIContext = TSL.builtinGIContext;
109
125
  const builtinShadowContext = TSL.builtinShadowContext;
126
+ const bumpMap = TSL.bumpMap;
110
127
  const bvec2 = TSL.bvec2;
111
128
  const bvec3 = TSL.bvec3;
112
129
  const bvec4 = TSL.bvec4;
@@ -133,6 +150,8 @@ const clearcoat = TSL.clearcoat;
133
150
  const clearcoatNormalView = TSL.clearcoatNormalView;
134
151
  const clearcoatRoughness = TSL.clearcoatRoughness;
135
152
  const clipSpace = TSL.clipSpace;
153
+ const clipping = TSL.clipping;
154
+ const clippingAlpha = TSL.clippingAlpha;
136
155
  const code = TSL.code;
137
156
  const color = TSL.color;
138
157
  const colorSpaceToWorking = TSL.colorSpaceToWorking;
@@ -144,11 +163,11 @@ const context = TSL.context;
144
163
  const convert = TSL.convert;
145
164
  const convertColorSpace = TSL.convertColorSpace;
146
165
  const convertToTexture = TSL.convertToTexture;
166
+ const cos = TSL.cos;
167
+ const cosh = TSL.cosh;
147
168
  const countLeadingZeros = TSL.countLeadingZeros;
148
169
  const countOneBits = TSL.countOneBits;
149
170
  const countTrailingZeros = TSL.countTrailingZeros;
150
- const cos = TSL.cos;
151
- const cosh = TSL.cosh;
152
171
  const cross = TSL.cross;
153
172
  const cubeTexture = TSL.cubeTexture;
154
173
  const cubeTextureBase = TSL.cubeTextureBase;
@@ -163,13 +182,13 @@ const defaultShaderStages = TSL.defaultShaderStages;
163
182
  const defined = TSL.defined;
164
183
  const degrees = TSL.degrees;
165
184
  const deltaTime = TSL.deltaTime;
166
- const densityFog = TSL.densityFog;
167
185
  const densityFogFactor = TSL.densityFogFactor;
168
186
  const depth = TSL.depth;
169
187
  const depthPass = TSL.depthPass;
170
188
  const determinant = TSL.determinant;
171
189
  const difference = TSL.difference;
172
190
  const diffuseColor = TSL.diffuseColor;
191
+ const diffuseContribution = TSL.diffuseContribution;
173
192
  const directPointLight = TSL.directPointLight;
174
193
  const directionToColor = TSL.directionToColor;
175
194
  const directionToFaceDirection = TSL.directionToFaceDirection;
@@ -177,6 +196,8 @@ const dispersion = TSL.dispersion;
177
196
  const distance = TSL.distance;
178
197
  const div = TSL.div;
179
198
  const dot = TSL.dot;
199
+ const dot4I8Packed = TSL.dot4I8Packed;
200
+ const dot4U8Packed = TSL.dot4U8Packed;
180
201
  const drawIndex = TSL.drawIndex;
181
202
  const dynamicBufferAttribute = TSL.dynamicBufferAttribute;
182
203
  const element = TSL.element;
@@ -205,7 +226,6 @@ const gain = TSL.gain;
205
226
  const gapSize = TSL.gapSize;
206
227
  const getConstNodeType = TSL.getConstNodeType;
207
228
  const getCurrentStack = TSL.getCurrentStack;
208
- const getDirection = TSL.getDirection;
209
229
  const getDistanceAttenuation = TSL.getDistanceAttenuation;
210
230
  const getGeometryRoughness = TSL.getGeometryRoughness;
211
231
  // WITH_GENESYS
@@ -213,14 +233,11 @@ const getLightProbeGridIrradiance = TSL.getLightProbeGridIrradiance;
213
233
  const getLightProbeGridIrradianceAtUV = TSL.getLightProbeGridIrradianceAtUV;
214
234
  // !WITH_GENESYS
215
235
  const getNormalFromDepth = TSL.getNormalFromDepth;
216
- const interleavedGradientNoise = TSL.interleavedGradientNoise;
217
- const vogelDiskSample = TSL.vogelDiskSample;
218
236
  const getParallaxCorrectNormal = TSL.getParallaxCorrectNormal;
219
237
  const getRoughness = TSL.getRoughness;
220
238
  const getScreenPosition = TSL.getScreenPosition;
239
+ const getScreenPositionFromClip = TSL.getScreenPositionFromClip;
221
240
  const getShIrradianceAt = TSL.getShIrradianceAt;
222
- const getShadowMaterial = TSL.getShadowMaterial;
223
- const getShadowRenderObjectFunction = TSL.getShadowRenderObjectFunction;
224
241
  const getTextureIndex = TSL.getTextureIndex;
225
242
  const getViewPosition = TSL.getViewPosition;
226
243
  const globalId = TSL.globalId;
@@ -229,13 +246,16 @@ const glslFn = TSL.glslFn;
229
246
  const grayscale = TSL.grayscale;
230
247
  const greaterThan = TSL.greaterThan;
231
248
  const greaterThanEqual = TSL.greaterThanEqual;
249
+ const hardwareClipping = TSL.hardwareClipping;
232
250
  const hash = TSL.hash;
233
251
  const highpModelNormalViewMatrix = TSL.highpModelNormalViewMatrix;
234
252
  const highpModelViewMatrix = TSL.highpModelViewMatrix;
235
253
  const hue = TSL.hue;
236
254
  const increment = TSL.increment;
237
255
  const incrementBefore = TSL.incrementBefore;
256
+ const inspect = TSL.inspect;
238
257
  const instance = TSL.instance;
258
+ const instanceColor = TSL.instanceColor;
239
259
  const instanceIndex = TSL.instanceIndex;
240
260
  const instancedArray = TSL.instancedArray;
241
261
  const instancedBufferAttribute = TSL.instancedBufferAttribute;
@@ -243,6 +263,7 @@ const instancedDynamicBufferAttribute = TSL.instancedDynamicBufferAttribute;
243
263
  const instancedMesh = TSL.instancedMesh;
244
264
  const int = TSL.int;
245
265
  const intBitsToFloat = TSL.intBitsToFloat;
266
+ const interleavedGradientNoise = TSL.interleavedGradientNoise;
246
267
  const inverse = TSL.inverse;
247
268
  const inverseSqrt = TSL.inverseSqrt;
248
269
  const inversesqrt = TSL.inversesqrt;
@@ -252,6 +273,7 @@ const ior = TSL.ior;
252
273
  const iridescence = TSL.iridescence;
253
274
  const iridescenceIOR = TSL.iridescenceIOR;
254
275
  const iridescenceThickness = TSL.iridescenceThickness;
276
+ const isolate = TSL.isolate;
255
277
  const ivec2 = TSL.ivec2;
256
278
  const ivec3 = TSL.ivec3;
257
279
  const ivec4 = TSL.ivec4;
@@ -311,6 +333,7 @@ const materialPointSize = TSL.materialPointSize;
311
333
  const materialReference = TSL.materialReference;
312
334
  const materialReflectivity = TSL.materialReflectivity;
313
335
  const materialRefractionRatio = TSL.materialRefractionRatio;
336
+ const materialRetroreflectivity = TSL.materialRetroreflectivity;
314
337
  const materialRotation = TSL.materialRotation;
315
338
  const materialRoughness = TSL.materialRoughness;
316
339
  const materialSheen = TSL.materialSheen;
@@ -347,9 +370,11 @@ const mx_aastep = TSL.mx_aastep;
347
370
  const mx_add = TSL.mx_add;
348
371
  const mx_atan2 = TSL.mx_atan2;
349
372
  const mx_cell_noise_float = TSL.mx_cell_noise_float;
373
+ const mx_cell_noise_vec3 = TSL.mx_cell_noise_vec3;
350
374
  const mx_contrast = TSL.mx_contrast;
351
375
  const mx_divide = TSL.mx_divide;
352
376
  const mx_fractal_noise_float = TSL.mx_fractal_noise_float;
377
+ const mx_fractal_noise_float_2d = TSL.mx_fractal_noise_float_2d;
353
378
  const mx_fractal_noise_vec2 = TSL.mx_fractal_noise_vec2;
354
379
  const mx_fractal_noise_vec3 = TSL.mx_fractal_noise_vec3;
355
380
  const mx_fractal_noise_vec4 = TSL.mx_fractal_noise_vec4;
@@ -375,6 +400,7 @@ const mx_rotate2d = TSL.mx_rotate2d;
375
400
  const mx_rotate3d = TSL.mx_rotate3d;
376
401
  const mx_safepower = TSL.mx_safepower;
377
402
  const mx_separate = TSL.mx_separate;
403
+ const mx_smoothstep = TSL.mx_smoothstep;
378
404
  const mx_splitlr = TSL.mx_splitlr;
379
405
  const mx_splittb = TSL.mx_splittb;
380
406
  const mx_srgb_texture_to_lin_rec709 = TSL.mx_srgb_texture_to_lin_rec709;
@@ -384,8 +410,11 @@ const mx_transform_uv = TSL.mx_transform_uv;
384
410
  const mx_unifiednoise2d = TSL.mx_unifiednoise2d;
385
411
  const mx_unifiednoise3d = TSL.mx_unifiednoise3d;
386
412
  const mx_worley_noise_float = TSL.mx_worley_noise_float;
413
+ const mx_worley_noise_float_2d = TSL.mx_worley_noise_float_2d;
414
+ const mx_worley_noise_float_3d = TSL.mx_worley_noise_float_3d;
387
415
  const mx_worley_noise_vec2 = TSL.mx_worley_noise_vec2;
388
416
  const mx_worley_noise_vec3 = TSL.mx_worley_noise_vec3;
417
+ const mx_worley_noise_vec3_style = TSL.mx_worley_noise_vec3_style;
389
418
  const negate = TSL.negate;
390
419
  const negateOnBackSide = TSL.negateOnBackSide;
391
420
  const neutralToneMapping = TSL.neutralToneMapping;
@@ -395,6 +424,7 @@ const nodeObject = TSL.nodeObject;
395
424
  const nodeObjectIntent = TSL.nodeObjectIntent;
396
425
  const nodeObjects = TSL.nodeObjects;
397
426
  const nodeProxy = TSL.nodeProxy;
427
+ const nodeProxyConstructor = TSL.nodeProxyConstructor;
398
428
  const nodeProxyIntent = TSL.nodeProxyIntent;
399
429
  const normalFlat = TSL.normalFlat;
400
430
  const normalGeometry = TSL.normalGeometry;
@@ -415,10 +445,6 @@ const objectRadius = TSL.objectRadius;
415
445
  const objectScale = TSL.objectScale;
416
446
  const objectViewPosition = TSL.objectViewPosition;
417
447
  const objectWorldMatrix = TSL.objectWorldMatrix;
418
- const OnBeforeObjectUpdate = TSL.OnBeforeObjectUpdate;
419
- const OnBeforeMaterialUpdate = TSL.OnBeforeMaterialUpdate;
420
- const OnObjectUpdate = TSL.OnObjectUpdate;
421
- const OnMaterialUpdate = TSL.OnMaterialUpdate;
422
448
  const oneMinus = TSL.oneMinus;
423
449
  const or = TSL.or;
424
450
  const orthographicDepthToViewZ = TSL.orthographicDepthToViewZ;
@@ -431,10 +457,16 @@ const outputStruct = TSL.outputStruct;
431
457
  const overloadingFn = TSL.overloadingFn;
432
458
  const overrideNode = TSL.overrideNode;
433
459
  const overrideNodes = TSL.overrideNodes;
460
+ const pack4xI8 = TSL.pack4xI8;
461
+ const pack4xI8Clamp = TSL.pack4xI8Clamp;
462
+ const pack4xU8 = TSL.pack4xU8;
463
+ const pack4xU8Clamp = TSL.pack4xU8Clamp;
434
464
  const packHalf2x16 = TSL.packHalf2x16;
465
+ const packNormalToRGB = TSL.packNormalToRGB;
435
466
  const packSnorm2x16 = TSL.packSnorm2x16;
467
+ const packSnorm4x8 = TSL.packSnorm4x8;
436
468
  const packUnorm2x16 = TSL.packUnorm2x16;
437
- const packNormalToRGB = TSL.packNormalToRGB;
469
+ const packUnorm4x8 = TSL.packUnorm4x8;
438
470
  const parabola = TSL.parabola;
439
471
  const parallaxDirection = TSL.parallaxDirection;
440
472
  const parallaxUV = TSL.parallaxUV;
@@ -461,10 +493,13 @@ const pow3 = TSL.pow3;
461
493
  const pow4 = TSL.pow4;
462
494
  const premultiplyAlpha = TSL.premultiplyAlpha;
463
495
  const property = TSL.property;
496
+ const quadBroadcast = TSL.quadBroadcast;
497
+ const quadSwapDiagonal = TSL.quadSwapDiagonal;
498
+ const quadSwapX = TSL.quadSwapX;
499
+ const quadSwapY = TSL.quadSwapY;
464
500
  const radians = TSL.radians;
465
501
  const rand = TSL.rand;
466
502
  const range = TSL.range;
467
- const rangeFog = TSL.rangeFog;
468
503
  const rangeFogFactor = TSL.rangeFogFactor;
469
504
  const reciprocal = TSL.reciprocal;
470
505
  const reference = TSL.reference;
@@ -483,6 +518,7 @@ const renderGroup = TSL.renderGroup;
483
518
  const renderOutput = TSL.renderOutput;
484
519
  const rendererReference = TSL.rendererReference;
485
520
  const replaceDefaultUV = TSL.replaceDefaultUV;
521
+ const retroreflectivity = TSL.retroreflectivity;
486
522
  const rotate = TSL.rotate;
487
523
  const rotateUV = TSL.rotateUV;
488
524
  const roughness = TSL.roughness;
@@ -495,7 +531,6 @@ const sampler = TSL.sampler;
495
531
  const samplerComparison = TSL.samplerComparison;
496
532
  const saturate = TSL.saturate;
497
533
  const saturation = TSL.saturation;
498
- const screen = TSL.screen;
499
534
  const screenCoordinate = TSL.screenCoordinate;
500
535
  const screenDPR = TSL.screenDPR;
501
536
  const screenSize = TSL.screenSize;
@@ -515,12 +550,13 @@ const shiftRight = TSL.shiftRight;
515
550
  const shininess = TSL.shininess;
516
551
  const sign = TSL.sign;
517
552
  const sin = TSL.sin;
518
- const sinh = TSL.sinh;
519
553
  const sinc = TSL.sinc;
554
+ const sinh = TSL.sinh;
520
555
  const skinning = TSL.skinning;
521
556
  const smoothstep = TSL.smoothstep;
522
557
  const smoothstepElement = TSL.smoothstepElement;
523
558
  const specularColor = TSL.specularColor;
559
+ const specularColorBlended = TSL.specularColorBlended;
524
560
  const specularF90 = TSL.specularF90;
525
561
  const spherizeUV = TSL.spherizeUV;
526
562
  const split = TSL.split;
@@ -531,10 +567,12 @@ const step = TSL.step;
531
567
  const stepElement = TSL.stepElement;
532
568
  const storage = TSL.storage;
533
569
  const storageBarrier = TSL.storageBarrier;
570
+ const storageElement = TSL.storageElement;
534
571
  const storageTexture = TSL.storageTexture;
535
572
  const storageTexture3D = TSL.storageTexture3D;
536
573
  const struct = TSL.struct;
537
574
  const sub = TSL.sub;
575
+ const subBuild = TSL.subBuild;
538
576
  const subgroupAdd = TSL.subgroupAdd;
539
577
  const subgroupAll = TSL.subgroupAll;
540
578
  const subgroupAnd = TSL.subgroupAnd;
@@ -542,7 +580,6 @@ const subgroupAny = TSL.subgroupAny;
542
580
  const subgroupBallot = TSL.subgroupBallot;
543
581
  const subgroupBroadcast = TSL.subgroupBroadcast;
544
582
  const subgroupBroadcastFirst = TSL.subgroupBroadcastFirst;
545
- const subBuild = TSL.subBuild;
546
583
  const subgroupElect = TSL.subgroupElect;
547
584
  const subgroupExclusiveAdd = TSL.subgroupExclusiveAdd;
548
585
  const subgroupExclusiveMul = TSL.subgroupExclusiveMul;
@@ -560,20 +597,22 @@ const subgroupShuffleXor = TSL.subgroupShuffleXor;
560
597
  const subgroupSize = TSL.subgroupSize;
561
598
  const subgroupXor = TSL.subgroupXor;
562
599
  const tan = TSL.tan;
563
- const tanh = TSL.tanh;
564
600
  const tangentGeometry = TSL.tangentGeometry;
565
601
  const tangentLocal = TSL.tangentLocal;
566
602
  const tangentView = TSL.tangentView;
603
+ const tangentViewFrame = TSL.tangentViewFrame;
567
604
  const tangentWorld = TSL.tangentWorld;
605
+ const tanh = TSL.tanh;
568
606
  const texture = TSL.texture;
569
607
  const texture3D = TSL.texture3D;
608
+ const texture3DLevel = TSL.texture3DLevel;
609
+ const texture3DLoad = TSL.texture3DLoad;
570
610
  const textureBarrier = TSL.textureBarrier;
571
611
  const textureBicubic = TSL.textureBicubic;
572
612
  const textureBicubicLevel = TSL.textureBicubicLevel;
573
- const textureCubeUV = TSL.textureCubeUV;
613
+ const textureLevel = TSL.textureLevel;
574
614
  const textureLoad = TSL.textureLoad;
575
615
  const textureSize = TSL.textureSize;
576
- const textureLevel = TSL.textureLevel;
577
616
  const textureStore = TSL.textureStore;
578
617
  const thickness = TSL.thickness;
579
618
  const time = TSL.time;
@@ -599,13 +638,18 @@ const uintBitsToFloat = TSL.uintBitsToFloat;
599
638
  const uniform = TSL.uniform;
600
639
  const uniformArray = TSL.uniformArray;
601
640
  const uniformCubeTexture = TSL.uniformCubeTexture;
602
- const uniformGroup = TSL.uniformGroup;
603
641
  const uniformFlow = TSL.uniformFlow;
642
+ const uniformGroup = TSL.uniformGroup;
604
643
  const uniformTexture = TSL.uniformTexture;
644
+ const unpack4xI8 = TSL.unpack4xI8;
645
+ const unpack4xU8 = TSL.unpack4xU8;
605
646
  const unpackHalf2x16 = TSL.unpackHalf2x16;
647
+ const unpackNormal = TSL.unpackNormal;
648
+ const unpackRGBToNormal = TSL.unpackRGBToNormal;
606
649
  const unpackSnorm2x16 = TSL.unpackSnorm2x16;
650
+ const unpackSnorm4x8 = TSL.unpackSnorm4x8;
607
651
  const unpackUnorm2x16 = TSL.unpackUnorm2x16;
608
- const unpackRGBToNormal = TSL.unpackRGBToNormal;
652
+ const unpackUnorm4x8 = TSL.unpackUnorm4x8;
609
653
  const unpremultiplyAlpha = TSL.unpremultiplyAlpha;
610
654
  const userData = TSL.userData;
611
655
  const uv = TSL.uv;
@@ -634,12 +678,12 @@ const viewportDepthTexture = TSL.viewportDepthTexture;
634
678
  const viewportLinearDepth = TSL.viewportLinearDepth;
635
679
  const viewportMipTexture = TSL.viewportMipTexture;
636
680
  const viewportOpaqueMipTexture = TSL.viewportOpaqueMipTexture;
637
- const viewportResolution = TSL.viewportResolution;
638
681
  const viewportSafeUV = TSL.viewportSafeUV;
639
682
  const viewportSharedTexture = TSL.viewportSharedTexture;
640
683
  const viewportSize = TSL.viewportSize;
641
684
  const viewportTexture = TSL.viewportTexture;
642
685
  const viewportUV = TSL.viewportUV;
686
+ const vogelDiskSample = TSL.vogelDiskSample;
643
687
  const wgsl = TSL.wgsl;
644
688
  const wgslFn = TSL.wgslFn;
645
689
  const workgroupArray = TSL.workgroupArray;
@@ -648,18 +692,4 @@ const workgroupId = TSL.workgroupId;
648
692
  const workingToColorSpace = TSL.workingToColorSpace;
649
693
  const xor = TSL.xor;
650
694
 
651
- /*
652
- // Use this code to generate the export statements dynamically
653
-
654
- let code = '';
655
-
656
- for ( const key of Object.keys( THREE.TSL ) ) {
657
-
658
- code += `export const ${ key } = TSL.${ key };\n`;
659
-
660
- }
661
-
662
- log( code );
663
- //*/
664
-
665
- export { BRDF_GGX, BRDF_Lambert, BasicPointShadowFilter, BasicShadowFilter, Break, Const, Continue, DFGLUT, D_GGX, Discard, EPSILON, F_Schlick, Fn, HALF_PI, INFINITY, If, Loop, NodeAccess, NodeShaderStage, NodeType, NodeUpdateType, OnBeforeMaterialUpdate, OnBeforeObjectUpdate, OnMaterialUpdate, OnObjectUpdate, PCFShadowFilter, PCFSoftShadowFilter, PI, PI2, PointShadowFilter, Return, Schlick_to_F0, ShaderNode, Stack, Switch, TBNViewMatrix, TWO_PI, VSMShadowFilter, V_GGX_SmithCorrelated, Var, VarIntent, abs, acesFilmicToneMapping, acos, acosh, add, addMethodChaining, addNodeElement, agxToneMapping, all, alphaT, ambientOcclusion, and, anisotropy, anisotropyB, anisotropyT, any, append, array, asin, asinh, assign, atan, atanh, atomicAdd, atomicAnd, atomicFunc, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, attenuationColor, attenuationDistance, attribute, attributeArray, backgroundBlurriness, backgroundIntensity, backgroundRotation, batch, bentNormalView, billboarding, bitAnd, bitNot, bitOr, bitXor, bitangentGeometry, bitangentLocal, bitangentView, bitangentWorld, bitcast, blendBurn, blendColor, blendDodge, blendOverlay, blendScreen, blur, bool, buffer, bufferAttribute, builtin, builtinAOContext, builtinShadowContext, bumpMap, bvec2, bvec3, bvec4, bypass, cache, call, cameraFar, cameraIndex, cameraNear, cameraNormalMatrix, cameraPosition, cameraProjectionMatrix, cameraProjectionMatrixInverse, cameraViewMatrix, cameraViewport, cameraWorldMatrix, cbrt, cdl, ceil, checker, cineonToneMapping, clamp, clearcoat, clearcoatNormalView, clearcoatRoughness, clipSpace, code, color, colorSpaceToWorking, colorToDirection, compute, computeKernel, computeSkinning, context, convert, convertColorSpace, convertToTexture, cos, cosh, countLeadingZeros, countOneBits, countTrailingZeros, cross, cubeTexture, cubeTextureBase, dFdx, dFdy, dashSize, debug, decrement, decrementBefore, defaultBuildStages, defaultShaderStages, defined, degrees, deltaTime, densityFog, densityFogFactor, depth, depthPass, determinant, difference, diffuseColor, directPointLight, directionToColor, directionToFaceDirection, dispersion, distance, div, dot, drawIndex, dynamicBufferAttribute, element, emissive, equal, equirectDirection, equirectUV, exp, exp2, exponentialHeightFogFactor, expression, faceDirection, faceForward, faceforward, float, floatBitsToInt, floatBitsToUint, floor, fog, fract, frameGroup, frameId, frontFacing, fwidth, gain, gapSize, getConstNodeType, getCurrentStack, getDirection, getDistanceAttenuation, getGeometryRoughness, getLightProbeGridIrradiance, getLightProbeGridIrradianceAtUV, getNormalFromDepth, getParallaxCorrectNormal, getRoughness, getScreenPosition, getShIrradianceAt, getShadowMaterial, getShadowRenderObjectFunction, getTextureIndex, getViewPosition, globalId, glsl, glslFn, grayscale, greaterThan, greaterThanEqual, hash, highpModelNormalViewMatrix, highpModelViewMatrix, hue, increment, incrementBefore, instance, instanceIndex, instancedArray, instancedBufferAttribute, instancedDynamicBufferAttribute, instancedMesh, int, intBitsToFloat, interleavedGradientNoise, inverse, inverseSqrt, inversesqrt, invocationLocalIndex, invocationSubgroupIndex, ior, iridescence, iridescenceIOR, iridescenceThickness, ivec2, ivec3, ivec4, js, label, length, lengthSq, lessThan, lessThanEqual, lightPosition, lightProjectionUV, lightShadowMatrix, lightTargetDirection, lightTargetPosition, lightViewPosition, lightingContext, lights, linearDepth, linearToneMapping, localId, log, log2, logarithmicDepthToViewZ, luminance, mat2, mat3, mat4, matcapUV, materialAO, materialAlphaTest, materialAnisotropy, materialAnisotropyVector, materialAttenuationColor, materialAttenuationDistance, materialClearcoat, materialClearcoatNormal, materialClearcoatRoughness, materialColor, materialDispersion, materialEmissive, materialEnvIntensity, materialEnvRotation, materialIOR, materialIridescence, materialIridescenceIOR, materialIridescenceThickness, materialLightMap, materialLineDashOffset, materialLineDashSize, materialLineGapSize, materialLineScale, materialLineWidth, materialMetalness, materialNormal, materialOpacity, materialPointSize, materialReference, materialReflectivity, materialRefractionRatio, materialRotation, materialRoughness, materialSheen, materialSheenRoughness, materialShininess, materialSpecular, materialSpecularColor, materialSpecularIntensity, materialSpecularStrength, materialThickness, materialTransmission, max, maxMipLevel, mediumpModelViewMatrix, metalness, min, mix, mixElement, mod, modelDirection, modelNormalMatrix, modelPosition, modelRadius, modelScale, modelViewMatrix, modelViewPosition, modelViewProjection, modelWorldMatrix, modelWorldMatrixInverse, morphReference, mrt, mul, mx_aastep, mx_add, mx_atan2, mx_cell_noise_float, mx_contrast, mx_divide, mx_fractal_noise_float, mx_fractal_noise_vec2, mx_fractal_noise_vec3, mx_fractal_noise_vec4, mx_frame, mx_heighttonormal, mx_hsvtorgb, mx_ifequal, mx_ifgreater, mx_ifgreatereq, mx_invert, mx_modulo, mx_multiply, mx_noise_float, mx_noise_vec3, mx_noise_vec4, mx_place2d, mx_power, mx_ramp4, mx_ramplr, mx_ramptb, mx_rgbtohsv, mx_rotate2d, mx_rotate3d, mx_safepower, mx_separate, mx_splitlr, mx_splittb, mx_srgb_texture_to_lin_rec709, mx_subtract, mx_timer, mx_transform_uv, mx_unifiednoise2d, mx_unifiednoise3d, mx_worley_noise_float, mx_worley_noise_vec2, mx_worley_noise_vec3, negate, negateOnBackSide, neutralToneMapping, nodeArray, nodeImmutable, nodeObject, nodeObjectIntent, nodeObjects, nodeProxy, nodeProxyIntent, normalFlat, normalGeometry, normalLocal, normalMap, normalView, normalViewGeometry, normalWorld, normalWorldGeometry, normalize, not, notEqual, numWorkgroups, objectDirection, objectGroup, objectPosition, objectRadius, objectScale, objectViewPosition, objectWorldMatrix, oneMinus, or, orthographicDepthToViewZ, oscSawtooth, oscSine, oscSquare, oscTriangle, output, outputStruct, overloadingFn, overrideNode, overrideNodes, packHalf2x16, packNormalToRGB, packSnorm2x16, packUnorm2x16, parabola, parallaxDirection, parallaxUV, parameter, pass, passTexture, pcurve, perspectiveDepthToViewZ, pmremTexture, pointShadow, pointUV, pointWidth, positionGeometry, positionLocal, positionPrevious, positionView, positionViewDirection, positionWorld, positionWorldDirection, posterize, pow, pow2, pow3, pow4, premultiplyAlpha, property, radians, rand, range, rangeFog, rangeFogFactor, reciprocal, reference, referenceBuffer, reflect, reflectVector, reflectView, reflector, refract, refractVector, refractView, reinhardToneMapping, remap, remapClamp, renderGroup, renderOutput, rendererReference, replaceDefaultUV, rotate, rotateUV, roughness, round, rtt, sRGBTransferEOTF, sRGBTransferOETF, sample, sampler, samplerComparison, saturate, saturation, screen, screenCoordinate, screenDPR, screenSize, screenUV, select, setCurrentStack, setName, shaderStages, shadow, shadowPositionWorld, shapeCircle, sharedUniformGroup, sheen, sheenRoughness, shiftLeft, shiftRight, shininess, sign, sin, sinc, sinh, skinning, smoothstep, smoothstepElement, specularColor, specularF90, spherizeUV, split, spritesheetUV, sqrt, stack, step, stepElement, storage, storageBarrier, storageTexture, storageTexture3D, struct, sub, subBuild, subgroupAdd, subgroupAll, subgroupAnd, subgroupAny, subgroupBallot, subgroupBroadcast, subgroupBroadcastFirst, subgroupElect, subgroupExclusiveAdd, subgroupExclusiveMul, subgroupInclusiveAdd, subgroupInclusiveMul, subgroupIndex, subgroupMax, subgroupMin, subgroupMul, subgroupOr, subgroupShuffle, subgroupShuffleDown, subgroupShuffleUp, subgroupShuffleXor, subgroupSize, subgroupXor, tan, tangentGeometry, tangentLocal, tangentView, tangentWorld, tanh, texture, texture3D, textureBarrier, textureBicubic, textureBicubicLevel, textureCubeUV, textureLevel, textureLoad, textureSize, textureStore, thickness, time, toneMapping, toneMappingExposure, toonOutlinePass, transformDirection, transformNormal, transformNormalByInverseViewMatrix, transformNormalByViewMatrix, transformNormalToView, transformedClearcoatNormalView, transformedNormalView, transformedNormalWorld, transmission, transpose, triNoise3D, triplanarTexture, triplanarTextures, trunc, uint, uintBitsToFloat, uniform, uniformArray, uniformCubeTexture, uniformFlow, uniformGroup, uniformTexture, unpackHalf2x16, unpackRGBToNormal, unpackSnorm2x16, unpackUnorm2x16, unpremultiplyAlpha, userData, uv, uvec2, uvec3, uvec4, varying, varyingProperty, vec2, vec3, vec4, vectorComponents, velocity, vertexColor, vertexIndex, vertexStage, vibrance, viewZToLogarithmicDepth, viewZToOrthographicDepth, viewZToPerspectiveDepth, viewZToReversedOrthographicDepth, viewZToReversedPerspectiveDepth, viewport, viewportCoordinate, viewportDepthTexture, viewportLinearDepth, viewportMipTexture, viewportOpaqueMipTexture, viewportResolution, viewportSafeUV, viewportSharedTexture, viewportSize, viewportTexture, viewportUV, vogelDiskSample, wgsl, wgslFn, workgroupArray, workgroupBarrier, workgroupId, workingToColorSpace, xor };
695
+ export { BRDF_GGX, BRDF_Lambert, BRDF_Sheen, BasicPointShadowFilter, BasicShadowFilter, Break, Const, Continue, DFGLUT, D_GGX, D_GGX_Anisotropic, Discard, EPSILON, EnvironmentBRDF, F_Schlick, Fn, HALF_PI, INFINITY, If, LTC_Evaluate, LTC_Evaluate_Volume, LTC_Uv, Loop, NodeAccess, NodeShaderStage, NodeType, NodeUpdateType, OnAfterObjectUpdate, OnAfterRenderPipeline, OnBeforeFrameUpdate, OnBeforeMaterialUpdate, OnBeforeObjectUpdate, OnBeforeRenderPipeline, OnFrameUpdate, OnMaterialUpdate, OnObjectUpdate, PCFShadowFilter, PI, PI2, PointShadowFilter, Return, Schlick_to_F0, ShaderNode, Stack, Switch, TBNViewMatrix, TWO_PI, VSMShadowFilter, V_GGX_SmithCorrelated, V_GGX_SmithCorrelated_Anisotropic, Var, VarIntent, abs, acesFilmicToneMapping, acos, acosh, add, addMethodChaining, addNodeElement, agxToneMapping, all, alphaT, ambientOcclusion, and, anisotropy, anisotropyB, anisotropyT, any, array, asin, asinh, assign, atan, atanh, atomicAdd, atomicAnd, atomicFunc, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, attenuationColor, attenuationDistance, attribute, attributeArray, backgroundBlurriness, backgroundIntensity, backgroundRotation, batch, batchColor, batchIndirectIndex, bentNormalView, billboarding, bitAnd, bitNot, bitOr, bitXor, bitangentGeometry, bitangentLocal, bitangentView, bitangentViewFrame, bitangentWorld, bitcast, blendBurn, blendColor, blendDodge, blendOverlay, blendScreen, bool, buffer, bufferAttribute, builtin, builtinAOContext, builtinGIContext, builtinShadowContext, bumpMap, bvec2, bvec3, bvec4, bypass, cache, call, cameraFar, cameraIndex, cameraNear, cameraNormalMatrix, cameraPosition, cameraProjectionMatrix, cameraProjectionMatrixInverse, cameraViewMatrix, cameraViewport, cameraWorldMatrix, cbrt, cdl, ceil, checker, cineonToneMapping, clamp, clearcoat, clearcoatNormalView, clearcoatRoughness, clipSpace, clipping, clippingAlpha, code, color, colorSpaceToWorking, colorToDirection, compute, computeKernel, computeSkinning, context, convert, convertColorSpace, convertToTexture, cos, cosh, countLeadingZeros, countOneBits, countTrailingZeros, cross, cubeTexture, cubeTextureBase, dFdx, dFdy, dashSize, debug, decrement, decrementBefore, defaultBuildStages, defaultShaderStages, defined, degrees, deltaTime, densityFogFactor, depth, depthPass, determinant, difference, diffuseColor, diffuseContribution, directPointLight, directionToColor, directionToFaceDirection, dispersion, distance, div, dot, dot4I8Packed, dot4U8Packed, drawIndex, dynamicBufferAttribute, element, emissive, equal, equirectDirection, equirectUV, exp, exp2, exponentialHeightFogFactor, expression, faceDirection, faceForward, faceforward, float, floatBitsToInt, floatBitsToUint, floor, fog, fract, frameGroup, frameId, frontFacing, fwidth, gain, gapSize, getConstNodeType, getCurrentStack, getDistanceAttenuation, getGeometryRoughness, getLightProbeGridIrradiance, getLightProbeGridIrradianceAtUV, getNormalFromDepth, getParallaxCorrectNormal, getRoughness, getScreenPosition, getScreenPositionFromClip, getShIrradianceAt, getTextureIndex, getViewPosition, globalId, glsl, glslFn, grayscale, greaterThan, greaterThanEqual, hardwareClipping, hash, highpModelNormalViewMatrix, highpModelViewMatrix, hue, increment, incrementBefore, inspect, instance, instanceColor, instanceIndex, instancedArray, instancedBufferAttribute, instancedDynamicBufferAttribute, instancedMesh, int, intBitsToFloat, interleavedGradientNoise, inverse, inverseSqrt, inversesqrt, invocationLocalIndex, invocationSubgroupIndex, ior, iridescence, iridescenceIOR, iridescenceThickness, isolate, ivec2, ivec3, ivec4, js, label, length, lengthSq, lessThan, lessThanEqual, lightPosition, lightProjectionUV, lightShadowMatrix, lightTargetDirection, lightTargetPosition, lightViewPosition, lightingContext, lights, linearDepth, linearToneMapping, localId, log, log2, logarithmicDepthToViewZ, luminance, mat2, mat3, mat4, matcapUV, materialAO, materialAlphaTest, materialAnisotropy, materialAnisotropyVector, materialAttenuationColor, materialAttenuationDistance, materialClearcoat, materialClearcoatNormal, materialClearcoatRoughness, materialColor, materialDispersion, materialEmissive, materialEnvIntensity, materialEnvRotation, materialIOR, materialIridescence, materialIridescenceIOR, materialIridescenceThickness, materialLightMap, materialLineDashOffset, materialLineDashSize, materialLineGapSize, materialLineScale, materialLineWidth, materialMetalness, materialNormal, materialOpacity, materialPointSize, materialReference, materialReflectivity, materialRefractionRatio, materialRetroreflectivity, materialRotation, materialRoughness, materialSheen, materialSheenRoughness, materialShininess, materialSpecular, materialSpecularColor, materialSpecularIntensity, materialSpecularStrength, materialThickness, materialTransmission, max, maxMipLevel, mediumpModelViewMatrix, metalness, min, mix, mixElement, mod, modelDirection, modelNormalMatrix, modelPosition, modelRadius, modelScale, modelViewMatrix, modelViewPosition, modelViewProjection, modelWorldMatrix, modelWorldMatrixInverse, morphReference, mrt, mul, mx_aastep, mx_add, mx_atan2, mx_cell_noise_float, mx_cell_noise_vec3, mx_contrast, mx_divide, mx_fractal_noise_float, mx_fractal_noise_float_2d, mx_fractal_noise_vec2, mx_fractal_noise_vec3, mx_fractal_noise_vec4, mx_frame, mx_heighttonormal, mx_hsvtorgb, mx_ifequal, mx_ifgreater, mx_ifgreatereq, mx_invert, mx_modulo, mx_multiply, mx_noise_float, mx_noise_vec3, mx_noise_vec4, mx_place2d, mx_power, mx_ramp4, mx_ramplr, mx_ramptb, mx_rgbtohsv, mx_rotate2d, mx_rotate3d, mx_safepower, mx_separate, mx_smoothstep, mx_splitlr, mx_splittb, mx_srgb_texture_to_lin_rec709, mx_subtract, mx_timer, mx_transform_uv, mx_unifiednoise2d, mx_unifiednoise3d, mx_worley_noise_float, mx_worley_noise_float_2d, mx_worley_noise_float_3d, mx_worley_noise_vec2, mx_worley_noise_vec3, mx_worley_noise_vec3_style, negate, negateOnBackSide, neutralToneMapping, nodeArray, nodeImmutable, nodeObject, nodeObjectIntent, nodeObjects, nodeProxy, nodeProxyConstructor, nodeProxyIntent, normalFlat, normalGeometry, normalLocal, normalMap, normalView, normalViewGeometry, normalWorld, normalWorldGeometry, normalize, not, notEqual, numWorkgroups, objectDirection, objectGroup, objectPosition, objectRadius, objectScale, objectViewPosition, objectWorldMatrix, oneMinus, or, orthographicDepthToViewZ, oscSawtooth, oscSine, oscSquare, oscTriangle, output, outputStruct, overloadingFn, overrideNode, overrideNodes, pack4xI8, pack4xI8Clamp, pack4xU8, pack4xU8Clamp, packHalf2x16, packNormalToRGB, packSnorm2x16, packSnorm4x8, packUnorm2x16, packUnorm4x8, parabola, parallaxDirection, parallaxUV, parameter, pass, passTexture, pcurve, perspectiveDepthToViewZ, pmremTexture, pointShadow, pointUV, pointWidth, positionGeometry, positionLocal, positionPrevious, positionView, positionViewDirection, positionWorld, positionWorldDirection, posterize, pow, pow2, pow3, pow4, premultiplyAlpha, property, quadBroadcast, quadSwapDiagonal, quadSwapX, quadSwapY, radians, rand, range, rangeFogFactor, reciprocal, reference, referenceBuffer, reflect, reflectVector, reflectView, reflector, refract, refractVector, refractView, reinhardToneMapping, remap, remapClamp, renderGroup, renderOutput, rendererReference, replaceDefaultUV, retroreflectivity, rotate, rotateUV, roughness, round, rtt, sRGBTransferEOTF, sRGBTransferOETF, sample, sampler, samplerComparison, saturate, saturation, screenCoordinate, screenDPR, screenSize, screenUV, select, setCurrentStack, setName, shaderStages, shadow, shadowPositionWorld, shapeCircle, sharedUniformGroup, sheen, sheenRoughness, shiftLeft, shiftRight, shininess, sign, sin, sinc, sinh, skinning, smoothstep, smoothstepElement, specularColor, specularColorBlended, specularF90, spherizeUV, split, spritesheetUV, sqrt, stack, step, stepElement, storage, storageBarrier, storageElement, storageTexture, storageTexture3D, struct, sub, subBuild, subgroupAdd, subgroupAll, subgroupAnd, subgroupAny, subgroupBallot, subgroupBroadcast, subgroupBroadcastFirst, subgroupElect, subgroupExclusiveAdd, subgroupExclusiveMul, subgroupInclusiveAdd, subgroupInclusiveMul, subgroupIndex, subgroupMax, subgroupMin, subgroupMul, subgroupOr, subgroupShuffle, subgroupShuffleDown, subgroupShuffleUp, subgroupShuffleXor, subgroupSize, subgroupXor, tan, tangentGeometry, tangentLocal, tangentView, tangentViewFrame, tangentWorld, tanh, texture, texture3D, texture3DLevel, texture3DLoad, textureBarrier, textureBicubic, textureBicubicLevel, textureLevel, textureLoad, textureSize, textureStore, thickness, time, toneMapping, toneMappingExposure, toonOutlinePass, transformDirection, transformNormal, transformNormalByInverseViewMatrix, transformNormalByViewMatrix, transformNormalToView, transformedClearcoatNormalView, transformedNormalView, transformedNormalWorld, transmission, transpose, triNoise3D, triplanarTexture, triplanarTextures, trunc, uint, uintBitsToFloat, uniform, uniformArray, uniformCubeTexture, uniformFlow, uniformGroup, uniformTexture, unpack4xI8, unpack4xU8, unpackHalf2x16, unpackNormal, unpackRGBToNormal, unpackSnorm2x16, unpackSnorm4x8, unpackUnorm2x16, unpackUnorm4x8, unpremultiplyAlpha, userData, uv, uvec2, uvec3, uvec4, varying, varyingProperty, vec2, vec3, vec4, vectorComponents, velocity, vertexColor, vertexIndex, vertexStage, vibrance, viewZToLogarithmicDepth, viewZToOrthographicDepth, viewZToPerspectiveDepth, viewZToReversedOrthographicDepth, viewZToReversedPerspectiveDepth, viewport, viewportCoordinate, viewportDepthTexture, viewportLinearDepth, viewportMipTexture, viewportOpaqueMipTexture, viewportSafeUV, viewportSharedTexture, viewportSize, viewportTexture, viewportUV, vogelDiskSample, wgsl, wgslFn, workgroupArray, workgroupBarrier, workgroupId, workingToColorSpace, xor };