three-stdlib 2.22.9 → 2.22.10

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