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,7 +1,7 @@
1
- import { Mesh, BufferGeometry, ColorRepresentation, TextureEncoding, WebGLRenderTarget } from 'three'
1
+ import { Mesh, BufferGeometry, Color, TextureEncoding, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
2
 
3
3
  export interface ReflectorOptions {
4
- color?: ColorRepresentation
4
+ color?: Color | string | number
5
5
  textureWidth?: number
6
6
  textureHeight?: number
7
7
  clipBias?: number
@@ -11,6 +11,9 @@ export interface ReflectorOptions {
11
11
  }
12
12
 
13
13
  export class Reflector extends Mesh {
14
+ type: 'Reflector'
15
+ camera: PerspectiveCamera
16
+
14
17
  constructor(geometry?: BufferGeometry, options?: ReflectorOptions)
15
18
 
16
19
  getRenderTarget(): WebGLRenderTarget
@@ -1,16 +1,25 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => {
5
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
+ return value;
7
+ };
2
8
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
9
  const THREE = require("three");
4
- class Reflector extends THREE.Mesh {
10
+ const _Reflector = class extends THREE.Mesh {
5
11
  constructor(geometry, options = {}) {
6
12
  super(geometry);
13
+ this.isReflector = true;
7
14
  this.type = "Reflector";
15
+ this.camera = new THREE.PerspectiveCamera();
8
16
  const scope = this;
9
17
  const color = options.color !== void 0 ? new THREE.Color(options.color) : new THREE.Color(8355711);
10
18
  const textureWidth = options.textureWidth || 512;
11
19
  const textureHeight = options.textureHeight || 512;
12
20
  const clipBias = options.clipBias || 0;
13
- const shader = options.shader || Reflector.ReflectorShader;
21
+ const shader = options.shader || _Reflector.ReflectorShader;
22
+ const multisample = options.multisample !== void 0 ? options.multisample : 4;
14
23
  const reflectorPlane = new THREE.Plane();
15
24
  const normal = new THREE.Vector3();
16
25
  const reflectorWorldPosition = new THREE.Vector3();
@@ -22,8 +31,11 @@ class Reflector extends THREE.Mesh {
22
31
  const target = new THREE.Vector3();
23
32
  const q = new THREE.Vector4();
24
33
  const textureMatrix = new THREE.Matrix4();
25
- const virtualCamera = new THREE.PerspectiveCamera();
26
- const renderTarget = new THREE.WebGLRenderTarget(textureWidth, textureHeight);
34
+ const virtualCamera = this.camera;
35
+ const renderTarget = new THREE.WebGLRenderTarget(textureWidth, textureHeight, {
36
+ samples: multisample,
37
+ type: THREE.HalfFloatType
38
+ });
27
39
  const material = new THREE.ShaderMaterial({
28
40
  uniforms: THREE.UniformsUtils.clone(shader.uniforms),
29
41
  fragmentShader: shader.fragmentShader,
@@ -76,16 +88,23 @@ class Reflector extends THREE.Mesh {
76
88
  projectionMatrix.elements[6] = clipPlane.y;
77
89
  projectionMatrix.elements[10] = clipPlane.z + 1 - clipBias;
78
90
  projectionMatrix.elements[14] = clipPlane.w;
79
- if ("colorSpace" in renderTarget.texture)
80
- renderTarget.texture.colorSpace = renderer.outputColorSpace;
81
- else
82
- renderTarget.texture.encoding = renderer.outputEncoding;
83
91
  scope.visible = false;
84
92
  const currentRenderTarget = renderer.getRenderTarget();
85
93
  const currentXrEnabled = renderer.xr.enabled;
86
94
  const currentShadowAutoUpdate = renderer.shadowMap.autoUpdate;
95
+ const currentToneMapping = renderer.toneMapping;
96
+ let isSRGB = false;
97
+ if ("outputColorSpace" in renderer)
98
+ isSRGB = renderer.outputColorSpace === "srgb";
99
+ else
100
+ isSRGB = renderer.outputEncoding === 3001;
87
101
  renderer.xr.enabled = false;
88
102
  renderer.shadowMap.autoUpdate = false;
103
+ if ("outputColorSpace" in renderer)
104
+ renderer.outputColorSpace = "linear-srgb";
105
+ else
106
+ renderer.outputEncoding = 3e3;
107
+ renderer.toneMapping = THREE.NoToneMapping;
89
108
  renderer.setRenderTarget(renderTarget);
90
109
  renderer.state.buffers.depth.setMask(true);
91
110
  if (renderer.autoClear === false)
@@ -93,6 +112,11 @@ class Reflector extends THREE.Mesh {
93
112
  renderer.render(scene, virtualCamera);
94
113
  renderer.xr.enabled = currentXrEnabled;
95
114
  renderer.shadowMap.autoUpdate = currentShadowAutoUpdate;
115
+ renderer.toneMapping = currentToneMapping;
116
+ if ("outputColorSpace" in renderer)
117
+ renderer.outputColorSpace = isSRGB ? "srgb" : "srgb-linear";
118
+ else
119
+ renderer.outputEncoding = isSRGB ? 3001 : 3e3;
96
120
  renderer.setRenderTarget(currentRenderTarget);
97
121
  const viewport = camera.viewport;
98
122
  if (viewport !== void 0) {
@@ -108,9 +132,9 @@ class Reflector extends THREE.Mesh {
108
132
  scope.material.dispose();
109
133
  };
110
134
  }
111
- }
112
- Reflector.prototype.isReflector = true;
113
- Reflector.ReflectorShader = {
135
+ };
136
+ let Reflector = _Reflector;
137
+ __publicField(Reflector, "ReflectorShader", {
114
138
  uniforms: {
115
139
  color: {
116
140
  value: null
@@ -169,7 +193,10 @@ Reflector.ReflectorShader = {
169
193
  vec4 base = texture2DProj( tDiffuse, vUv );
170
194
  gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );
171
195
 
196
+ #include <tonemapping_fragment>
197
+ #include <encodings_fragment>
198
+
172
199
  }`
173
200
  )
174
- };
201
+ });
175
202
  exports.Reflector = Reflector;
@@ -1,14 +1,23 @@
1
- import { Mesh, Color, Plane, Vector3, Matrix4, Vector4, PerspectiveCamera, WebGLRenderTarget, ShaderMaterial, UniformsUtils } from "three";
2
- class Reflector 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, Vector3, Matrix4, Vector4, WebGLRenderTarget, HalfFloatType, ShaderMaterial, UniformsUtils, NoToneMapping } from "three";
8
+ const _Reflector = class extends Mesh {
3
9
  constructor(geometry, options = {}) {
4
10
  super(geometry);
11
+ this.isReflector = true;
5
12
  this.type = "Reflector";
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 || Reflector.ReflectorShader;
19
+ const shader = options.shader || _Reflector.ReflectorShader;
20
+ const multisample = options.multisample !== void 0 ? options.multisample : 4;
12
21
  const reflectorPlane = new Plane();
13
22
  const normal = new Vector3();
14
23
  const reflectorWorldPosition = new Vector3();
@@ -20,8 +29,11 @@ class Reflector extends Mesh {
20
29
  const target = new Vector3();
21
30
  const q = new Vector4();
22
31
  const textureMatrix = new Matrix4();
23
- const virtualCamera = new PerspectiveCamera();
24
- const renderTarget = new WebGLRenderTarget(textureWidth, textureHeight);
32
+ const virtualCamera = this.camera;
33
+ const renderTarget = new WebGLRenderTarget(textureWidth, textureHeight, {
34
+ samples: multisample,
35
+ type: HalfFloatType
36
+ });
25
37
  const material = new ShaderMaterial({
26
38
  uniforms: UniformsUtils.clone(shader.uniforms),
27
39
  fragmentShader: shader.fragmentShader,
@@ -74,16 +86,23 @@ class Reflector extends Mesh {
74
86
  projectionMatrix.elements[6] = clipPlane.y;
75
87
  projectionMatrix.elements[10] = clipPlane.z + 1 - clipBias;
76
88
  projectionMatrix.elements[14] = clipPlane.w;
77
- if ("colorSpace" in renderTarget.texture)
78
- renderTarget.texture.colorSpace = renderer.outputColorSpace;
79
- else
80
- renderTarget.texture.encoding = renderer.outputEncoding;
81
89
  scope.visible = false;
82
90
  const currentRenderTarget = renderer.getRenderTarget();
83
91
  const currentXrEnabled = renderer.xr.enabled;
84
92
  const currentShadowAutoUpdate = renderer.shadowMap.autoUpdate;
93
+ const currentToneMapping = renderer.toneMapping;
94
+ let isSRGB = false;
95
+ if ("outputColorSpace" in renderer)
96
+ isSRGB = renderer.outputColorSpace === "srgb";
97
+ else
98
+ isSRGB = renderer.outputEncoding === 3001;
85
99
  renderer.xr.enabled = false;
86
100
  renderer.shadowMap.autoUpdate = false;
101
+ if ("outputColorSpace" in renderer)
102
+ renderer.outputColorSpace = "linear-srgb";
103
+ else
104
+ renderer.outputEncoding = 3e3;
105
+ renderer.toneMapping = NoToneMapping;
87
106
  renderer.setRenderTarget(renderTarget);
88
107
  renderer.state.buffers.depth.setMask(true);
89
108
  if (renderer.autoClear === false)
@@ -91,6 +110,11 @@ class Reflector extends Mesh {
91
110
  renderer.render(scene, virtualCamera);
92
111
  renderer.xr.enabled = currentXrEnabled;
93
112
  renderer.shadowMap.autoUpdate = currentShadowAutoUpdate;
113
+ renderer.toneMapping = currentToneMapping;
114
+ if ("outputColorSpace" in renderer)
115
+ renderer.outputColorSpace = isSRGB ? "srgb" : "srgb-linear";
116
+ else
117
+ renderer.outputEncoding = isSRGB ? 3001 : 3e3;
94
118
  renderer.setRenderTarget(currentRenderTarget);
95
119
  const viewport = camera.viewport;
96
120
  if (viewport !== void 0) {
@@ -106,9 +130,9 @@ class Reflector extends Mesh {
106
130
  scope.material.dispose();
107
131
  };
108
132
  }
109
- }
110
- Reflector.prototype.isReflector = true;
111
- Reflector.ReflectorShader = {
133
+ };
134
+ let Reflector = _Reflector;
135
+ __publicField(Reflector, "ReflectorShader", {
112
136
  uniforms: {
113
137
  color: {
114
138
  value: null
@@ -167,9 +191,12 @@ Reflector.ReflectorShader = {
167
191
  vec4 base = texture2DProj( tDiffuse, vUv );
168
192
  gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );
169
193
 
194
+ #include <tonemapping_fragment>
195
+ #include <encodings_fragment>
196
+
170
197
  }`
171
198
  )
172
- };
199
+ });
173
200
  export {
174
201
  Reflector
175
202
  };
@@ -1,26 +1,33 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => {
5
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
+ return value;
7
+ };
2
8
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
9
  const THREE = require("three");
4
- class ReflectorForSSRPass extends THREE.Mesh {
10
+ const _ReflectorForSSRPass = class extends THREE.Mesh {
5
11
  constructor(geometry, options = {}) {
6
12
  super(geometry);
13
+ this.isReflectorForSSRPass = true;
7
14
  this.type = "ReflectorForSSRPass";
8
15
  const scope = this;
9
16
  const color = options.color !== void 0 ? new THREE.Color(options.color) : new THREE.Color(8355711);
10
17
  const textureWidth = options.textureWidth || 512;
11
18
  const textureHeight = options.textureHeight || 512;
12
19
  const clipBias = options.clipBias || 0;
13
- const shader = options.shader || ReflectorForSSRPass.ReflectorShader;
20
+ const shader = options.shader || _ReflectorForSSRPass.ReflectorShader;
14
21
  const useDepthTexture = options.useDepthTexture === true;
15
22
  const yAxis = new THREE.Vector3(0, 1, 0);
16
23
  const vecTemp0 = new THREE.Vector3();
17
24
  const vecTemp1 = new THREE.Vector3();
18
25
  scope.needsUpdate = false;
19
- scope.maxDistance = ReflectorForSSRPass.ReflectorShader.uniforms.maxDistance.value;
20
- scope.opacity = ReflectorForSSRPass.ReflectorShader.uniforms.opacity.value;
26
+ scope.maxDistance = _ReflectorForSSRPass.ReflectorShader.uniforms.maxDistance.value;
27
+ scope.opacity = _ReflectorForSSRPass.ReflectorShader.uniforms.opacity.value;
21
28
  scope.color = color;
22
29
  scope.resolution = options.resolution || new THREE.Vector2(window.innerWidth, window.innerHeight);
23
- scope._distanceAttenuation = ReflectorForSSRPass.ReflectorShader.defines.DISTANCE_ATTENUATION;
30
+ scope._distanceAttenuation = _ReflectorForSSRPass.ReflectorShader.defines.DISTANCE_ATTENUATION;
24
31
  Object.defineProperty(scope, "distanceAttenuation", {
25
32
  get() {
26
33
  return scope._distanceAttenuation;
@@ -33,7 +40,7 @@ class ReflectorForSSRPass extends THREE.Mesh {
33
40
  scope.material.needsUpdate = true;
34
41
  }
35
42
  });
36
- scope._fresnel = ReflectorForSSRPass.ReflectorShader.defines.FRESNEL;
43
+ scope._fresnel = _ReflectorForSSRPass.ReflectorShader.defines.FRESNEL;
37
44
  Object.defineProperty(scope, "fresnel", {
38
45
  get() {
39
46
  return scope._fresnel;
@@ -63,12 +70,13 @@ class ReflectorForSSRPass extends THREE.Mesh {
63
70
  depthTexture.magFilter = THREE.NearestFilter;
64
71
  }
65
72
  const parameters = {
66
- depthTexture: useDepthTexture ? depthTexture : null
73
+ depthTexture: useDepthTexture ? depthTexture : null,
74
+ type: THREE.HalfFloatType
67
75
  };
68
76
  const renderTarget = new THREE.WebGLRenderTarget(textureWidth, textureHeight, parameters);
69
77
  const material = new THREE.ShaderMaterial({
70
78
  transparent: useDepthTexture,
71
- defines: Object.assign({}, ReflectorForSSRPass.ReflectorShader.defines, {
79
+ defines: Object.assign({}, _ReflectorForSSRPass.ReflectorShader.defines, {
72
80
  useDepthTexture
73
81
  }),
74
82
  uniforms: THREE.UniformsUtils.clone(shader.uniforms),
@@ -126,10 +134,6 @@ class ReflectorForSSRPass extends THREE.Mesh {
126
134
  textureMatrix.multiply(virtualCamera.projectionMatrix);
127
135
  textureMatrix.multiply(virtualCamera.matrixWorldInverse);
128
136
  textureMatrix.multiply(scope.matrixWorld);
129
- if ("colorSpace" in renderTarget.texture)
130
- renderTarget.texture.colorSpace = renderer.outputColorSpace;
131
- else
132
- renderTarget.texture.encoding = renderer.outputEncoding;
133
137
  const currentRenderTarget = renderer.getRenderTarget();
134
138
  const currentXrEnabled = renderer.xr.enabled;
135
139
  const currentShadowAutoUpdate = renderer.shadowMap.autoUpdate;
@@ -155,9 +159,9 @@ class ReflectorForSSRPass extends THREE.Mesh {
155
159
  return renderTarget;
156
160
  };
157
161
  }
158
- }
159
- ReflectorForSSRPass.prototype.isReflectorForSSRPass = true;
160
- ReflectorForSSRPass.ReflectorShader = {
162
+ };
163
+ let ReflectorForSSRPass = _ReflectorForSSRPass;
164
+ __publicField(ReflectorForSSRPass, "ReflectorShader", {
161
165
  defines: {
162
166
  DISTANCE_ATTENUATION: true,
163
167
  FRESNEL: true
@@ -166,16 +170,16 @@ ReflectorForSSRPass.ReflectorShader = {
166
170
  color: { value: null },
167
171
  tDiffuse: { value: null },
168
172
  tDepth: { value: null },
169
- textureMatrix: { value: new THREE.Matrix4() },
173
+ textureMatrix: { value: /* @__PURE__ */ new THREE.Matrix4() },
170
174
  maxDistance: { value: 180 },
171
175
  opacity: { value: 0.5 },
172
176
  fresnelCoe: { value: null },
173
177
  virtualCameraNear: { value: null },
174
178
  virtualCameraFar: { value: null },
175
- virtualCameraProjectionMatrix: { value: new THREE.Matrix4() },
176
- virtualCameraMatrixWorld: { value: new THREE.Matrix4() },
177
- virtualCameraProjectionMatrixInverse: { value: new THREE.Matrix4() },
178
- resolution: { value: new THREE.Vector2() }
179
+ virtualCameraProjectionMatrix: { value: /* @__PURE__ */ new THREE.Matrix4() },
180
+ virtualCameraMatrixWorld: { value: /* @__PURE__ */ new THREE.Matrix4() },
181
+ virtualCameraProjectionMatrixInverse: { value: /* @__PURE__ */ new THREE.Matrix4() },
182
+ resolution: { value: /* @__PURE__ */ new THREE.Vector2() }
179
183
  },
180
184
  vertexShader: (
181
185
  /* glsl */
@@ -252,5 +256,5 @@ ReflectorForSSRPass.ReflectorShader = {
252
256
  }
253
257
  `
254
258
  )
255
- };
259
+ });
256
260
  exports.ReflectorForSSRPass = ReflectorForSSRPass;
@@ -1,24 +1,31 @@
1
- import { Mesh, Color, Vector3, Vector2, Matrix4, PerspectiveCamera, DepthTexture, UnsignedShortType, NearestFilter, WebGLRenderTarget, ShaderMaterial, UniformsUtils, Plane } from "three";
2
- class ReflectorForSSRPass 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, Matrix4, Vector2, Color, Vector3, PerspectiveCamera, DepthTexture, UnsignedShortType, NearestFilter, HalfFloatType, WebGLRenderTarget, ShaderMaterial, UniformsUtils, Plane } from "three";
8
+ const _ReflectorForSSRPass = class extends Mesh {
3
9
  constructor(geometry, options = {}) {
4
10
  super(geometry);
11
+ this.isReflectorForSSRPass = true;
5
12
  this.type = "ReflectorForSSRPass";
6
13
  const scope = this;
7
14
  const color = options.color !== void 0 ? new Color(options.color) : new Color(8355711);
8
15
  const textureWidth = options.textureWidth || 512;
9
16
  const textureHeight = options.textureHeight || 512;
10
17
  const clipBias = options.clipBias || 0;
11
- const shader = options.shader || ReflectorForSSRPass.ReflectorShader;
18
+ const shader = options.shader || _ReflectorForSSRPass.ReflectorShader;
12
19
  const useDepthTexture = options.useDepthTexture === true;
13
20
  const yAxis = new Vector3(0, 1, 0);
14
21
  const vecTemp0 = new Vector3();
15
22
  const vecTemp1 = new Vector3();
16
23
  scope.needsUpdate = false;
17
- scope.maxDistance = ReflectorForSSRPass.ReflectorShader.uniforms.maxDistance.value;
18
- scope.opacity = ReflectorForSSRPass.ReflectorShader.uniforms.opacity.value;
24
+ scope.maxDistance = _ReflectorForSSRPass.ReflectorShader.uniforms.maxDistance.value;
25
+ scope.opacity = _ReflectorForSSRPass.ReflectorShader.uniforms.opacity.value;
19
26
  scope.color = color;
20
27
  scope.resolution = options.resolution || new Vector2(window.innerWidth, window.innerHeight);
21
- scope._distanceAttenuation = ReflectorForSSRPass.ReflectorShader.defines.DISTANCE_ATTENUATION;
28
+ scope._distanceAttenuation = _ReflectorForSSRPass.ReflectorShader.defines.DISTANCE_ATTENUATION;
22
29
  Object.defineProperty(scope, "distanceAttenuation", {
23
30
  get() {
24
31
  return scope._distanceAttenuation;
@@ -31,7 +38,7 @@ class ReflectorForSSRPass extends Mesh {
31
38
  scope.material.needsUpdate = true;
32
39
  }
33
40
  });
34
- scope._fresnel = ReflectorForSSRPass.ReflectorShader.defines.FRESNEL;
41
+ scope._fresnel = _ReflectorForSSRPass.ReflectorShader.defines.FRESNEL;
35
42
  Object.defineProperty(scope, "fresnel", {
36
43
  get() {
37
44
  return scope._fresnel;
@@ -61,12 +68,13 @@ class ReflectorForSSRPass extends Mesh {
61
68
  depthTexture.magFilter = NearestFilter;
62
69
  }
63
70
  const parameters = {
64
- depthTexture: useDepthTexture ? depthTexture : null
71
+ depthTexture: useDepthTexture ? depthTexture : null,
72
+ type: HalfFloatType
65
73
  };
66
74
  const renderTarget = new WebGLRenderTarget(textureWidth, textureHeight, parameters);
67
75
  const material = new ShaderMaterial({
68
76
  transparent: useDepthTexture,
69
- defines: Object.assign({}, ReflectorForSSRPass.ReflectorShader.defines, {
77
+ defines: Object.assign({}, _ReflectorForSSRPass.ReflectorShader.defines, {
70
78
  useDepthTexture
71
79
  }),
72
80
  uniforms: UniformsUtils.clone(shader.uniforms),
@@ -124,10 +132,6 @@ class ReflectorForSSRPass extends Mesh {
124
132
  textureMatrix.multiply(virtualCamera.projectionMatrix);
125
133
  textureMatrix.multiply(virtualCamera.matrixWorldInverse);
126
134
  textureMatrix.multiply(scope.matrixWorld);
127
- if ("colorSpace" in renderTarget.texture)
128
- renderTarget.texture.colorSpace = renderer.outputColorSpace;
129
- else
130
- renderTarget.texture.encoding = renderer.outputEncoding;
131
135
  const currentRenderTarget = renderer.getRenderTarget();
132
136
  const currentXrEnabled = renderer.xr.enabled;
133
137
  const currentShadowAutoUpdate = renderer.shadowMap.autoUpdate;
@@ -153,9 +157,9 @@ class ReflectorForSSRPass extends Mesh {
153
157
  return renderTarget;
154
158
  };
155
159
  }
156
- }
157
- ReflectorForSSRPass.prototype.isReflectorForSSRPass = true;
158
- ReflectorForSSRPass.ReflectorShader = {
160
+ };
161
+ let ReflectorForSSRPass = _ReflectorForSSRPass;
162
+ __publicField(ReflectorForSSRPass, "ReflectorShader", {
159
163
  defines: {
160
164
  DISTANCE_ATTENUATION: true,
161
165
  FRESNEL: true
@@ -164,16 +168,16 @@ ReflectorForSSRPass.ReflectorShader = {
164
168
  color: { value: null },
165
169
  tDiffuse: { value: null },
166
170
  tDepth: { value: null },
167
- textureMatrix: { value: new Matrix4() },
171
+ textureMatrix: { value: /* @__PURE__ */ new Matrix4() },
168
172
  maxDistance: { value: 180 },
169
173
  opacity: { value: 0.5 },
170
174
  fresnelCoe: { value: null },
171
175
  virtualCameraNear: { value: null },
172
176
  virtualCameraFar: { value: null },
173
- virtualCameraProjectionMatrix: { value: new Matrix4() },
174
- virtualCameraMatrixWorld: { value: new Matrix4() },
175
- virtualCameraProjectionMatrixInverse: { value: new Matrix4() },
176
- resolution: { value: new Vector2() }
177
+ virtualCameraProjectionMatrix: { value: /* @__PURE__ */ new Matrix4() },
178
+ virtualCameraMatrixWorld: { value: /* @__PURE__ */ new Matrix4() },
179
+ virtualCameraProjectionMatrixInverse: { value: /* @__PURE__ */ new Matrix4() },
180
+ resolution: { value: /* @__PURE__ */ new Vector2() }
177
181
  },
178
182
  vertexShader: (
179
183
  /* glsl */
@@ -250,7 +254,7 @@ ReflectorForSSRPass.ReflectorShader = {
250
254
  }
251
255
  `
252
256
  )
253
- };
257
+ });
254
258
  export {
255
259
  ReflectorForSSRPass
256
260
  };
@@ -0,0 +1,6 @@
1
+ import { BufferGeometry } from 'three';
2
+ import { Reflector, ReflectorOptions } from '../objects/Reflector';
3
+ declare class ReflectorRTT extends Reflector {
4
+ constructor(geometry?: BufferGeometry, options?: ReflectorOptions);
5
+ }
6
+ export { ReflectorRTT };
@@ -1,7 +1,7 @@
1
- import { Mesh, BufferGeometry, ColorRepresentation, TextureEncoding, WebGLRenderTarget } from 'three'
1
+ import { Mesh, BufferGeometry, Color, TextureEncoding, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
2
 
3
3
  export interface RefractorOptions {
4
- color?: ColorRepresentation
4
+ color?: Color | string | number
5
5
  textureWidth?: number
6
6
  textureHeight?: number
7
7
  clipBias?: number
@@ -11,6 +11,9 @@ export interface RefractorOptions {
11
11
  }
12
12
 
13
13
  export class Refractor extends Mesh {
14
+ type: 'Refractor'
15
+ camera: PerspectiveCamera
16
+
14
17
  constructor(geometry?: BufferGeometry, options?: RefractorOptions)
15
18
 
16
19
  getRenderTarget(): WebGLRenderTarget
@@ -1,22 +1,34 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => {
5
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
+ return value;
7
+ };
2
8
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
9
  const THREE = require("three");
4
- class Refractor extends THREE.Mesh {
10
+ const _Refractor = class extends THREE.Mesh {
5
11
  constructor(geometry, options = {}) {
6
12
  super(geometry);
13
+ this.isRefractor = true;
7
14
  this.type = "Refractor";
15
+ this.camera = new THREE.PerspectiveCamera();
8
16
  const scope = this;
9
17
  const color = options.color !== void 0 ? new THREE.Color(options.color) : new THREE.Color(8355711);
10
18
  const textureWidth = options.textureWidth || 512;
11
19
  const textureHeight = options.textureHeight || 512;
12
20
  const clipBias = options.clipBias || 0;
13
- const shader = options.shader || Refractor.RefractorShader;
14
- const virtualCamera = new THREE.PerspectiveCamera();
21
+ const shader = options.shader || _Refractor.RefractorShader;
22
+ const multisample = options.multisample !== void 0 ? options.multisample : 4;
23
+ const virtualCamera = this.camera;
15
24
  virtualCamera.matrixAutoUpdate = false;
16
25
  virtualCamera.userData.refractor = true;
17
26
  const refractorPlane = new THREE.Plane();
18
27
  const textureMatrix = new THREE.Matrix4();
19
- const renderTarget = new THREE.WebGLRenderTarget(textureWidth, textureHeight);
28
+ const renderTarget = new THREE.WebGLRenderTarget(textureWidth, textureHeight, {
29
+ samples: multisample,
30
+ type: THREE.HalfFloatType
31
+ });
20
32
  this.material = new THREE.ShaderMaterial({
21
33
  uniforms: THREE.UniformsUtils.clone(shader.uniforms),
22
34
  vertexShader: shader.vertexShader,
@@ -90,15 +102,31 @@ class Refractor extends THREE.Mesh {
90
102
  const currentRenderTarget = renderer.getRenderTarget();
91
103
  const currentXrEnabled = renderer.xr.enabled;
92
104
  const currentShadowAutoUpdate = renderer.shadowMap.autoUpdate;
105
+ const currentToneMapping = renderer.toneMapping;
106
+ let isSRGB = false;
107
+ if ("outputColorSpace" in renderer)
108
+ isSRGB = renderer.outputColorSpace === "srgb";
109
+ else
110
+ isSRGB = renderer.outputEncoding === 3001;
93
111
  renderer.xr.enabled = false;
94
112
  renderer.shadowMap.autoUpdate = false;
113
+ if ("outputColorSpace" in renderer)
114
+ renderer.outputColorSpace = "linear-srgb";
115
+ else
116
+ renderer.outputEncoding = 3e3;
117
+ renderer.toneMapping = THREE.NoToneMapping;
95
118
  renderer.setRenderTarget(renderTarget);
96
119
  if (renderer.autoClear === false)
97
120
  renderer.clear();
98
121
  renderer.render(scene, virtualCamera);
99
122
  renderer.xr.enabled = currentXrEnabled;
100
123
  renderer.shadowMap.autoUpdate = currentShadowAutoUpdate;
124
+ renderer.toneMapping = currentToneMapping;
101
125
  renderer.setRenderTarget(currentRenderTarget);
126
+ if ("outputColorSpace" in renderer)
127
+ renderer.outputColorSpace = isSRGB ? "srgb" : "srgb-linear";
128
+ else
129
+ renderer.outputEncoding = isSRGB ? 3001 : 3e3;
102
130
  const viewport = camera.viewport;
103
131
  if (viewport !== void 0) {
104
132
  renderer.state.viewport(viewport);
@@ -106,10 +134,6 @@ class Refractor extends THREE.Mesh {
106
134
  scope.visible = true;
107
135
  }
108
136
  this.onBeforeRender = function(renderer, scene, camera) {
109
- if ("colorSpace" in renderTarget.texture)
110
- renderTarget.texture.colorSpace = renderer.outputColorSpace;
111
- else
112
- renderTarget.texture.encoding = renderer.outputEncoding;
113
137
  if (camera.userData.refractor === true)
114
138
  return;
115
139
  if (!visible(camera) === true)
@@ -127,9 +151,9 @@ class Refractor extends THREE.Mesh {
127
151
  scope.material.dispose();
128
152
  };
129
153
  }
130
- }
131
- Refractor.prototype.isRefractor = true;
132
- Refractor.RefractorShader = {
154
+ };
155
+ let Refractor = _Refractor;
156
+ __publicField(Refractor, "RefractorShader", {
133
157
  uniforms: {
134
158
  color: {
135
159
  value: null
@@ -182,7 +206,10 @@ Refractor.RefractorShader = {
182
206
  vec4 base = texture2DProj( tDiffuse, vUv );
183
207
  gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );
184
208
 
209
+ #include <tonemapping_fragment>
210
+ #include <encodings_fragment>
211
+
185
212
  }`
186
213
  )
187
- };
214
+ });
188
215
  exports.Refractor = Refractor;