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,20 +1,32 @@
1
- import { Mesh, Color, PerspectiveCamera, Plane, Matrix4, WebGLRenderTarget, ShaderMaterial, UniformsUtils, Vector3, Quaternion, Vector4 } from "three";
2
- class Refractor extends Mesh {
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ import { Mesh, PerspectiveCamera, Color, Plane, Matrix4, WebGLRenderTarget, HalfFloatType, ShaderMaterial, UniformsUtils, Vector3, Quaternion, Vector4, NoToneMapping } from "three";
8
+ const _Refractor = class extends Mesh {
3
9
  constructor(geometry, options = {}) {
4
10
  super(geometry);
11
+ this.isRefractor = true;
5
12
  this.type = "Refractor";
13
+ this.camera = new PerspectiveCamera();
6
14
  const scope = this;
7
15
  const color = options.color !== void 0 ? new Color(options.color) : new Color(8355711);
8
16
  const textureWidth = options.textureWidth || 512;
9
17
  const textureHeight = options.textureHeight || 512;
10
18
  const clipBias = options.clipBias || 0;
11
- const shader = options.shader || Refractor.RefractorShader;
12
- const virtualCamera = new PerspectiveCamera();
19
+ const shader = options.shader || _Refractor.RefractorShader;
20
+ const multisample = options.multisample !== void 0 ? options.multisample : 4;
21
+ const virtualCamera = this.camera;
13
22
  virtualCamera.matrixAutoUpdate = false;
14
23
  virtualCamera.userData.refractor = true;
15
24
  const refractorPlane = new Plane();
16
25
  const textureMatrix = new Matrix4();
17
- const renderTarget = new WebGLRenderTarget(textureWidth, textureHeight);
26
+ const renderTarget = new WebGLRenderTarget(textureWidth, textureHeight, {
27
+ samples: multisample,
28
+ type: HalfFloatType
29
+ });
18
30
  this.material = new ShaderMaterial({
19
31
  uniforms: UniformsUtils.clone(shader.uniforms),
20
32
  vertexShader: shader.vertexShader,
@@ -88,15 +100,31 @@ class Refractor extends Mesh {
88
100
  const currentRenderTarget = renderer.getRenderTarget();
89
101
  const currentXrEnabled = renderer.xr.enabled;
90
102
  const currentShadowAutoUpdate = renderer.shadowMap.autoUpdate;
103
+ const currentToneMapping = renderer.toneMapping;
104
+ let isSRGB = false;
105
+ if ("outputColorSpace" in renderer)
106
+ isSRGB = renderer.outputColorSpace === "srgb";
107
+ else
108
+ isSRGB = renderer.outputEncoding === 3001;
91
109
  renderer.xr.enabled = false;
92
110
  renderer.shadowMap.autoUpdate = false;
111
+ if ("outputColorSpace" in renderer)
112
+ renderer.outputColorSpace = "linear-srgb";
113
+ else
114
+ renderer.outputEncoding = 3e3;
115
+ renderer.toneMapping = NoToneMapping;
93
116
  renderer.setRenderTarget(renderTarget);
94
117
  if (renderer.autoClear === false)
95
118
  renderer.clear();
96
119
  renderer.render(scene, virtualCamera);
97
120
  renderer.xr.enabled = currentXrEnabled;
98
121
  renderer.shadowMap.autoUpdate = currentShadowAutoUpdate;
122
+ renderer.toneMapping = currentToneMapping;
99
123
  renderer.setRenderTarget(currentRenderTarget);
124
+ if ("outputColorSpace" in renderer)
125
+ renderer.outputColorSpace = isSRGB ? "srgb" : "srgb-linear";
126
+ else
127
+ renderer.outputEncoding = isSRGB ? 3001 : 3e3;
100
128
  const viewport = camera.viewport;
101
129
  if (viewport !== void 0) {
102
130
  renderer.state.viewport(viewport);
@@ -104,10 +132,6 @@ class Refractor extends Mesh {
104
132
  scope.visible = true;
105
133
  }
106
134
  this.onBeforeRender = function(renderer, scene, camera) {
107
- if ("colorSpace" in renderTarget.texture)
108
- renderTarget.texture.colorSpace = renderer.outputColorSpace;
109
- else
110
- renderTarget.texture.encoding = renderer.outputEncoding;
111
135
  if (camera.userData.refractor === true)
112
136
  return;
113
137
  if (!visible(camera) === true)
@@ -125,9 +149,9 @@ class Refractor extends Mesh {
125
149
  scope.material.dispose();
126
150
  };
127
151
  }
128
- }
129
- Refractor.prototype.isRefractor = true;
130
- Refractor.RefractorShader = {
152
+ };
153
+ let Refractor = _Refractor;
154
+ __publicField(Refractor, "RefractorShader", {
131
155
  uniforms: {
132
156
  color: {
133
157
  value: null
@@ -180,9 +204,12 @@ Refractor.RefractorShader = {
180
204
  vec4 base = texture2DProj( tDiffuse, vUv );
181
205
  gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );
182
206
 
207
+ #include <tonemapping_fragment>
208
+ #include <encodings_fragment>
209
+
183
210
  }`
184
211
  )
185
- };
212
+ });
186
213
  export {
187
214
  Refractor
188
215
  };
@@ -1,7 +1,10 @@
1
- import { Mesh, Plane, Vector4 } from 'three'
1
+ import { Mesh, Plane, Vector4, Matrix4, MeshBasicMaterial, BufferGeometry } from 'three'
2
2
 
3
- export class ShadowMesh extends Mesh {
4
- constructor()
3
+ export class ShadowMesh extends Mesh<BufferGeometry, MeshBasicMaterial> {
4
+ readonly isShadowMesh: true
5
+ meshMatrix: Matrix4
6
+
7
+ constructor(mesh: Mesh)
5
8
 
6
9
  update(plane: Plane, lightPosition4D: Vector4): void
7
10
  }
@@ -1,16 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const THREE = require("three");
4
- const _shadowMatrix = new THREE.Matrix4();
4
+ const _shadowMatrix = /* @__PURE__ */ new THREE.Matrix4();
5
5
  class ShadowMesh extends THREE.Mesh {
6
6
  constructor(mesh) {
7
7
  const shadowMaterial = new THREE.MeshBasicMaterial({
8
8
  color: 0,
9
9
  transparent: true,
10
10
  opacity: 0.6,
11
- depthWrite: false
11
+ depthWrite: false,
12
+ stencilWrite: true,
13
+ stencilFunc: THREE.EqualStencilFunc,
14
+ stencilRef: 0,
15
+ stencilZPass: THREE.IncrementStencilOp
12
16
  });
13
17
  super(mesh.geometry, shadowMaterial);
18
+ this.isShadowMesh = true;
14
19
  this.meshMatrix = mesh.matrixWorld;
15
20
  this.frustumCulled = false;
16
21
  this.matrixAutoUpdate = false;
@@ -37,5 +42,4 @@ class ShadowMesh extends THREE.Mesh {
37
42
  this.matrix.multiplyMatrices(_shadowMatrix, this.meshMatrix);
38
43
  }
39
44
  }
40
- ShadowMesh.prototype.isShadowMesh = true;
41
45
  exports.ShadowMesh = ShadowMesh;
@@ -1,14 +1,19 @@
1
- import { Matrix4, Mesh, MeshBasicMaterial } from "three";
2
- const _shadowMatrix = new Matrix4();
1
+ import { Matrix4, Mesh, MeshBasicMaterial, EqualStencilFunc, IncrementStencilOp } from "three";
2
+ const _shadowMatrix = /* @__PURE__ */ new Matrix4();
3
3
  class ShadowMesh extends Mesh {
4
4
  constructor(mesh) {
5
5
  const shadowMaterial = new MeshBasicMaterial({
6
6
  color: 0,
7
7
  transparent: true,
8
8
  opacity: 0.6,
9
- depthWrite: false
9
+ depthWrite: false,
10
+ stencilWrite: true,
11
+ stencilFunc: EqualStencilFunc,
12
+ stencilRef: 0,
13
+ stencilZPass: IncrementStencilOp
10
14
  });
11
15
  super(mesh.geometry, shadowMaterial);
16
+ this.isShadowMesh = true;
12
17
  this.meshMatrix = mesh.matrixWorld;
13
18
  this.frustumCulled = false;
14
19
  this.matrixAutoUpdate = false;
@@ -35,7 +40,6 @@ class ShadowMesh extends Mesh {
35
40
  this.matrix.multiplyMatrices(_shadowMatrix, this.meshMatrix);
36
41
  }
37
42
  }
38
- ShadowMesh.prototype.isShadowMesh = true;
39
43
  export {
40
44
  ShadowMesh
41
45
  };
@@ -7,150 +7,194 @@ var __publicField = (obj, key, value) => {
7
7
  };
8
8
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
9
9
  const THREE = require("three");
10
- const _Sky = class extends THREE.Mesh {
11
- constructor() {
12
- super(new THREE.BoxGeometry(1, 1, 1), _Sky.material);
13
- }
14
- };
15
- let Sky = _Sky;
16
- __publicField(Sky, "SkyShader", {
10
+ const SkyShader = {
17
11
  uniforms: {
18
12
  turbidity: { value: 2 },
19
13
  rayleigh: { value: 1 },
20
14
  mieCoefficient: { value: 5e-3 },
21
15
  mieDirectionalG: { value: 0.8 },
22
- sunPosition: { value: new THREE.Vector3() },
23
- up: { value: new THREE.Vector3(0, 1, 0) }
16
+ sunPosition: { value: /* @__PURE__ */ new THREE.Vector3() },
17
+ up: { value: /* @__PURE__ */ new THREE.Vector3(0, 1, 0) }
24
18
  },
25
- vertexShader: [
26
- "uniform vec3 sunPosition;",
27
- "uniform float rayleigh;",
28
- "uniform float turbidity;",
29
- "uniform float mieCoefficient;",
30
- "uniform vec3 up;",
31
- "varying vec3 vWorldPosition;",
32
- "varying vec3 vSunDirection;",
33
- "varying float vSunfade;",
34
- "varying vec3 vBetaR;",
35
- "varying vec3 vBetaM;",
36
- "varying float vSunE;",
37
- // constants for atmospheric scattering
38
- "const float e = 2.71828182845904523536028747135266249775724709369995957;",
39
- "const float pi = 3.141592653589793238462643383279502884197169;",
40
- // wavelength of used primaries, according to preetham
41
- "const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 );",
42
- // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function:
43
- // (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn))
44
- "const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 );",
45
- // mie stuff
46
- // K coefficient for the primaries
47
- "const float v = 4.0;",
48
- "const vec3 K = vec3( 0.686, 0.678, 0.666 );",
49
- // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K
50
- "const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 );",
51
- // earth shadow hack
52
- // cutoffAngle = pi / 1.95;
53
- "const float cutoffAngle = 1.6110731556870734;",
54
- "const float steepness = 1.5;",
55
- "const float EE = 1000.0;",
56
- "float sunIntensity( float zenithAngleCos ) {",
57
- " zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 );",
58
- " return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) );",
59
- "}",
60
- "vec3 totalMie( float T ) {",
61
- " float c = ( 0.2 * T ) * 10E-18;",
62
- " return 0.434 * c * MieConst;",
63
- "}",
64
- "void main() {",
65
- " vec4 worldPosition = modelMatrix * vec4( position, 1.0 );",
66
- " vWorldPosition = worldPosition.xyz;",
67
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
68
- " gl_Position.z = gl_Position.w;",
69
- // set z to camera.far
70
- " vSunDirection = normalize( sunPosition );",
71
- " vSunE = sunIntensity( dot( vSunDirection, up ) );",
72
- " vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 );",
73
- " float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) );",
74
- // extinction (absorbtion + out scattering)
75
- // rayleigh coefficients
76
- " vBetaR = totalRayleigh * rayleighCoefficient;",
77
- // mie coefficients
78
- " vBetaM = totalMie( turbidity ) * mieCoefficient;",
79
- "}"
80
- ].join("\n"),
81
- fragmentShader: [
82
- "varying vec3 vWorldPosition;",
83
- "varying vec3 vSunDirection;",
84
- "varying float vSunfade;",
85
- "varying vec3 vBetaR;",
86
- "varying vec3 vBetaM;",
87
- "varying float vSunE;",
88
- "uniform float mieDirectionalG;",
89
- "uniform vec3 up;",
90
- "const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 );",
91
- // constants for atmospheric scattering
92
- "const float pi = 3.141592653589793238462643383279502884197169;",
93
- "const float n = 1.0003;",
94
- // refractive index of air
95
- "const float N = 2.545E25;",
96
- // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius)
97
- // optical length at zenith for molecules
98
- "const float rayleighZenithLength = 8.4E3;",
99
- "const float mieZenithLength = 1.25E3;",
100
- // 66 arc seconds -> degrees, and the cosine of that
101
- "const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324;",
102
- // 3.0 / ( 16.0 * pi )
103
- "const float THREE_OVER_SIXTEENPI = 0.05968310365946075;",
104
- // 1.0 / ( 4.0 * pi )
105
- "const float ONE_OVER_FOURPI = 0.07957747154594767;",
106
- "float rayleighPhase( float cosTheta ) {",
107
- " return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) );",
108
- "}",
109
- "float hgPhase( float cosTheta, float g ) {",
110
- " float g2 = pow( g, 2.0 );",
111
- " float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 );",
112
- " return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse );",
113
- "}",
114
- "void main() {",
115
- " vec3 direction = normalize( vWorldPosition - cameraPos );",
116
- // optical length
117
- // cutoff angle at 90 to avoid singularity in next formula.
118
- " float zenithAngle = acos( max( 0.0, dot( up, direction ) ) );",
119
- " float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) );",
120
- " float sR = rayleighZenithLength * inverse;",
121
- " float sM = mieZenithLength * inverse;",
122
- // combined extinction factor
123
- " vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) );",
124
- // in scattering
125
- " float cosTheta = dot( direction, vSunDirection );",
126
- " float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 );",
127
- " vec3 betaRTheta = vBetaR * rPhase;",
128
- " float mPhase = hgPhase( cosTheta, mieDirectionalG );",
129
- " vec3 betaMTheta = vBetaM * mPhase;",
130
- " vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) );",
131
- " Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) );",
132
- // nightsky
133
- " float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2]",
134
- " float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2]",
135
- " vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 );",
136
- " vec3 L0 = vec3( 0.1 ) * Fex;",
137
- // composition + solar disc
138
- " float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta );",
139
- " L0 += ( vSunE * 19000.0 * Fex ) * sundisk;",
140
- " vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 );",
141
- " vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );",
142
- " gl_FragColor = vec4( retColor, 1.0 );",
143
- "#include <tonemapping_fragment>",
144
- "#include <encodings_fragment>",
145
- "}"
146
- ].join("\n")
147
- });
148
- __publicField(Sky, "material", new THREE.ShaderMaterial({
19
+ vertexShader: (
20
+ /* glsl */
21
+ `
22
+ uniform vec3 sunPosition;
23
+ uniform float rayleigh;
24
+ uniform float turbidity;
25
+ uniform float mieCoefficient;
26
+ uniform vec3 up;
27
+
28
+ varying vec3 vWorldPosition;
29
+ varying vec3 vSunDirection;
30
+ varying float vSunfade;
31
+ varying vec3 vBetaR;
32
+ varying vec3 vBetaM;
33
+ varying float vSunE;
34
+
35
+ // constants for atmospheric scattering
36
+ const float e = 2.71828182845904523536028747135266249775724709369995957;
37
+ const float pi = 3.141592653589793238462643383279502884197169;
38
+
39
+ // wavelength of used primaries, according to preetham
40
+ const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 );
41
+ // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function:
42
+ // (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn))
43
+ const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 );
44
+
45
+ // mie stuff
46
+ // K coefficient for the primaries
47
+ const float v = 4.0;
48
+ const vec3 K = vec3( 0.686, 0.678, 0.666 );
49
+ // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K
50
+ const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 );
51
+
52
+ // earth shadow hack
53
+ // cutoffAngle = pi / 1.95;
54
+ const float cutoffAngle = 1.6110731556870734;
55
+ const float steepness = 1.5;
56
+ const float EE = 1000.0;
57
+
58
+ float sunIntensity( float zenithAngleCos ) {
59
+ zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 );
60
+ return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) );
61
+ }
62
+
63
+ vec3 totalMie( float T ) {
64
+ float c = ( 0.2 * T ) * 10E-18;
65
+ return 0.434 * c * MieConst;
66
+ }
67
+
68
+ void main() {
69
+
70
+ vec4 worldPosition = modelMatrix * vec4( position, 1.0 );
71
+ vWorldPosition = worldPosition.xyz;
72
+
73
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
74
+ gl_Position.z = gl_Position.w; // set z to camera.far
75
+
76
+ vSunDirection = normalize( sunPosition );
77
+
78
+ vSunE = sunIntensity( dot( vSunDirection, up ) );
79
+
80
+ vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 );
81
+
82
+ float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) );
83
+
84
+ // extinction (absorbtion + out scattering)
85
+ // rayleigh coefficients
86
+ vBetaR = totalRayleigh * rayleighCoefficient;
87
+
88
+ // mie coefficients
89
+ vBetaM = totalMie( turbidity ) * mieCoefficient;
90
+
91
+ }
92
+ `
93
+ ),
94
+ fragmentShader: (
95
+ /* glsl */
96
+ `
97
+ varying vec3 vWorldPosition;
98
+ varying vec3 vSunDirection;
99
+ varying float vSunfade;
100
+ varying vec3 vBetaR;
101
+ varying vec3 vBetaM;
102
+ varying float vSunE;
103
+
104
+ uniform float mieDirectionalG;
105
+ uniform vec3 up;
106
+
107
+ const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 );
108
+
109
+ // constants for atmospheric scattering
110
+ const float pi = 3.141592653589793238462643383279502884197169;
111
+
112
+ const float n = 1.0003; // refractive index of air
113
+ const float N = 2.545E25; // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius)
114
+
115
+ // optical length at zenith for molecules
116
+ const float rayleighZenithLength = 8.4E3;
117
+ const float mieZenithLength = 1.25E3;
118
+ // 66 arc seconds -> degrees, and the cosine of that
119
+ const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324;
120
+
121
+ // 3.0 / ( 16.0 * pi )
122
+ const float THREE_OVER_SIXTEENPI = 0.05968310365946075;
123
+ // 1.0 / ( 4.0 * pi )
124
+ const float ONE_OVER_FOURPI = 0.07957747154594767;
125
+
126
+ float rayleighPhase( float cosTheta ) {
127
+ return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) );
128
+ }
129
+
130
+ float hgPhase( float cosTheta, float g ) {
131
+ float g2 = pow( g, 2.0 );
132
+ float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 );
133
+ return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse );
134
+ }
135
+
136
+ void main() {
137
+
138
+ vec3 direction = normalize( vWorldPosition - cameraPos );
139
+
140
+ // optical length
141
+ // cutoff angle at 90 to avoid singularity in next formula.
142
+ float zenithAngle = acos( max( 0.0, dot( up, direction ) ) );
143
+ float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) );
144
+ float sR = rayleighZenithLength * inverse;
145
+ float sM = mieZenithLength * inverse;
146
+
147
+ // combined extinction factor
148
+ vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) );
149
+
150
+ // in scattering
151
+ float cosTheta = dot( direction, vSunDirection );
152
+
153
+ float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 );
154
+ vec3 betaRTheta = vBetaR * rPhase;
155
+
156
+ float mPhase = hgPhase( cosTheta, mieDirectionalG );
157
+ vec3 betaMTheta = vBetaM * mPhase;
158
+
159
+ vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) );
160
+ Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) );
161
+
162
+ // nightsky
163
+ float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2]
164
+ float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2]
165
+ vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 );
166
+ vec3 L0 = vec3( 0.1 ) * Fex;
167
+
168
+ // composition + solar disc
169
+ float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta );
170
+ L0 += ( vSunE * 19000.0 * Fex ) * sundisk;
171
+
172
+ vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 );
173
+
174
+ vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );
175
+
176
+ gl_FragColor = vec4( retColor, 1.0 );
177
+
178
+ #include <tonemapping_fragment>
179
+ #include <encodings_fragment>
180
+
181
+ }
182
+ `
183
+ )
184
+ };
185
+ const material = /* @__PURE__ */ new THREE.ShaderMaterial({
149
186
  name: "SkyShader",
150
- fragmentShader: _Sky.SkyShader.fragmentShader,
151
- vertexShader: _Sky.SkyShader.vertexShader,
152
- uniforms: THREE.UniformsUtils.clone(_Sky.SkyShader.uniforms),
187
+ fragmentShader: SkyShader.fragmentShader,
188
+ vertexShader: SkyShader.vertexShader,
189
+ uniforms: /* @__PURE__ */ THREE.UniformsUtils.clone(SkyShader.uniforms),
153
190
  side: THREE.BackSide,
154
191
  depthWrite: false
155
- }));
192
+ });
193
+ class Sky extends THREE.Mesh {
194
+ constructor() {
195
+ super(new THREE.BoxGeometry(1, 1, 1), material);
196
+ }
197
+ }
198
+ __publicField(Sky, "SkyShader", SkyShader);
199
+ __publicField(Sky, "material", material);
156
200
  exports.Sky = Sky;