three-stdlib 2.22.9 → 2.23.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 (630) hide show
  1. package/dist/animation/AnimationClipCreator.js +49 -50
  2. package/dist/animation/AnimationClipCreator.mjs +49 -50
  3. package/dist/animation/CCDIKSolver.d.ts +9 -4
  4. package/dist/animation/CCDIKSolver.js +193 -148
  5. package/dist/animation/CCDIKSolver.mjs +194 -149
  6. package/dist/animation/MMDAnimationHelper.js +613 -515
  7. package/dist/animation/MMDAnimationHelper.mjs +613 -515
  8. package/dist/animation/MMDPhysics.d.ts +6 -1
  9. package/dist/animation/MMDPhysics.js +728 -718
  10. package/dist/animation/MMDPhysics.mjs +729 -719
  11. package/dist/cameras/CinematicCamera.d.ts +2 -2
  12. package/dist/controls/ArcballControls.d.ts +1 -1
  13. package/dist/controls/ArcballControls.js +38 -44
  14. package/dist/controls/ArcballControls.mjs +39 -45
  15. package/dist/controls/DeviceOrientationControls.js +2 -1
  16. package/dist/controls/DeviceOrientationControls.mjs +2 -1
  17. package/dist/controls/FirstPersonControls.d.ts +1 -1
  18. package/dist/controls/FirstPersonControls.js +1 -1
  19. package/dist/controls/FirstPersonControls.mjs +1 -1
  20. package/dist/controls/PointerLockControls.js +2 -2
  21. package/dist/controls/PointerLockControls.mjs +2 -2
  22. package/dist/controls/TrackballControls.d.ts +2 -2
  23. package/dist/controls/TransformControls.d.ts +1 -1
  24. package/dist/controls/experimental/CameraControls.d.ts +1 -1
  25. package/dist/csm/CSM.js +4 -4
  26. package/dist/csm/CSM.mjs +4 -4
  27. package/dist/csm/CSMFrustum.js +1 -1
  28. package/dist/csm/CSMFrustum.mjs +1 -1
  29. package/dist/csm/CSMShader.js +14 -10
  30. package/dist/csm/CSMShader.mjs +14 -10
  31. package/dist/curves/CurveExtras.js +52 -62
  32. package/dist/curves/CurveExtras.mjs +53 -63
  33. package/dist/curves/NURBSUtils.d.ts +18 -20
  34. package/dist/curves/NURBSUtils.js +17 -17
  35. package/dist/curves/NURBSUtils.mjs +17 -17
  36. package/dist/deprecated/Geometry.js +26 -26
  37. package/dist/deprecated/Geometry.mjs +27 -27
  38. package/dist/effects/AnaglyphEffect.js +95 -114
  39. package/dist/effects/AnaglyphEffect.mjs +95 -114
  40. package/dist/effects/AsciiEffect.js +144 -162
  41. package/dist/effects/AsciiEffect.mjs +144 -162
  42. package/dist/effects/OutlineEffect.js +253 -276
  43. package/dist/effects/OutlineEffect.mjs +253 -276
  44. package/dist/effects/ParallaxBarrierEffect.js +61 -60
  45. package/dist/effects/ParallaxBarrierEffect.mjs +61 -60
  46. package/dist/effects/PeppersGhostEffect.js +84 -81
  47. package/dist/effects/PeppersGhostEffect.mjs +84 -81
  48. package/dist/effects/StereoEffect.js +31 -28
  49. package/dist/effects/StereoEffect.mjs +31 -28
  50. package/dist/environments/RoomEnvironment.d.ts +6 -5
  51. package/dist/exporters/GLTFExporter.d.ts +109 -441
  52. package/dist/exporters/GLTFExporter.js +915 -581
  53. package/dist/exporters/GLTFExporter.mjs +915 -581
  54. package/dist/geometries/ConvexGeometry.js +0 -3
  55. package/dist/geometries/ConvexGeometry.mjs +0 -3
  56. package/dist/geometries/LightningStrike.d.ts +3 -3
  57. package/dist/geometries/LightningStrike.js +80 -75
  58. package/dist/geometries/LightningStrike.mjs +80 -75
  59. package/dist/geometries/ParametricGeometries.js +75 -74
  60. package/dist/geometries/ParametricGeometries.mjs +75 -74
  61. package/dist/geometries/RoundedBoxGeometry.js +1 -1
  62. package/dist/geometries/RoundedBoxGeometry.mjs +1 -1
  63. package/dist/geometries/TextGeometry.d.ts +1 -1
  64. package/dist/helpers/RectAreaLightHelper.d.ts +4 -3
  65. package/dist/helpers/RectAreaLightHelper.js +2 -2
  66. package/dist/helpers/RectAreaLightHelper.mjs +2 -2
  67. package/dist/helpers/VertexNormalsHelper.d.ts +3 -0
  68. package/dist/helpers/VertexNormalsHelper.js +15 -22
  69. package/dist/helpers/VertexNormalsHelper.mjs +16 -23
  70. package/dist/helpers/VertexTangentsHelper.d.ts +3 -0
  71. package/dist/helpers/VertexTangentsHelper.js +12 -14
  72. package/dist/helpers/VertexTangentsHelper.mjs +12 -14
  73. package/dist/index.d.ts +1 -66
  74. package/dist/index.js +5 -370
  75. package/dist/index.mjs +9 -374
  76. package/dist/interactive/InteractiveGroup.js +1 -1
  77. package/dist/interactive/InteractiveGroup.mjs +1 -1
  78. package/dist/interactive/SelectionBox.js +122 -125
  79. package/dist/interactive/SelectionBox.mjs +122 -125
  80. package/dist/interactive/SelectionHelper.js +45 -48
  81. package/dist/interactive/SelectionHelper.mjs +45 -48
  82. package/dist/libs/MeshoptDecoder.d.ts +1 -1
  83. package/dist/libs/MotionControllers.d.ts +15 -14
  84. package/dist/libs/MotionControllers.js +10 -10
  85. package/dist/libs/MotionControllers.mjs +10 -10
  86. package/dist/lights/LightProbeGenerator.js +43 -43
  87. package/dist/lights/LightProbeGenerator.mjs +43 -43
  88. package/dist/lights/RectAreaLightUniformsLib.js +9 -5
  89. package/dist/lights/RectAreaLightUniformsLib.mjs +9 -5
  90. package/dist/lines/LineMaterial.js +271 -271
  91. package/dist/lines/LineMaterial.mjs +272 -272
  92. package/dist/lines/LineSegments2.js +12 -12
  93. package/dist/lines/LineSegments2.mjs +12 -12
  94. package/dist/lines/LineSegmentsGeometry.js +2 -2
  95. package/dist/lines/LineSegmentsGeometry.mjs +2 -2
  96. package/dist/lines/Wireframe.js +2 -2
  97. package/dist/lines/Wireframe.mjs +2 -2
  98. package/dist/loaders/3DMLoader.d.ts +2 -1
  99. package/dist/loaders/3MFLoader.d.ts +2 -1
  100. package/dist/loaders/AMFLoader.d.ts +2 -1
  101. package/dist/loaders/AssimpLoader.d.ts +20 -0
  102. package/dist/loaders/AssimpLoader.js +520 -482
  103. package/dist/loaders/AssimpLoader.mjs +520 -482
  104. package/dist/loaders/BVHLoader.d.ts +2 -1
  105. package/dist/loaders/BasisTextureLoader.d.ts +2 -1
  106. package/dist/loaders/BasisTextureLoader.js +23 -14
  107. package/dist/loaders/BasisTextureLoader.mjs +24 -15
  108. package/dist/loaders/ColladaLoader.d.ts +2 -1
  109. package/dist/loaders/DRACOLoader.d.ts +2 -1
  110. package/dist/loaders/FBXLoader.d.ts +2 -1
  111. package/dist/loaders/FBXLoader.js +2 -2
  112. package/dist/loaders/FBXLoader.mjs +2 -2
  113. package/dist/loaders/FontLoader.d.ts +4 -4
  114. package/dist/loaders/FontLoader.js +2 -1
  115. package/dist/loaders/FontLoader.mjs +2 -1
  116. package/dist/loaders/GCodeLoader.d.ts +2 -1
  117. package/dist/loaders/GLTFLoader.d.ts +11 -9
  118. package/dist/loaders/GLTFLoader.js +2 -2
  119. package/dist/loaders/GLTFLoader.mjs +2 -2
  120. package/dist/loaders/HDRCubeTextureLoader.d.ts +2 -1
  121. package/dist/loaders/KMZLoader.d.ts +2 -1
  122. package/dist/loaders/KTX2Loader.js +34 -15
  123. package/dist/loaders/KTX2Loader.mjs +35 -16
  124. package/dist/loaders/LDrawLoader.d.ts +2 -1
  125. package/dist/loaders/LDrawLoader.js +3 -3
  126. package/dist/loaders/LDrawLoader.mjs +3 -3
  127. package/dist/loaders/LUT3dlLoader.d.ts +3 -2
  128. package/dist/loaders/LUTCubeLoader.d.ts +3 -2
  129. package/dist/loaders/LWOLoader.d.ts +2 -1
  130. package/dist/loaders/LottieLoader.d.ts +2 -1
  131. package/dist/loaders/MD2Loader.d.ts +2 -1
  132. package/dist/loaders/MDDLoader.d.ts +2 -1
  133. package/dist/loaders/MMDLoader.d.ts +2 -1
  134. package/dist/loaders/MTLLoader.d.ts +2 -1
  135. package/dist/loaders/OBJLoader.d.ts +2 -1
  136. package/dist/loaders/OBJLoader.js +5 -5
  137. package/dist/loaders/OBJLoader.mjs +5 -5
  138. package/dist/loaders/PCDLoader.d.ts +2 -1
  139. package/dist/loaders/PDBLoader.d.ts +2 -1
  140. package/dist/loaders/PLYLoader.d.ts +2 -1
  141. package/dist/loaders/PRWMLoader.d.ts +2 -1
  142. package/dist/loaders/RGBMLoader.js +924 -918
  143. package/dist/loaders/RGBMLoader.mjs +924 -918
  144. package/dist/loaders/STLLoader.d.ts +2 -1
  145. package/dist/loaders/SVGLoader.d.ts +2 -1
  146. package/dist/loaders/TDSLoader.d.ts +2 -1
  147. package/dist/loaders/TTFLoader.d.ts +2 -1
  148. package/dist/loaders/TiltLoader.d.ts +2 -1
  149. package/dist/loaders/TiltLoader.js +3 -1
  150. package/dist/loaders/TiltLoader.mjs +3 -1
  151. package/dist/loaders/VOXLoader.d.ts +4 -2
  152. package/dist/loaders/VRMLLoader.d.ts +2 -1
  153. package/dist/loaders/VRMLoader.d.ts +20 -0
  154. package/dist/loaders/VTKLoader.d.ts +2 -1
  155. package/dist/loaders/XLoader.d.ts +20 -0
  156. package/dist/loaders/XLoader.js +1 -1
  157. package/dist/loaders/XLoader.mjs +1 -1
  158. package/dist/loaders/XYZLoader.d.ts +2 -1
  159. package/dist/loaders/lwo/IFFParser.js +104 -110
  160. package/dist/loaders/lwo/IFFParser.mjs +104 -110
  161. package/dist/loaders/lwo/LWO2Parser.js +18 -33
  162. package/dist/loaders/lwo/LWO2Parser.mjs +18 -33
  163. package/dist/loaders/lwo/LWO3Parser.js +17 -33
  164. package/dist/loaders/lwo/LWO3Parser.mjs +17 -33
  165. package/dist/math/Capsule.d.ts +1 -1
  166. package/dist/math/Capsule.js +90 -92
  167. package/dist/math/Capsule.mjs +90 -92
  168. package/dist/math/ColorConverter.js +26 -36
  169. package/dist/math/ColorConverter.mjs +26 -36
  170. package/dist/math/ConvexHull.js +16 -17
  171. package/dist/math/ConvexHull.mjs +17 -18
  172. package/dist/math/ImprovedNoise.js +41 -39
  173. package/dist/math/ImprovedNoise.mjs +41 -39
  174. package/dist/math/Lut.js +65 -63
  175. package/dist/math/Lut.mjs +66 -64
  176. package/dist/math/MeshSurfaceSampler.d.ts +3 -0
  177. package/dist/math/MeshSurfaceSampler.js +85 -89
  178. package/dist/math/MeshSurfaceSampler.mjs +85 -89
  179. package/dist/math/OBB.js +68 -88
  180. package/dist/math/OBB.mjs +68 -88
  181. package/dist/math/Octree.js +240 -245
  182. package/dist/math/Octree.mjs +240 -245
  183. package/dist/misc/ConvexObjectBreaker.js +114 -120
  184. package/dist/misc/ConvexObjectBreaker.mjs +115 -121
  185. package/dist/misc/GPUComputationRenderer.d.ts +1 -0
  186. package/dist/misc/GPUComputationRenderer.js +191 -157
  187. package/dist/misc/GPUComputationRenderer.mjs +192 -158
  188. package/dist/misc/Gyroscope.js +16 -18
  189. package/dist/misc/Gyroscope.mjs +17 -19
  190. package/dist/misc/MD2Character.js +88 -86
  191. package/dist/misc/MD2Character.mjs +89 -87
  192. package/dist/misc/MD2CharacterComplex.js +106 -105
  193. package/dist/misc/MD2CharacterComplex.mjs +107 -106
  194. package/dist/misc/MorphAnimMesh.d.ts +1 -1
  195. package/dist/misc/MorphAnimMesh.js +33 -33
  196. package/dist/misc/MorphAnimMesh.mjs +33 -33
  197. package/dist/misc/MorphBlendMesh.js +68 -68
  198. package/dist/misc/MorphBlendMesh.mjs +68 -68
  199. package/dist/misc/ProgressiveLightmap.d.ts +1 -2
  200. package/dist/misc/RollerCoaster.js +321 -314
  201. package/dist/misc/RollerCoaster.mjs +322 -315
  202. package/dist/misc/Volume.d.ts +1 -1
  203. package/dist/misc/Volume.js +169 -166
  204. package/dist/misc/Volume.mjs +170 -167
  205. package/dist/misc/VolumeSlice.js +50 -51
  206. package/dist/misc/VolumeSlice.mjs +50 -51
  207. package/dist/modifiers/CurveModifier.d.ts +2 -2
  208. package/dist/modifiers/CurveModifier.js +1 -1
  209. package/dist/modifiers/CurveModifier.mjs +1 -1
  210. package/dist/modifiers/SimplifyModifier.js +2 -1
  211. package/dist/modifiers/SimplifyModifier.mjs +2 -1
  212. package/dist/objects/Lensflare.js +32 -21
  213. package/dist/objects/Lensflare.mjs +33 -22
  214. package/dist/objects/LightningStorm.d.ts +3 -3
  215. package/dist/objects/LightningStorm.js +3 -3
  216. package/dist/objects/LightningStorm.mjs +3 -3
  217. package/dist/objects/MarchingCubes.d.ts +1 -0
  218. package/dist/objects/MarchingCubes.js +4362 -10
  219. package/dist/objects/MarchingCubes.mjs +4363 -11
  220. package/dist/objects/Reflector.d.ts +5 -2
  221. package/dist/objects/Reflector.js +39 -12
  222. package/dist/objects/Reflector.mjs +40 -13
  223. package/dist/objects/ReflectorForSSRPass.js +25 -21
  224. package/dist/objects/ReflectorForSSRPass.mjs +26 -22
  225. package/dist/objects/ReflectorRTT.d.ts +6 -0
  226. package/dist/objects/Refractor.d.ts +5 -2
  227. package/dist/objects/Refractor.js +39 -12
  228. package/dist/objects/Refractor.mjs +40 -13
  229. package/dist/objects/ShadowMesh.d.ts +6 -3
  230. package/dist/objects/ShadowMesh.js +7 -3
  231. package/dist/objects/ShadowMesh.mjs +8 -4
  232. package/dist/objects/Sky.js +181 -137
  233. package/dist/objects/Sky.mjs +182 -138
  234. package/dist/objects/Water.d.ts +3 -3
  235. package/dist/objects/Water.js +3 -2
  236. package/dist/objects/Water.mjs +3 -2
  237. package/dist/objects/Water2.d.ts +2 -2
  238. package/dist/objects/Water2.js +16 -18
  239. package/dist/objects/Water2.mjs +17 -19
  240. package/dist/postprocessing/AdaptiveToneMappingPass.d.ts +2 -2
  241. package/dist/postprocessing/AdaptiveToneMappingPass.js +105 -112
  242. package/dist/postprocessing/AdaptiveToneMappingPass.mjs +107 -114
  243. package/dist/postprocessing/BokehPass.d.ts +1 -1
  244. package/dist/postprocessing/ClearPass.d.ts +3 -3
  245. package/dist/postprocessing/CubeTexturePass.js +37 -33
  246. package/dist/postprocessing/CubeTexturePass.mjs +37 -33
  247. package/dist/postprocessing/HalftonePass.d.ts +1 -1
  248. package/dist/postprocessing/LUTPass.d.ts +3 -3
  249. package/dist/postprocessing/RenderPixelatedPass.d.ts +28 -0
  250. package/dist/postprocessing/SAOPass.d.ts +5 -6
  251. package/dist/postprocessing/SAOPass.js +151 -145
  252. package/dist/postprocessing/SAOPass.mjs +153 -147
  253. package/dist/postprocessing/SSAARenderPass.d.ts +5 -5
  254. package/dist/postprocessing/SSAARenderPass.js +78 -55
  255. package/dist/postprocessing/SSAARenderPass.mjs +80 -57
  256. package/dist/postprocessing/SSAOPass.d.ts +4 -5
  257. package/dist/postprocessing/SSAOPass.js +17 -10
  258. package/dist/postprocessing/SSAOPass.mjs +17 -10
  259. package/dist/postprocessing/SSRPass.d.ts +6 -7
  260. package/dist/postprocessing/SSRPass.js +235 -262
  261. package/dist/postprocessing/SSRPass.mjs +237 -264
  262. package/dist/postprocessing/TAARenderPass.d.ts +2 -2
  263. package/dist/postprocessing/TAARenderPass.js +106 -27
  264. package/dist/postprocessing/TAARenderPass.mjs +107 -28
  265. package/dist/postprocessing/TexturePass.d.ts +2 -2
  266. package/dist/postprocessing/TexturePass.js +24 -22
  267. package/dist/postprocessing/TexturePass.mjs +25 -23
  268. package/dist/postprocessing/UnrealBloomPass.js +175 -118
  269. package/dist/postprocessing/UnrealBloomPass.mjs +177 -120
  270. package/dist/renderers/CSS2DRenderer.d.ts +2 -1
  271. package/dist/renderers/CSS2DRenderer.js +5 -4
  272. package/dist/renderers/CSS2DRenderer.mjs +6 -5
  273. package/dist/renderers/CSS3DRenderer.d.ts +1 -1
  274. package/dist/renderers/CSS3DRenderer.js +147 -113
  275. package/dist/renderers/CSS3DRenderer.mjs +148 -114
  276. package/dist/renderers/Projector.js +377 -389
  277. package/dist/renderers/Projector.mjs +377 -389
  278. package/dist/renderers/SVGRenderer.js +280 -275
  279. package/dist/renderers/SVGRenderer.mjs +280 -275
  280. package/dist/shaders/ACESFilmicToneMappingShader.d.ts +1 -1
  281. package/dist/shaders/AfterimageShader.d.ts +1 -1
  282. package/dist/shaders/BasicShader.d.ts +1 -1
  283. package/dist/shaders/BleachBypassShader.d.ts +1 -1
  284. package/dist/shaders/BokehShader.d.ts +2 -2
  285. package/dist/shaders/BokehShader2.d.ts +2 -2
  286. package/dist/shaders/BokehShader2.js +1 -1
  287. package/dist/shaders/BokehShader2.mjs +1 -1
  288. package/dist/shaders/ColorCorrectionShader.js +3 -3
  289. package/dist/shaders/ColorCorrectionShader.mjs +3 -3
  290. package/dist/shaders/ColorifyShader.js +1 -1
  291. package/dist/shaders/ColorifyShader.mjs +1 -1
  292. package/dist/shaders/ConvolutionShader.d.ts +2 -2
  293. package/dist/shaders/ConvolutionShader.js +1 -1
  294. package/dist/shaders/ConvolutionShader.mjs +1 -1
  295. package/dist/shaders/CopyShader.d.ts +1 -1
  296. package/dist/shaders/DepthLimitedBlurShader.d.ts +2 -2
  297. package/dist/shaders/DepthLimitedBlurShader.js +2 -2
  298. package/dist/shaders/DepthLimitedBlurShader.mjs +2 -2
  299. package/dist/shaders/DotScreenShader.js +2 -2
  300. package/dist/shaders/DotScreenShader.mjs +2 -2
  301. package/dist/shaders/FXAAShader.js +1 -1
  302. package/dist/shaders/FXAAShader.mjs +1 -1
  303. package/dist/shaders/FreiChenShader.js +1 -1
  304. package/dist/shaders/FreiChenShader.mjs +1 -1
  305. package/dist/shaders/GammaCorrectionShader.d.ts +1 -1
  306. package/dist/shaders/GodRaysShader.js +4 -4
  307. package/dist/shaders/GodRaysShader.mjs +4 -4
  308. package/dist/shaders/HorizontalBlurShader.d.ts +1 -1
  309. package/dist/shaders/LuminosityHighPassShader.js +1 -1
  310. package/dist/shaders/LuminosityHighPassShader.mjs +1 -1
  311. package/dist/shaders/NormalMapShader.js +2 -2
  312. package/dist/shaders/NormalMapShader.mjs +2 -2
  313. package/dist/shaders/SAOShader.d.ts +2 -2
  314. package/dist/shaders/SAOShader.js +3 -3
  315. package/dist/shaders/SAOShader.mjs +3 -3
  316. package/dist/shaders/SMAAShader.js +3 -3
  317. package/dist/shaders/SMAAShader.mjs +3 -3
  318. package/dist/shaders/SSAOShader.js +4 -4
  319. package/dist/shaders/SSAOShader.mjs +4 -4
  320. package/dist/shaders/SSRShader.js +4 -4
  321. package/dist/shaders/SSRShader.mjs +4 -4
  322. package/dist/shaders/SobelOperatorShader.js +1 -1
  323. package/dist/shaders/SobelOperatorShader.mjs +1 -1
  324. package/dist/shaders/SubsurfaceScatteringShader.d.ts +2 -2
  325. package/dist/shaders/SubsurfaceScatteringShader.js +91 -52
  326. package/dist/shaders/SubsurfaceScatteringShader.mjs +91 -52
  327. package/dist/shaders/ToonShader.js +25 -25
  328. package/dist/shaders/ToonShader.mjs +25 -25
  329. package/dist/shaders/TriangleBlurShader.js +1 -1
  330. package/dist/shaders/TriangleBlurShader.mjs +1 -1
  331. package/dist/shaders/VerticalBlurShader.d.ts +1 -1
  332. package/dist/shaders/VolumeShader.js +2 -2
  333. package/dist/shaders/VolumeShader.mjs +2 -2
  334. package/dist/shaders/types.d.ts +2 -2
  335. package/dist/types/Loader.d.ts +4 -0
  336. package/dist/types/Loader.js +26 -0
  337. package/dist/types/Loader.mjs +9 -0
  338. package/dist/types/shared.d.ts +2 -2
  339. package/dist/types/utils.d.ts +1 -1
  340. package/dist/utils/BufferGeometryUtils.d.ts +2 -2
  341. package/dist/utils/BufferGeometryUtils.js +1 -1
  342. package/dist/utils/BufferGeometryUtils.mjs +1 -1
  343. package/dist/utils/RoughnessMipmapper.d.ts +8 -0
  344. package/dist/utils/RoughnessMipmapper.js +79 -75
  345. package/dist/utils/RoughnessMipmapper.mjs +79 -75
  346. package/dist/utils/ShadowMapViewer.js +103 -106
  347. package/dist/utils/ShadowMapViewer.mjs +103 -106
  348. package/dist/utils/SkeletonUtils.d.ts +5 -21
  349. package/dist/utils/SkeletonUtils.js +182 -263
  350. package/dist/utils/SkeletonUtils.mjs +183 -264
  351. package/dist/utils/UVsDebug.js +37 -42
  352. package/dist/utils/UVsDebug.mjs +37 -42
  353. package/dist/webxr/ARButton.d.ts +2 -1
  354. package/dist/webxr/OculusHandModel.d.ts +2 -1
  355. package/dist/webxr/OculusHandPointerModel.d.ts +2 -2
  356. package/dist/webxr/OculusHandPointerModel.js +2 -2
  357. package/dist/webxr/OculusHandPointerModel.mjs +2 -2
  358. package/dist/webxr/VRButton.d.ts +2 -1
  359. package/dist/webxr/XRHandPrimitiveModel.js +2 -2
  360. package/dist/webxr/XRHandPrimitiveModel.mjs +2 -2
  361. package/package.json +5 -6
  362. package/dist/custom.d.ts +0 -5
  363. package/dist/loaders/NodeMaterialLoader.js +0 -146
  364. package/dist/loaders/NodeMaterialLoader.mjs +0 -146
  365. package/dist/nodes/Nodes.js +0 -347
  366. package/dist/nodes/Nodes.mjs +0 -347
  367. package/dist/nodes/ShaderNode.js +0 -408
  368. package/dist/nodes/ShaderNode.mjs +0 -408
  369. package/dist/nodes/accessors/BufferNode.js +0 -14
  370. package/dist/nodes/accessors/BufferNode.mjs +0 -15
  371. package/dist/nodes/accessors/CameraNode.js +0 -43
  372. package/dist/nodes/accessors/CameraNode.mjs +0 -44
  373. package/dist/nodes/accessors/CubeTextureNode.js +0 -41
  374. package/dist/nodes/accessors/CubeTextureNode.mjs +0 -42
  375. package/dist/nodes/accessors/MaterialNode.js +0 -70
  376. package/dist/nodes/accessors/MaterialNode.mjs +0 -71
  377. package/dist/nodes/accessors/MaterialReferenceNode.js +0 -13
  378. package/dist/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  379. package/dist/nodes/accessors/ModelNode.js +0 -8
  380. package/dist/nodes/accessors/ModelNode.mjs +0 -9
  381. package/dist/nodes/accessors/ModelViewProjectionNode.js +0 -23
  382. package/dist/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  383. package/dist/nodes/accessors/NormalNode.js +0 -61
  384. package/dist/nodes/accessors/NormalNode.mjs +0 -62
  385. package/dist/nodes/accessors/Object3DNode.js +0 -75
  386. package/dist/nodes/accessors/Object3DNode.mjs +0 -76
  387. package/dist/nodes/accessors/PointUVNode.js +0 -12
  388. package/dist/nodes/accessors/PointUVNode.mjs +0 -13
  389. package/dist/nodes/accessors/PositionNode.js +0 -64
  390. package/dist/nodes/accessors/PositionNode.mjs +0 -65
  391. package/dist/nodes/accessors/ReferenceNode.js +0 -36
  392. package/dist/nodes/accessors/ReferenceNode.mjs +0 -37
  393. package/dist/nodes/accessors/ReflectNode.js +0 -42
  394. package/dist/nodes/accessors/ReflectNode.mjs +0 -43
  395. package/dist/nodes/accessors/SkinningNode.js +0 -57
  396. package/dist/nodes/accessors/SkinningNode.mjs +0 -58
  397. package/dist/nodes/accessors/TextureNode.js +0 -53
  398. package/dist/nodes/accessors/TextureNode.mjs +0 -54
  399. package/dist/nodes/accessors/UVNode.js +0 -22
  400. package/dist/nodes/accessors/UVNode.mjs +0 -23
  401. package/dist/nodes/core/ArrayUniformNode.js +0 -13
  402. package/dist/nodes/core/ArrayUniformNode.mjs +0 -14
  403. package/dist/nodes/core/AttributeNode.js +0 -29
  404. package/dist/nodes/core/AttributeNode.mjs +0 -30
  405. package/dist/nodes/core/BypassNode.js +0 -21
  406. package/dist/nodes/core/BypassNode.mjs +0 -22
  407. package/dist/nodes/core/CodeNode.js +0 -27
  408. package/dist/nodes/core/CodeNode.mjs +0 -28
  409. package/dist/nodes/core/ConstNode.js +0 -13
  410. package/dist/nodes/core/ConstNode.mjs +0 -14
  411. package/dist/nodes/core/ContextNode.js +0 -21
  412. package/dist/nodes/core/ContextNode.mjs +0 -22
  413. package/dist/nodes/core/ExpressionNode.js +0 -18
  414. package/dist/nodes/core/ExpressionNode.mjs +0 -19
  415. package/dist/nodes/core/FunctionCallNode.js +0 -36
  416. package/dist/nodes/core/FunctionCallNode.mjs +0 -37
  417. package/dist/nodes/core/FunctionNode.js +0 -55
  418. package/dist/nodes/core/FunctionNode.mjs +0 -56
  419. package/dist/nodes/core/InputNode.js +0 -37
  420. package/dist/nodes/core/InputNode.mjs +0 -38
  421. package/dist/nodes/core/Node.js +0 -138
  422. package/dist/nodes/core/Node.mjs +0 -139
  423. package/dist/nodes/core/NodeAttribute.js +0 -9
  424. package/dist/nodes/core/NodeAttribute.mjs +0 -10
  425. package/dist/nodes/core/NodeBuilder.js +0 -402
  426. package/dist/nodes/core/NodeBuilder.mjs +0 -402
  427. package/dist/nodes/core/NodeCode.js +0 -10
  428. package/dist/nodes/core/NodeCode.mjs +0 -11
  429. package/dist/nodes/core/NodeFrame.js +0 -34
  430. package/dist/nodes/core/NodeFrame.mjs +0 -35
  431. package/dist/nodes/core/NodeFunctionInput.js +0 -12
  432. package/dist/nodes/core/NodeFunctionInput.mjs +0 -13
  433. package/dist/nodes/core/NodeKeywords.js +0 -43
  434. package/dist/nodes/core/NodeKeywords.mjs +0 -44
  435. package/dist/nodes/core/NodeUniform.js +0 -17
  436. package/dist/nodes/core/NodeUniform.mjs +0 -18
  437. package/dist/nodes/core/NodeUtils.js +0 -57
  438. package/dist/nodes/core/NodeUtils.mjs +0 -57
  439. package/dist/nodes/core/NodeVar.js +0 -9
  440. package/dist/nodes/core/NodeVar.mjs +0 -10
  441. package/dist/nodes/core/NodeVary.js +0 -9
  442. package/dist/nodes/core/NodeVary.mjs +0 -10
  443. package/dist/nodes/core/PropertyNode.js +0 -20
  444. package/dist/nodes/core/PropertyNode.mjs +0 -21
  445. package/dist/nodes/core/TempNode.js +0 -24
  446. package/dist/nodes/core/TempNode.mjs +0 -25
  447. package/dist/nodes/core/UniformNode.js +0 -22
  448. package/dist/nodes/core/UniformNode.mjs +0 -23
  449. package/dist/nodes/core/VarNode.js +0 -30
  450. package/dist/nodes/core/VarNode.mjs +0 -31
  451. package/dist/nodes/core/VaryNode.js +0 -29
  452. package/dist/nodes/core/VaryNode.mjs +0 -30
  453. package/dist/nodes/core/constants.js +0 -24
  454. package/dist/nodes/core/constants.mjs +0 -24
  455. package/dist/nodes/display/ColorSpaceNode.js +0 -62
  456. package/dist/nodes/display/ColorSpaceNode.mjs +0 -62
  457. package/dist/nodes/display/NormalMapNode.js +0 -53
  458. package/dist/nodes/display/NormalMapNode.mjs +0 -54
  459. package/dist/nodes/fog/FogNode.js +0 -14
  460. package/dist/nodes/fog/FogNode.mjs +0 -15
  461. package/dist/nodes/fog/FogRangeNode.js +0 -16
  462. package/dist/nodes/fog/FogRangeNode.mjs +0 -17
  463. package/dist/nodes/functions/BSDFs.js +0 -64
  464. package/dist/nodes/functions/BSDFs.mjs +0 -64
  465. package/dist/nodes/lights/LightContextNode.js +0 -34
  466. package/dist/nodes/lights/LightContextNode.mjs +0 -35
  467. package/dist/nodes/lights/LightNode.js +0 -57
  468. package/dist/nodes/lights/LightNode.mjs +0 -58
  469. package/dist/nodes/lights/LightsNode.js +0 -58
  470. package/dist/nodes/lights/LightsNode.mjs +0 -59
  471. package/dist/nodes/loaders/NodeLoader.js +0 -195
  472. package/dist/nodes/loaders/NodeLoader.mjs +0 -196
  473. package/dist/nodes/loaders/NodeMaterialLoader.js +0 -23
  474. package/dist/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  475. package/dist/nodes/loaders/NodeObjectLoader.js +0 -39
  476. package/dist/nodes/loaders/NodeObjectLoader.mjs +0 -40
  477. package/dist/nodes/materials/LineBasicNodeMaterial.js +0 -26
  478. package/dist/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  479. package/dist/nodes/materials/Materials.js +0 -24
  480. package/dist/nodes/materials/Materials.mjs +0 -24
  481. package/dist/nodes/materials/MeshBasicNodeMaterial.js +0 -27
  482. package/dist/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  483. package/dist/nodes/materials/MeshStandardNodeMaterial.js +0 -40
  484. package/dist/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  485. package/dist/nodes/materials/NodeMaterial.js +0 -63
  486. package/dist/nodes/materials/NodeMaterial.mjs +0 -64
  487. package/dist/nodes/materials/PointsNodeMaterial.js +0 -29
  488. package/dist/nodes/materials/PointsNodeMaterial.mjs +0 -30
  489. package/dist/nodes/math/CondNode.js +0 -40
  490. package/dist/nodes/math/CondNode.mjs +0 -41
  491. package/dist/nodes/math/MathNode.js +0 -165
  492. package/dist/nodes/math/MathNode.mjs +0 -166
  493. package/dist/nodes/math/OperatorNode.js +0 -102
  494. package/dist/nodes/math/OperatorNode.mjs +0 -103
  495. package/dist/nodes/procedural/CheckerNode.js +0 -20
  496. package/dist/nodes/procedural/CheckerNode.mjs +0 -21
  497. package/dist/nodes/utils/ArrayElementNode.js +0 -18
  498. package/dist/nodes/utils/ArrayElementNode.mjs +0 -19
  499. package/dist/nodes/utils/ConvertNode.js +0 -24
  500. package/dist/nodes/utils/ConvertNode.mjs +0 -25
  501. package/dist/nodes/utils/JoinNode.js +0 -25
  502. package/dist/nodes/utils/JoinNode.mjs +0 -26
  503. package/dist/nodes/utils/MatcapUVNode.js +0 -15
  504. package/dist/nodes/utils/MatcapUVNode.mjs +0 -16
  505. package/dist/nodes/utils/OscNode.js +0 -49
  506. package/dist/nodes/utils/OscNode.mjs +0 -50
  507. package/dist/nodes/utils/SplitNode.js +0 -44
  508. package/dist/nodes/utils/SplitNode.mjs +0 -45
  509. package/dist/nodes/utils/SpriteSheetUVNode.js +0 -39
  510. package/dist/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  511. package/dist/nodes/utils/TimerNode.js +0 -43
  512. package/dist/nodes/utils/TimerNode.mjs +0 -44
  513. package/dist/offscreen/jank.js +0 -26
  514. package/dist/offscreen/jank.mjs +0 -27
  515. package/dist/offscreen/offscreen.js +0 -8
  516. package/dist/offscreen/offscreen.mjs +0 -7
  517. package/dist/offscreen/scene.js +0 -68
  518. package/dist/offscreen/scene.mjs +0 -52
  519. package/dist/renderers/nodes/accessors/CameraNode.js +0 -62
  520. package/dist/renderers/nodes/accessors/CameraNode.mjs +0 -63
  521. package/dist/renderers/nodes/accessors/ModelNode.js +0 -60
  522. package/dist/renderers/nodes/accessors/ModelNode.mjs +0 -61
  523. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.js +0 -20
  524. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  525. package/dist/renderers/nodes/accessors/NormalNode.js +0 -60
  526. package/dist/renderers/nodes/accessors/NormalNode.mjs +0 -61
  527. package/dist/renderers/nodes/accessors/PositionNode.js +0 -29
  528. package/dist/renderers/nodes/accessors/PositionNode.mjs +0 -30
  529. package/dist/renderers/nodes/accessors/UVNode.js +0 -12
  530. package/dist/renderers/nodes/accessors/UVNode.mjs +0 -13
  531. package/dist/renderers/nodes/core/AttributeNode.js +0 -34
  532. package/dist/renderers/nodes/core/AttributeNode.mjs +0 -35
  533. package/dist/renderers/nodes/core/InputNode.js +0 -30
  534. package/dist/renderers/nodes/core/InputNode.mjs +0 -31
  535. package/dist/renderers/nodes/core/Node.js +0 -33
  536. package/dist/renderers/nodes/core/Node.mjs +0 -34
  537. package/dist/renderers/nodes/core/NodeAttribute.js +0 -9
  538. package/dist/renderers/nodes/core/NodeAttribute.mjs +0 -10
  539. package/dist/renderers/nodes/core/NodeBuilder.js +0 -248
  540. package/dist/renderers/nodes/core/NodeBuilder.mjs +0 -249
  541. package/dist/renderers/nodes/core/NodeFrame.js +0 -34
  542. package/dist/renderers/nodes/core/NodeFrame.mjs +0 -35
  543. package/dist/renderers/nodes/core/NodeSlot.js +0 -9
  544. package/dist/renderers/nodes/core/NodeSlot.mjs +0 -10
  545. package/dist/renderers/nodes/core/NodeUniform.js +0 -17
  546. package/dist/renderers/nodes/core/NodeUniform.mjs +0 -18
  547. package/dist/renderers/nodes/core/NodeVary.js +0 -10
  548. package/dist/renderers/nodes/core/NodeVary.mjs +0 -11
  549. package/dist/renderers/nodes/core/VaryNode.js +0 -21
  550. package/dist/renderers/nodes/core/VaryNode.mjs +0 -22
  551. package/dist/renderers/nodes/core/constants.js +0 -22
  552. package/dist/renderers/nodes/core/constants.mjs +0 -22
  553. package/dist/renderers/nodes/inputs/ColorNode.js +0 -10
  554. package/dist/renderers/nodes/inputs/ColorNode.mjs +0 -11
  555. package/dist/renderers/nodes/inputs/FloatNode.js +0 -10
  556. package/dist/renderers/nodes/inputs/FloatNode.mjs +0 -11
  557. package/dist/renderers/nodes/inputs/Matrix3Node.js +0 -11
  558. package/dist/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  559. package/dist/renderers/nodes/inputs/Matrix4Node.js +0 -11
  560. package/dist/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  561. package/dist/renderers/nodes/inputs/TextureNode.js +0 -19
  562. package/dist/renderers/nodes/inputs/TextureNode.mjs +0 -20
  563. package/dist/renderers/nodes/inputs/Vector2Node.js +0 -10
  564. package/dist/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  565. package/dist/renderers/nodes/inputs/Vector3Node.js +0 -11
  566. package/dist/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  567. package/dist/renderers/nodes/inputs/Vector4Node.js +0 -11
  568. package/dist/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  569. package/dist/renderers/nodes/math/MathNode.js +0 -54
  570. package/dist/renderers/nodes/math/MathNode.mjs +0 -55
  571. package/dist/renderers/nodes/math/OperatorNode.js +0 -41
  572. package/dist/renderers/nodes/math/OperatorNode.mjs +0 -42
  573. package/dist/renderers/nodes/utils/SwitchNode.js +0 -19
  574. package/dist/renderers/nodes/utils/SwitchNode.mjs +0 -20
  575. package/dist/renderers/nodes/utils/TimerNode.js +0 -13
  576. package/dist/renderers/nodes/utils/TimerNode.mjs +0 -14
  577. package/dist/renderers/webgpu/WebGPU.js +0 -23
  578. package/dist/renderers/webgpu/WebGPU.mjs +0 -24
  579. package/dist/renderers/webgpu/WebGPUAttributes.js +0 -68
  580. package/dist/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  581. package/dist/renderers/webgpu/WebGPUBackground.js +0 -60
  582. package/dist/renderers/webgpu/WebGPUBackground.mjs +0 -61
  583. package/dist/renderers/webgpu/WebGPUBinding.js +0 -13
  584. package/dist/renderers/webgpu/WebGPUBinding.mjs +0 -14
  585. package/dist/renderers/webgpu/WebGPUBindings.js +0 -154
  586. package/dist/renderers/webgpu/WebGPUBindings.mjs +0 -155
  587. package/dist/renderers/webgpu/WebGPUComputePipelines.js +0 -43
  588. package/dist/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  589. package/dist/renderers/webgpu/WebGPUGeometries.js +0 -40
  590. package/dist/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  591. package/dist/renderers/webgpu/WebGPUInfo.js +0 -45
  592. package/dist/renderers/webgpu/WebGPUInfo.mjs +0 -46
  593. package/dist/renderers/webgpu/WebGPUObjects.js +0 -24
  594. package/dist/renderers/webgpu/WebGPUObjects.mjs +0 -25
  595. package/dist/renderers/webgpu/WebGPUProperties.js +0 -21
  596. package/dist/renderers/webgpu/WebGPUProperties.mjs +0 -22
  597. package/dist/renderers/webgpu/WebGPURenderLists.js +0 -118
  598. package/dist/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  599. package/dist/renderers/webgpu/WebGPURenderPipelines.js +0 -545
  600. package/dist/renderers/webgpu/WebGPURenderPipelines.mjs +0 -546
  601. package/dist/renderers/webgpu/WebGPURenderer.js +0 -596
  602. package/dist/renderers/webgpu/WebGPURenderer.mjs +0 -575
  603. package/dist/renderers/webgpu/WebGPUSampledTexture.js +0 -40
  604. package/dist/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  605. package/dist/renderers/webgpu/WebGPUSampler.js +0 -14
  606. package/dist/renderers/webgpu/WebGPUSampler.mjs +0 -15
  607. package/dist/renderers/webgpu/WebGPUStorageBuffer.js +0 -14
  608. package/dist/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  609. package/dist/renderers/webgpu/WebGPUTextureRenderer.js +0 -22
  610. package/dist/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  611. package/dist/renderers/webgpu/WebGPUTextureUtils.js +0 -97
  612. package/dist/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  613. package/dist/renderers/webgpu/WebGPUTextures.js +0 -483
  614. package/dist/renderers/webgpu/WebGPUTextures.mjs +0 -484
  615. package/dist/renderers/webgpu/WebGPUUniform.js +0 -81
  616. package/dist/renderers/webgpu/WebGPUUniform.mjs +0 -81
  617. package/dist/renderers/webgpu/WebGPUUniformsGroup.js +0 -175
  618. package/dist/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  619. package/dist/renderers/webgpu/constants.js +0 -241
  620. package/dist/renderers/webgpu/constants.mjs +0 -241
  621. package/dist/renderers/webgpu/nodes/ShaderLib.js +0 -41
  622. package/dist/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  623. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.js +0 -164
  624. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  625. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.js +0 -73
  626. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  627. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +0 -14
  628. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  629. package/dist/renderers/webgpu/nodes/WebGPUNodes.js +0 -39
  630. package/dist/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
@@ -1,54 +0,0 @@
1
- import TempNode from "../core/TempNode.mjs";
2
- import ModelNode from "../accessors/ModelNode.mjs";
3
- import { ShaderNode, dFdx, dFdy, cross, add, mul, max, dot, cond, equal, inversesqrt, normalize, sub, join, positionView, normalView, uv } from "../ShaderNode.mjs";
4
- import { TangentSpaceNormalMap, ObjectSpaceNormalMap } from "three";
5
- const perturbNormal2ArbNode = new ShaderNode((inputs) => {
6
- const { eye_pos, surf_norm, mapN, faceDirection, uv: uv2 } = inputs;
7
- const q0 = dFdx(eye_pos.xyz);
8
- const q1 = dFdy(eye_pos.xyz);
9
- const st0 = dFdx(uv2.st);
10
- const st1 = dFdy(uv2.st);
11
- const N = surf_norm;
12
- const q1perp = cross(q1, N);
13
- const q0perp = cross(N, q0);
14
- const T = add(mul(q1perp, st0.x), mul(q0perp, st1.x));
15
- const B = add(mul(q1perp, st0.y), mul(q0perp, st1.y));
16
- const det = max(dot(T, T), dot(B, B));
17
- const scale = cond(equal(det, 0), 0, mul(faceDirection, inversesqrt(det)));
18
- return normalize(add(mul(T, mul(mapN.x, scale)), mul(B, mul(mapN.y, scale)), mul(N, mapN.z)));
19
- });
20
- class NormalMapNode extends TempNode {
21
- constructor(node, scaleNode = null) {
22
- super("vec3");
23
- this.node = node;
24
- this.scaleNode = scaleNode;
25
- this.normalMapType = TangentSpaceNormalMap;
26
- }
27
- generate(builder) {
28
- const type = this.getNodeType(builder);
29
- const { normalMapType, scaleNode } = this;
30
- const normalOP = mul(this.node, 2);
31
- let normalMap = sub(normalOP, 1);
32
- if (scaleNode !== null) {
33
- const normalMapScale = mul(normalMap.xy, scaleNode);
34
- normalMap = join(normalMapScale, normalMap.z);
35
- }
36
- if (normalMapType === ObjectSpaceNormalMap) {
37
- const vertexNormalNode = mul(new ModelNode(ModelNode.NORMAL_MATRIX), normalMap);
38
- const normal = normalize(vertexNormalNode);
39
- return normal.build(builder, type);
40
- } else if (normalMapType === TangentSpaceNormalMap) {
41
- const perturbNormal2ArbCall = perturbNormal2ArbNode({
42
- eye_pos: positionView,
43
- surf_norm: normalView,
44
- mapN: normalMap,
45
- faceDirection: 1,
46
- uv: uv()
47
- });
48
- return perturbNormal2ArbCall.build(builder, type);
49
- }
50
- }
51
- }
52
- export {
53
- NormalMapNode as default
54
- };
@@ -1,14 +0,0 @@
1
- "use strict";
2
- const Node = require("../core/Node.js");
3
- class FogNode extends Node {
4
- constructor(colorNode, factorNode) {
5
- super("float");
6
- this.colorNode = colorNode;
7
- this.factorNode = factorNode;
8
- }
9
- generate(builder) {
10
- return this.factorNode.build(builder, "float");
11
- }
12
- }
13
- FogNode.prototype.isFogNode = true;
14
- module.exports = FogNode;
@@ -1,15 +0,0 @@
1
- import Node from "../core/Node.mjs";
2
- class FogNode extends Node {
3
- constructor(colorNode, factorNode) {
4
- super("float");
5
- this.colorNode = colorNode;
6
- this.factorNode = factorNode;
7
- }
8
- generate(builder) {
9
- return this.factorNode.build(builder, "float");
10
- }
11
- }
12
- FogNode.prototype.isFogNode = true;
13
- export {
14
- FogNode as default
15
- };
@@ -1,16 +0,0 @@
1
- "use strict";
2
- const FogNode = require("./FogNode.js");
3
- const ShaderNode = require("../ShaderNode.js");
4
- class FogRangeNode extends FogNode {
5
- constructor(colorNode, nearNode, farNode) {
6
- super(colorNode);
7
- this.nearNode = nearNode;
8
- this.farNode = farNode;
9
- }
10
- generate(builder) {
11
- this.factorNode = ShaderNode.smoothstep(this.nearNode, this.farNode, ShaderNode.negate(ShaderNode.positionView.z));
12
- return super.generate(builder);
13
- }
14
- }
15
- FogRangeNode.prototype.isFogRangeNode = true;
16
- module.exports = FogRangeNode;
@@ -1,17 +0,0 @@
1
- import FogNode from "./FogNode.mjs";
2
- import { smoothstep, negate, positionView } from "../ShaderNode.mjs";
3
- class FogRangeNode extends FogNode {
4
- constructor(colorNode, nearNode, farNode) {
5
- super(colorNode);
6
- this.nearNode = nearNode;
7
- this.farNode = farNode;
8
- }
9
- generate(builder) {
10
- this.factorNode = smoothstep(this.nearNode, this.farNode, negate(positionView.z));
11
- return super.generate(builder);
12
- }
13
- }
14
- FogRangeNode.prototype.isFogRangeNode = true;
15
- export {
16
- FogRangeNode as default
17
- };
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const ShaderNode = require("../ShaderNode.js");
4
- const F_Schlick = new ShaderNode.ShaderNode((inputs) => {
5
- const { f0, f90, dotVH } = inputs;
6
- const fresnel = ShaderNode.exp2(ShaderNode.mul(ShaderNode.sub(ShaderNode.mul(-5.55473, dotVH), 6.98316), dotVH));
7
- return ShaderNode.add(ShaderNode.mul(f0, ShaderNode.sub(1, fresnel)), ShaderNode.mul(f90, fresnel));
8
- });
9
- const BRDF_Lambert = new ShaderNode.ShaderNode((inputs) => {
10
- return ShaderNode.mul(1 / Math.PI, inputs.diffuseColor);
11
- });
12
- const getDistanceAttenuation = new ShaderNode.ShaderNode((inputs) => {
13
- const { lightDistance, cutoffDistance, decayExponent } = inputs;
14
- return ShaderNode.cond(
15
- ShaderNode.and(ShaderNode.greaterThan(cutoffDistance, 0), ShaderNode.greaterThan(decayExponent, 0)),
16
- ShaderNode.pow(ShaderNode.saturate(ShaderNode.add(ShaderNode.div(ShaderNode.negate(lightDistance), cutoffDistance), 1)), decayExponent),
17
- 1
18
- );
19
- });
20
- const V_GGX_SmithCorrelated = new ShaderNode.ShaderNode((inputs) => {
21
- const { alpha, dotNL, dotNV } = inputs;
22
- const a2 = ShaderNode.pow2(alpha);
23
- const gv = ShaderNode.mul(dotNL, ShaderNode.sqrt(ShaderNode.add(a2, ShaderNode.mul(ShaderNode.sub(1, a2), ShaderNode.pow2(dotNV)))));
24
- const gl = ShaderNode.mul(dotNV, ShaderNode.sqrt(ShaderNode.add(a2, ShaderNode.mul(ShaderNode.sub(1, a2), ShaderNode.pow2(dotNL)))));
25
- return ShaderNode.div(0.5, ShaderNode.max(ShaderNode.add(gv, gl), ShaderNode.EPSILON));
26
- });
27
- const D_GGX = new ShaderNode.ShaderNode((inputs) => {
28
- const { alpha, dotNH } = inputs;
29
- const a2 = ShaderNode.pow2(alpha);
30
- const denom = ShaderNode.add(ShaderNode.mul(ShaderNode.pow2(dotNH), ShaderNode.sub(a2, 1)), 1);
31
- return ShaderNode.mul(1 / Math.PI, ShaderNode.div(a2, ShaderNode.pow2(denom)));
32
- });
33
- const BRDF_GGX = new ShaderNode.ShaderNode((inputs) => {
34
- const { lightDirection, f0, f90, roughness } = inputs;
35
- const alpha = ShaderNode.pow2(roughness);
36
- const halfDir = ShaderNode.normalize(ShaderNode.add(lightDirection, ShaderNode.positionViewDirection));
37
- const dotNL = ShaderNode.saturate(ShaderNode.dot(ShaderNode.transformedNormalView, lightDirection));
38
- const dotNV = ShaderNode.saturate(ShaderNode.dot(ShaderNode.transformedNormalView, ShaderNode.positionViewDirection));
39
- const dotNH = ShaderNode.saturate(ShaderNode.dot(ShaderNode.transformedNormalView, halfDir));
40
- const dotVH = ShaderNode.saturate(ShaderNode.dot(ShaderNode.positionViewDirection, halfDir));
41
- const F = F_Schlick({ f0, f90, dotVH });
42
- const V = V_GGX_SmithCorrelated({ alpha, dotNL, dotNV });
43
- const D = D_GGX({ alpha, dotNH });
44
- return ShaderNode.mul(F, ShaderNode.mul(V, D));
45
- });
46
- const RE_Direct_Physical = new ShaderNode.ShaderNode((inputs) => {
47
- const { lightDirection, lightColor, directDiffuse, directSpecular } = inputs;
48
- const dotNL = ShaderNode.saturate(ShaderNode.dot(ShaderNode.transformedNormalView, lightDirection));
49
- let irradiance = ShaderNode.mul(dotNL, lightColor);
50
- irradiance = ShaderNode.mul(irradiance, Math.PI);
51
- ShaderNode.addTo(directDiffuse, ShaderNode.mul(irradiance, BRDF_Lambert({ diffuseColor: ShaderNode.diffuseColor.rgb })));
52
- ShaderNode.addTo(directSpecular, ShaderNode.mul(irradiance, BRDF_GGX({ lightDirection, f0: ShaderNode.specularColor, f90: 1, roughness: ShaderNode.roughness })));
53
- });
54
- const PhysicalLightingModel = new ShaderNode.ShaderNode((inputs) => {
55
- RE_Direct_Physical(inputs);
56
- });
57
- exports.BRDF_GGX = BRDF_GGX;
58
- exports.BRDF_Lambert = BRDF_Lambert;
59
- exports.D_GGX = D_GGX;
60
- exports.F_Schlick = F_Schlick;
61
- exports.PhysicalLightingModel = PhysicalLightingModel;
62
- exports.RE_Direct_Physical = RE_Direct_Physical;
63
- exports.V_GGX_SmithCorrelated = V_GGX_SmithCorrelated;
64
- exports.getDistanceAttenuation = getDistanceAttenuation;
@@ -1,64 +0,0 @@
1
- import { ShaderNode, exp2, mul, sub, add, cond, and, greaterThan, pow, saturate, div, negate, pow2, sqrt, max, EPSILON, normalize, positionViewDirection, dot, transformedNormalView, addTo, diffuseColor, specularColor, roughness } from "../ShaderNode.mjs";
2
- const F_Schlick = new ShaderNode((inputs) => {
3
- const { f0, f90, dotVH } = inputs;
4
- const fresnel = exp2(mul(sub(mul(-5.55473, dotVH), 6.98316), dotVH));
5
- return add(mul(f0, sub(1, fresnel)), mul(f90, fresnel));
6
- });
7
- const BRDF_Lambert = new ShaderNode((inputs) => {
8
- return mul(1 / Math.PI, inputs.diffuseColor);
9
- });
10
- const getDistanceAttenuation = new ShaderNode((inputs) => {
11
- const { lightDistance, cutoffDistance, decayExponent } = inputs;
12
- return cond(
13
- and(greaterThan(cutoffDistance, 0), greaterThan(decayExponent, 0)),
14
- pow(saturate(add(div(negate(lightDistance), cutoffDistance), 1)), decayExponent),
15
- 1
16
- );
17
- });
18
- const V_GGX_SmithCorrelated = new ShaderNode((inputs) => {
19
- const { alpha, dotNL, dotNV } = inputs;
20
- const a2 = pow2(alpha);
21
- const gv = mul(dotNL, sqrt(add(a2, mul(sub(1, a2), pow2(dotNV)))));
22
- const gl = mul(dotNV, sqrt(add(a2, mul(sub(1, a2), pow2(dotNL)))));
23
- return div(0.5, max(add(gv, gl), EPSILON));
24
- });
25
- const D_GGX = new ShaderNode((inputs) => {
26
- const { alpha, dotNH } = inputs;
27
- const a2 = pow2(alpha);
28
- const denom = add(mul(pow2(dotNH), sub(a2, 1)), 1);
29
- return mul(1 / Math.PI, div(a2, pow2(denom)));
30
- });
31
- const BRDF_GGX = new ShaderNode((inputs) => {
32
- const { lightDirection, f0, f90, roughness: roughness2 } = inputs;
33
- const alpha = pow2(roughness2);
34
- const halfDir = normalize(add(lightDirection, positionViewDirection));
35
- const dotNL = saturate(dot(transformedNormalView, lightDirection));
36
- const dotNV = saturate(dot(transformedNormalView, positionViewDirection));
37
- const dotNH = saturate(dot(transformedNormalView, halfDir));
38
- const dotVH = saturate(dot(positionViewDirection, halfDir));
39
- const F = F_Schlick({ f0, f90, dotVH });
40
- const V = V_GGX_SmithCorrelated({ alpha, dotNL, dotNV });
41
- const D = D_GGX({ alpha, dotNH });
42
- return mul(F, mul(V, D));
43
- });
44
- const RE_Direct_Physical = new ShaderNode((inputs) => {
45
- const { lightDirection, lightColor, directDiffuse, directSpecular } = inputs;
46
- const dotNL = saturate(dot(transformedNormalView, lightDirection));
47
- let irradiance = mul(dotNL, lightColor);
48
- irradiance = mul(irradiance, Math.PI);
49
- addTo(directDiffuse, mul(irradiance, BRDF_Lambert({ diffuseColor: diffuseColor.rgb })));
50
- addTo(directSpecular, mul(irradiance, BRDF_GGX({ lightDirection, f0: specularColor, f90: 1, roughness })));
51
- });
52
- const PhysicalLightingModel = new ShaderNode((inputs) => {
53
- RE_Direct_Physical(inputs);
54
- });
55
- export {
56
- BRDF_GGX,
57
- BRDF_Lambert,
58
- D_GGX,
59
- F_Schlick,
60
- PhysicalLightingModel,
61
- RE_Direct_Physical,
62
- V_GGX_SmithCorrelated,
63
- getDistanceAttenuation
64
- };
@@ -1,34 +0,0 @@
1
- "use strict";
2
- const ContextNode = require("../core/ContextNode.js");
3
- const VarNode = require("../core/VarNode.js");
4
- const UniformNode = require("../core/UniformNode.js");
5
- const OperatorNode = require("../math/OperatorNode.js");
6
- const BSDFs = require("../functions/BSDFs.js");
7
- const THREE = require("three");
8
- class LightContextNode extends ContextNode {
9
- constructor(node) {
10
- super(node);
11
- }
12
- getNodeType() {
13
- return "vec3";
14
- }
15
- generate(builder) {
16
- const material = builder.material;
17
- let lightingModel = null;
18
- if (material.isMeshStandardMaterial === true) {
19
- lightingModel = BSDFs.PhysicalLightingModel;
20
- }
21
- const directDiffuse = new VarNode(new UniformNode(new THREE.Vector3()), "DirectDiffuse", "vec3");
22
- const directSpecular = new VarNode(new UniformNode(new THREE.Vector3()), "DirectSpecular", "vec3");
23
- this.context.directDiffuse = directDiffuse;
24
- this.context.directSpecular = directSpecular;
25
- if (lightingModel !== null) {
26
- this.context.lightingModel = lightingModel;
27
- }
28
- const type = this.getNodeType(builder);
29
- super.generate(builder, type);
30
- const totalLight = new OperatorNode("+", directDiffuse, directSpecular);
31
- return totalLight.build(builder, type);
32
- }
33
- }
34
- module.exports = LightContextNode;
@@ -1,35 +0,0 @@
1
- import ContextNode from "../core/ContextNode.mjs";
2
- import VarNode from "../core/VarNode.mjs";
3
- import UniformNode from "../core/UniformNode.mjs";
4
- import OperatorNode from "../math/OperatorNode.mjs";
5
- import { PhysicalLightingModel } from "../functions/BSDFs.mjs";
6
- import { Vector3 } from "three";
7
- class LightContextNode extends ContextNode {
8
- constructor(node) {
9
- super(node);
10
- }
11
- getNodeType() {
12
- return "vec3";
13
- }
14
- generate(builder) {
15
- const material = builder.material;
16
- let lightingModel = null;
17
- if (material.isMeshStandardMaterial === true) {
18
- lightingModel = PhysicalLightingModel;
19
- }
20
- const directDiffuse = new VarNode(new UniformNode(new Vector3()), "DirectDiffuse", "vec3");
21
- const directSpecular = new VarNode(new UniformNode(new Vector3()), "DirectSpecular", "vec3");
22
- this.context.directDiffuse = directDiffuse;
23
- this.context.directSpecular = directSpecular;
24
- if (lightingModel !== null) {
25
- this.context.lightingModel = lightingModel;
26
- }
27
- const type = this.getNodeType(builder);
28
- super.generate(builder, type);
29
- const totalLight = new OperatorNode("+", directDiffuse, directSpecular);
30
- return totalLight.build(builder, type);
31
- }
32
- }
33
- export {
34
- LightContextNode as default
35
- };
@@ -1,57 +0,0 @@
1
- "use strict";
2
- const Node = require("../core/Node.js");
3
- const Object3DNode = require("../accessors/Object3DNode.js");
4
- const PositionNode = require("../accessors/PositionNode.js");
5
- const UniformNode = require("../core/UniformNode.js");
6
- const OperatorNode = require("../math/OperatorNode.js");
7
- const MathNode = require("../math/MathNode.js");
8
- const constants = require("../core/constants.js");
9
- const BSDFs = require("../functions/BSDFs.js");
10
- const THREE = require("three");
11
- class LightNode extends Node {
12
- constructor(light = null) {
13
- super("vec3");
14
- this.updateType = constants.NodeUpdateType.Object;
15
- this.light = light;
16
- this._colorNode = new UniformNode(new THREE.Color());
17
- this._lightCutoffDistanceNode = new UniformNode(0);
18
- this._lightDecayExponentNode = new UniformNode(0);
19
- }
20
- getHash() {
21
- return this.light.uuid;
22
- }
23
- update() {
24
- this._colorNode.value.copy(this.light.color).multiplyScalar(this.light.intensity);
25
- this._lightCutoffDistanceNode.value = this.light.distance;
26
- this._lightDecayExponentNode.value = this.light.decay;
27
- }
28
- generate(builder) {
29
- const lightPositionView = new Object3DNode(Object3DNode.VIEW_POSITION);
30
- const positionView = new PositionNode(PositionNode.VIEW);
31
- const lVector = new OperatorNode("-", lightPositionView, positionView);
32
- const lightDirection = new MathNode(MathNode.NORMALIZE, lVector);
33
- const lightDistance = new MathNode(MathNode.LENGTH, lVector);
34
- const lightAttenuation = BSDFs.getDistanceAttenuation({
35
- lightDistance,
36
- cutoffDistance: this._lightCutoffDistanceNode,
37
- decayExponent: this._lightDecayExponentNode
38
- });
39
- const lightColor = new OperatorNode("*", this._colorNode, lightAttenuation);
40
- lightPositionView.object3d = this.light;
41
- const lightingModelFunction = builder.context.lightingModel;
42
- if (lightingModelFunction !== void 0) {
43
- const directDiffuse = builder.context.directDiffuse;
44
- const directSpecular = builder.context.directSpecular;
45
- lightingModelFunction(
46
- {
47
- lightDirection,
48
- lightColor,
49
- directDiffuse,
50
- directSpecular
51
- },
52
- builder
53
- );
54
- }
55
- }
56
- }
57
- module.exports = LightNode;
@@ -1,58 +0,0 @@
1
- import Node from "../core/Node.mjs";
2
- import Object3DNode from "../accessors/Object3DNode.mjs";
3
- import PositionNode from "../accessors/PositionNode.mjs";
4
- import UniformNode from "../core/UniformNode.mjs";
5
- import OperatorNode from "../math/OperatorNode.mjs";
6
- import MathNode from "../math/MathNode.mjs";
7
- import { NodeUpdateType } from "../core/constants.mjs";
8
- import { getDistanceAttenuation } from "../functions/BSDFs.mjs";
9
- import { Color } from "three";
10
- class LightNode extends Node {
11
- constructor(light = null) {
12
- super("vec3");
13
- this.updateType = NodeUpdateType.Object;
14
- this.light = light;
15
- this._colorNode = new UniformNode(new Color());
16
- this._lightCutoffDistanceNode = new UniformNode(0);
17
- this._lightDecayExponentNode = new UniformNode(0);
18
- }
19
- getHash() {
20
- return this.light.uuid;
21
- }
22
- update() {
23
- this._colorNode.value.copy(this.light.color).multiplyScalar(this.light.intensity);
24
- this._lightCutoffDistanceNode.value = this.light.distance;
25
- this._lightDecayExponentNode.value = this.light.decay;
26
- }
27
- generate(builder) {
28
- const lightPositionView = new Object3DNode(Object3DNode.VIEW_POSITION);
29
- const positionView = new PositionNode(PositionNode.VIEW);
30
- const lVector = new OperatorNode("-", lightPositionView, positionView);
31
- const lightDirection = new MathNode(MathNode.NORMALIZE, lVector);
32
- const lightDistance = new MathNode(MathNode.LENGTH, lVector);
33
- const lightAttenuation = getDistanceAttenuation({
34
- lightDistance,
35
- cutoffDistance: this._lightCutoffDistanceNode,
36
- decayExponent: this._lightDecayExponentNode
37
- });
38
- const lightColor = new OperatorNode("*", this._colorNode, lightAttenuation);
39
- lightPositionView.object3d = this.light;
40
- const lightingModelFunction = builder.context.lightingModel;
41
- if (lightingModelFunction !== void 0) {
42
- const directDiffuse = builder.context.directDiffuse;
43
- const directSpecular = builder.context.directSpecular;
44
- lightingModelFunction(
45
- {
46
- lightDirection,
47
- lightColor,
48
- directDiffuse,
49
- directSpecular
50
- },
51
- builder
52
- );
53
- }
54
- }
55
- }
56
- export {
57
- LightNode as default
58
- };
@@ -1,58 +0,0 @@
1
- "use strict";
2
- const Node = require("../core/Node.js");
3
- const LightNode = require("./LightNode.js");
4
- const sortLights = (lights) => {
5
- return lights.sort((a, b) => a.id - b.id);
6
- };
7
- class LightsNode extends Node {
8
- constructor(lightNodes = []) {
9
- super("vec3");
10
- this.lightNodes = lightNodes;
11
- this._hash = null;
12
- }
13
- get hasLight() {
14
- return this.lightNodes.length > 0;
15
- }
16
- generate(builder) {
17
- const lightNodes = this.lightNodes;
18
- for (const lightNode of lightNodes) {
19
- lightNode.build(builder);
20
- }
21
- return "vec3( 0.0 )";
22
- }
23
- getHash() {
24
- if (this._hash === null) {
25
- let hash = "";
26
- const lightNodes = this.lightNodes;
27
- for (const lightNode of lightNodes) {
28
- hash += lightNode.light.uuid + " ";
29
- }
30
- this._hash = hash;
31
- }
32
- return this._hash;
33
- }
34
- getLightNodeByHash(hash) {
35
- const lightNodes = this.lightNodes;
36
- for (const lightNode of lightNodes) {
37
- if (lightNode.light.uuid === hash) {
38
- return lightNode;
39
- }
40
- }
41
- return null;
42
- }
43
- fromLights(lights) {
44
- const lightNodes = [];
45
- lights = sortLights(lights);
46
- for (const light of lights) {
47
- let lightNode = this.getLightNodeByHash(light.uuid);
48
- if (lightNode === null) {
49
- lightNode = new LightNode(light);
50
- }
51
- lightNodes.push(lightNode);
52
- }
53
- this.lightNodes = lightNodes;
54
- this._hash = null;
55
- return this;
56
- }
57
- }
58
- module.exports = LightsNode;
@@ -1,59 +0,0 @@
1
- import Node from "../core/Node.mjs";
2
- import LightNode from "./LightNode.mjs";
3
- const sortLights = (lights) => {
4
- return lights.sort((a, b) => a.id - b.id);
5
- };
6
- class LightsNode extends Node {
7
- constructor(lightNodes = []) {
8
- super("vec3");
9
- this.lightNodes = lightNodes;
10
- this._hash = null;
11
- }
12
- get hasLight() {
13
- return this.lightNodes.length > 0;
14
- }
15
- generate(builder) {
16
- const lightNodes = this.lightNodes;
17
- for (const lightNode of lightNodes) {
18
- lightNode.build(builder);
19
- }
20
- return "vec3( 0.0 )";
21
- }
22
- getHash() {
23
- if (this._hash === null) {
24
- let hash = "";
25
- const lightNodes = this.lightNodes;
26
- for (const lightNode of lightNodes) {
27
- hash += lightNode.light.uuid + " ";
28
- }
29
- this._hash = hash;
30
- }
31
- return this._hash;
32
- }
33
- getLightNodeByHash(hash) {
34
- const lightNodes = this.lightNodes;
35
- for (const lightNode of lightNodes) {
36
- if (lightNode.light.uuid === hash) {
37
- return lightNode;
38
- }
39
- }
40
- return null;
41
- }
42
- fromLights(lights) {
43
- const lightNodes = [];
44
- lights = sortLights(lights);
45
- for (const light of lights) {
46
- let lightNode = this.getLightNodeByHash(light.uuid);
47
- if (lightNode === null) {
48
- lightNode = new LightNode(light);
49
- }
50
- lightNodes.push(lightNode);
51
- }
52
- this.lightNodes = lightNodes;
53
- this._hash = null;
54
- return this;
55
- }
56
- }
57
- export {
58
- LightsNode as default
59
- };