three-stdlib 2.22.9 → 2.23.0

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