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,421 +1,421 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const THREE = require("three");
4
- THREE.UniformsLib.line = {
5
- worldUnits: { value: 1 },
6
- linewidth: { value: 1 },
7
- resolution: { value: new THREE.Vector2(1, 1) },
8
- dashOffset: { value: 0 },
9
- dashScale: { value: 1 },
10
- dashSize: { value: 1 },
11
- gapSize: { value: 1 }
12
- // todo FIX - maybe change to totalSize
13
- };
14
- THREE.ShaderLib["line"] = {
15
- uniforms: THREE.UniformsUtils.merge([THREE.UniformsLib.common, THREE.UniformsLib.fog, THREE.UniformsLib.line]),
16
- vertexShader: (
17
- /* glsl */
18
- `
19
- #include <common>
20
- #include <color_pars_vertex>
21
- #include <fog_pars_vertex>
22
- #include <logdepthbuf_pars_vertex>
23
- #include <clipping_planes_pars_vertex>
4
+ class LineMaterial extends THREE.ShaderMaterial {
5
+ constructor(parameters) {
6
+ super({
7
+ type: "LineMaterial",
8
+ uniforms: THREE.UniformsUtils.clone(
9
+ THREE.UniformsUtils.merge([
10
+ THREE.UniformsLib.common,
11
+ THREE.UniformsLib.fog,
12
+ {
13
+ worldUnits: { value: 1 },
14
+ linewidth: { value: 1 },
15
+ resolution: { value: new THREE.Vector2(1, 1) },
16
+ dashOffset: { value: 0 },
17
+ dashScale: { value: 1 },
18
+ dashSize: { value: 1 },
19
+ gapSize: { value: 1 }
20
+ // todo FIX - maybe change to totalSize
21
+ }
22
+ ])
23
+ ),
24
+ vertexShader: (
25
+ /* glsl */
26
+ `
27
+ #include <common>
28
+ #include <color_pars_vertex>
29
+ #include <fog_pars_vertex>
30
+ #include <logdepthbuf_pars_vertex>
31
+ #include <clipping_planes_pars_vertex>
24
32
 
25
- uniform float linewidth;
26
- uniform vec2 resolution;
33
+ uniform float linewidth;
34
+ uniform vec2 resolution;
27
35
 
28
- attribute vec3 instanceStart;
29
- attribute vec3 instanceEnd;
36
+ attribute vec3 instanceStart;
37
+ attribute vec3 instanceEnd;
30
38
 
31
- attribute vec3 instanceColorStart;
32
- attribute vec3 instanceColorEnd;
39
+ attribute vec3 instanceColorStart;
40
+ attribute vec3 instanceColorEnd;
33
41
 
34
- #ifdef WORLD_UNITS
42
+ #ifdef WORLD_UNITS
35
43
 
36
- varying vec4 worldPos;
37
- varying vec3 worldStart;
38
- varying vec3 worldEnd;
44
+ varying vec4 worldPos;
45
+ varying vec3 worldStart;
46
+ varying vec3 worldEnd;
39
47
 
40
- #ifdef USE_DASH
48
+ #ifdef USE_DASH
41
49
 
42
- varying vec2 vUv;
50
+ varying vec2 vUv;
43
51
 
44
- #endif
52
+ #endif
45
53
 
46
- #else
54
+ #else
47
55
 
48
- varying vec2 vUv;
56
+ varying vec2 vUv;
49
57
 
50
- #endif
58
+ #endif
51
59
 
52
- #ifdef USE_DASH
60
+ #ifdef USE_DASH
53
61
 
54
- uniform float dashScale;
55
- attribute float instanceDistanceStart;
56
- attribute float instanceDistanceEnd;
57
- varying float vLineDistance;
62
+ uniform float dashScale;
63
+ attribute float instanceDistanceStart;
64
+ attribute float instanceDistanceEnd;
65
+ varying float vLineDistance;
58
66
 
59
- #endif
67
+ #endif
60
68
 
61
- void trimSegment( const in vec4 start, inout vec4 end ) {
69
+ void trimSegment( const in vec4 start, inout vec4 end ) {
62
70
 
63
- // trim end segment so it terminates between the camera plane and the near plane
71
+ // trim end segment so it terminates between the camera plane and the near plane
64
72
 
65
- // conservative estimate of the near plane
66
- float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column
67
- float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column
68
- float nearEstimate = - 0.5 * b / a;
73
+ // conservative estimate of the near plane
74
+ float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column
75
+ float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column
76
+ float nearEstimate = - 0.5 * b / a;
69
77
 
70
- float alpha = ( nearEstimate - start.z ) / ( end.z - start.z );
78
+ float alpha = ( nearEstimate - start.z ) / ( end.z - start.z );
71
79
 
72
- end.xyz = mix( start.xyz, end.xyz, alpha );
80
+ end.xyz = mix( start.xyz, end.xyz, alpha );
73
81
 
74
- }
82
+ }
75
83
 
76
- void main() {
84
+ void main() {
77
85
 
78
- #ifdef USE_COLOR
86
+ #ifdef USE_COLOR
79
87
 
80
- vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;
88
+ vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;
81
89
 
82
- #endif
90
+ #endif
83
91
 
84
- #ifdef USE_DASH
92
+ #ifdef USE_DASH
85
93
 
86
- vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;
87
- vUv = uv;
94
+ vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;
95
+ vUv = uv;
88
96
 
89
- #endif
97
+ #endif
90
98
 
91
- float aspect = resolution.x / resolution.y;
99
+ float aspect = resolution.x / resolution.y;
92
100
 
93
- // camera space
94
- vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );
95
- vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );
101
+ // camera space
102
+ vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );
103
+ vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );
96
104
 
97
- #ifdef WORLD_UNITS
105
+ #ifdef WORLD_UNITS
98
106
 
99
- worldStart = start.xyz;
100
- worldEnd = end.xyz;
107
+ worldStart = start.xyz;
108
+ worldEnd = end.xyz;
101
109
 
102
- #else
110
+ #else
103
111
 
104
- vUv = uv;
112
+ vUv = uv;
105
113
 
106
- #endif
114
+ #endif
107
115
 
108
- // special case for perspective projection, and segments that terminate either in, or behind, the camera plane
109
- // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space
110
- // but we need to perform ndc-space calculations in the shader, so we must address this issue directly
111
- // perhaps there is a more elegant solution -- WestLangley
116
+ // special case for perspective projection, and segments that terminate either in, or behind, the camera plane
117
+ // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space
118
+ // but we need to perform ndc-space calculations in the shader, so we must address this issue directly
119
+ // perhaps there is a more elegant solution -- WestLangley
112
120
 
113
- bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column
121
+ bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column
114
122
 
115
- if ( perspective ) {
123
+ if ( perspective ) {
116
124
 
117
- if ( start.z < 0.0 && end.z >= 0.0 ) {
125
+ if ( start.z < 0.0 && end.z >= 0.0 ) {
118
126
 
119
- trimSegment( start, end );
127
+ trimSegment( start, end );
120
128
 
121
- } else if ( end.z < 0.0 && start.z >= 0.0 ) {
129
+ } else if ( end.z < 0.0 && start.z >= 0.0 ) {
122
130
 
123
- trimSegment( end, start );
131
+ trimSegment( end, start );
124
132
 
125
- }
133
+ }
126
134
 
127
- }
135
+ }
128
136
 
129
- // clip space
130
- vec4 clipStart = projectionMatrix * start;
131
- vec4 clipEnd = projectionMatrix * end;
137
+ // clip space
138
+ vec4 clipStart = projectionMatrix * start;
139
+ vec4 clipEnd = projectionMatrix * end;
132
140
 
133
- // ndc space
134
- vec3 ndcStart = clipStart.xyz / clipStart.w;
135
- vec3 ndcEnd = clipEnd.xyz / clipEnd.w;
141
+ // ndc space
142
+ vec3 ndcStart = clipStart.xyz / clipStart.w;
143
+ vec3 ndcEnd = clipEnd.xyz / clipEnd.w;
136
144
 
137
- // direction
138
- vec2 dir = ndcEnd.xy - ndcStart.xy;
145
+ // direction
146
+ vec2 dir = ndcEnd.xy - ndcStart.xy;
139
147
 
140
- // account for clip-space aspect ratio
141
- dir.x *= aspect;
142
- dir = normalize( dir );
148
+ // account for clip-space aspect ratio
149
+ dir.x *= aspect;
150
+ dir = normalize( dir );
143
151
 
144
- #ifdef WORLD_UNITS
152
+ #ifdef WORLD_UNITS
145
153
 
146
- // get the offset direction as perpendicular to the view vector
147
- vec3 worldDir = normalize( end.xyz - start.xyz );
148
- vec3 offset;
149
- if ( position.y < 0.5 ) {
154
+ // get the offset direction as perpendicular to the view vector
155
+ vec3 worldDir = normalize( end.xyz - start.xyz );
156
+ vec3 offset;
157
+ if ( position.y < 0.5 ) {
150
158
 
151
- offset = normalize( cross( start.xyz, worldDir ) );
159
+ offset = normalize( cross( start.xyz, worldDir ) );
152
160
 
153
- } else {
161
+ } else {
154
162
 
155
- offset = normalize( cross( end.xyz, worldDir ) );
163
+ offset = normalize( cross( end.xyz, worldDir ) );
156
164
 
157
- }
165
+ }
158
166
 
159
- // sign flip
160
- if ( position.x < 0.0 ) offset *= - 1.0;
167
+ // sign flip
168
+ if ( position.x < 0.0 ) offset *= - 1.0;
161
169
 
162
- float forwardOffset = dot( worldDir, vec3( 0.0, 0.0, 1.0 ) );
170
+ float forwardOffset = dot( worldDir, vec3( 0.0, 0.0, 1.0 ) );
163
171
 
164
- // don't extend the line if we're rendering dashes because we
165
- // won't be rendering the endcaps
166
- #ifndef USE_DASH
172
+ // don't extend the line if we're rendering dashes because we
173
+ // won't be rendering the endcaps
174
+ #ifndef USE_DASH
167
175
 
168
- // extend the line bounds to encompass endcaps
169
- start.xyz += - worldDir * linewidth * 0.5;
170
- end.xyz += worldDir * linewidth * 0.5;
176
+ // extend the line bounds to encompass endcaps
177
+ start.xyz += - worldDir * linewidth * 0.5;
178
+ end.xyz += worldDir * linewidth * 0.5;
171
179
 
172
- // shift the position of the quad so it hugs the forward edge of the line
173
- offset.xy -= dir * forwardOffset;
174
- offset.z += 0.5;
180
+ // shift the position of the quad so it hugs the forward edge of the line
181
+ offset.xy -= dir * forwardOffset;
182
+ offset.z += 0.5;
175
183
 
176
- #endif
184
+ #endif
177
185
 
178
- // endcaps
179
- if ( position.y > 1.0 || position.y < 0.0 ) {
186
+ // endcaps
187
+ if ( position.y > 1.0 || position.y < 0.0 ) {
180
188
 
181
- offset.xy += dir * 2.0 * forwardOffset;
189
+ offset.xy += dir * 2.0 * forwardOffset;
182
190
 
183
- }
191
+ }
184
192
 
185
- // adjust for linewidth
186
- offset *= linewidth * 0.5;
193
+ // adjust for linewidth
194
+ offset *= linewidth * 0.5;
187
195
 
188
- // set the world position
189
- worldPos = ( position.y < 0.5 ) ? start : end;
190
- worldPos.xyz += offset;
196
+ // set the world position
197
+ worldPos = ( position.y < 0.5 ) ? start : end;
198
+ worldPos.xyz += offset;
191
199
 
192
- // project the worldpos
193
- vec4 clip = projectionMatrix * worldPos;
200
+ // project the worldpos
201
+ vec4 clip = projectionMatrix * worldPos;
194
202
 
195
- // shift the depth of the projected points so the line
196
- // segments overlap neatly
197
- vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;
198
- clip.z = clipPose.z * clip.w;
203
+ // shift the depth of the projected points so the line
204
+ // segments overlap neatly
205
+ vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;
206
+ clip.z = clipPose.z * clip.w;
199
207
 
200
- #else
208
+ #else
201
209
 
202
- vec2 offset = vec2( dir.y, - dir.x );
203
- // undo aspect ratio adjustment
204
- dir.x /= aspect;
205
- offset.x /= aspect;
210
+ vec2 offset = vec2( dir.y, - dir.x );
211
+ // undo aspect ratio adjustment
212
+ dir.x /= aspect;
213
+ offset.x /= aspect;
206
214
 
207
- // sign flip
208
- if ( position.x < 0.0 ) offset *= - 1.0;
215
+ // sign flip
216
+ if ( position.x < 0.0 ) offset *= - 1.0;
209
217
 
210
- // endcaps
211
- if ( position.y < 0.0 ) {
218
+ // endcaps
219
+ if ( position.y < 0.0 ) {
212
220
 
213
- offset += - dir;
221
+ offset += - dir;
214
222
 
215
- } else if ( position.y > 1.0 ) {
223
+ } else if ( position.y > 1.0 ) {
216
224
 
217
- offset += dir;
225
+ offset += dir;
218
226
 
219
- }
227
+ }
220
228
 
221
- // adjust for linewidth
222
- offset *= linewidth;
229
+ // adjust for linewidth
230
+ offset *= linewidth;
223
231
 
224
- // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...
225
- offset /= resolution.y;
232
+ // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...
233
+ offset /= resolution.y;
226
234
 
227
- // select end
228
- vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;
235
+ // select end
236
+ vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;
229
237
 
230
- // back to clip space
231
- offset *= clip.w;
238
+ // back to clip space
239
+ offset *= clip.w;
232
240
 
233
- clip.xy += offset;
241
+ clip.xy += offset;
234
242
 
235
- #endif
243
+ #endif
236
244
 
237
- gl_Position = clip;
245
+ gl_Position = clip;
238
246
 
239
- vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation
247
+ vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation
240
248
 
241
- #include <logdepthbuf_vertex>
242
- #include <clipping_planes_vertex>
243
- #include <fog_vertex>
249
+ #include <logdepthbuf_vertex>
250
+ #include <clipping_planes_vertex>
251
+ #include <fog_vertex>
244
252
 
245
- }
246
- `
247
- ),
248
- fragmentShader: (
249
- /* glsl */
250
- `
251
- uniform vec3 diffuse;
252
- uniform float opacity;
253
- uniform float linewidth;
253
+ }
254
+ `
255
+ ),
256
+ fragmentShader: (
257
+ /* glsl */
258
+ `
259
+ uniform vec3 diffuse;
260
+ uniform float opacity;
261
+ uniform float linewidth;
254
262
 
255
- #ifdef USE_DASH
263
+ #ifdef USE_DASH
256
264
 
257
- uniform float dashOffset;
258
- uniform float dashSize;
259
- uniform float gapSize;
265
+ uniform float dashOffset;
266
+ uniform float dashSize;
267
+ uniform float gapSize;
260
268
 
261
- #endif
269
+ #endif
262
270
 
263
- varying float vLineDistance;
271
+ varying float vLineDistance;
264
272
 
265
- #ifdef WORLD_UNITS
273
+ #ifdef WORLD_UNITS
266
274
 
267
- varying vec4 worldPos;
268
- varying vec3 worldStart;
269
- varying vec3 worldEnd;
275
+ varying vec4 worldPos;
276
+ varying vec3 worldStart;
277
+ varying vec3 worldEnd;
270
278
 
271
- #ifdef USE_DASH
279
+ #ifdef USE_DASH
272
280
 
273
- varying vec2 vUv;
281
+ varying vec2 vUv;
274
282
 
275
- #endif
283
+ #endif
276
284
 
277
- #else
285
+ #else
278
286
 
279
- varying vec2 vUv;
287
+ varying vec2 vUv;
280
288
 
281
- #endif
289
+ #endif
282
290
 
283
- #include <common>
284
- #include <color_pars_fragment>
285
- #include <fog_pars_fragment>
286
- #include <logdepthbuf_pars_fragment>
287
- #include <clipping_planes_pars_fragment>
291
+ #include <common>
292
+ #include <color_pars_fragment>
293
+ #include <fog_pars_fragment>
294
+ #include <logdepthbuf_pars_fragment>
295
+ #include <clipping_planes_pars_fragment>
288
296
 
289
- vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {
297
+ vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {
290
298
 
291
- float mua;
292
- float mub;
299
+ float mua;
300
+ float mub;
293
301
 
294
- vec3 p13 = p1 - p3;
295
- vec3 p43 = p4 - p3;
302
+ vec3 p13 = p1 - p3;
303
+ vec3 p43 = p4 - p3;
296
304
 
297
- vec3 p21 = p2 - p1;
305
+ vec3 p21 = p2 - p1;
298
306
 
299
- float d1343 = dot( p13, p43 );
300
- float d4321 = dot( p43, p21 );
301
- float d1321 = dot( p13, p21 );
302
- float d4343 = dot( p43, p43 );
303
- float d2121 = dot( p21, p21 );
307
+ float d1343 = dot( p13, p43 );
308
+ float d4321 = dot( p43, p21 );
309
+ float d1321 = dot( p13, p21 );
310
+ float d4343 = dot( p43, p43 );
311
+ float d2121 = dot( p21, p21 );
304
312
 
305
- float denom = d2121 * d4343 - d4321 * d4321;
313
+ float denom = d2121 * d4343 - d4321 * d4321;
306
314
 
307
- float numer = d1343 * d4321 - d1321 * d4343;
315
+ float numer = d1343 * d4321 - d1321 * d4343;
308
316
 
309
- mua = numer / denom;
310
- mua = clamp( mua, 0.0, 1.0 );
311
- mub = ( d1343 + d4321 * ( mua ) ) / d4343;
312
- mub = clamp( mub, 0.0, 1.0 );
317
+ mua = numer / denom;
318
+ mua = clamp( mua, 0.0, 1.0 );
319
+ mub = ( d1343 + d4321 * ( mua ) ) / d4343;
320
+ mub = clamp( mub, 0.0, 1.0 );
313
321
 
314
- return vec2( mua, mub );
322
+ return vec2( mua, mub );
315
323
 
316
- }
324
+ }
317
325
 
318
- void main() {
326
+ void main() {
319
327
 
320
- #include <clipping_planes_fragment>
328
+ #include <clipping_planes_fragment>
321
329
 
322
- #ifdef USE_DASH
330
+ #ifdef USE_DASH
323
331
 
324
- if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps
332
+ if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps
325
333
 
326
- if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX
334
+ if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX
327
335
 
328
- #endif
336
+ #endif
329
337
 
330
- float alpha = opacity;
338
+ float alpha = opacity;
331
339
 
332
- #ifdef WORLD_UNITS
340
+ #ifdef WORLD_UNITS
333
341
 
334
- // Find the closest points on the view ray and the line segment
335
- vec3 rayEnd = normalize( worldPos.xyz ) * 1e5;
336
- vec3 lineDir = worldEnd - worldStart;
337
- vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );
342
+ // Find the closest points on the view ray and the line segment
343
+ vec3 rayEnd = normalize( worldPos.xyz ) * 1e5;
344
+ vec3 lineDir = worldEnd - worldStart;
345
+ vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );
338
346
 
339
- vec3 p1 = worldStart + lineDir * params.x;
340
- vec3 p2 = rayEnd * params.y;
341
- vec3 delta = p1 - p2;
342
- float len = length( delta );
343
- float norm = len / linewidth;
347
+ vec3 p1 = worldStart + lineDir * params.x;
348
+ vec3 p2 = rayEnd * params.y;
349
+ vec3 delta = p1 - p2;
350
+ float len = length( delta );
351
+ float norm = len / linewidth;
344
352
 
345
- #ifndef USE_DASH
353
+ #ifndef USE_DASH
346
354
 
347
- #ifdef USE_ALPHA_TO_COVERAGE
355
+ #ifdef USE_ALPHA_TO_COVERAGE
348
356
 
349
- float dnorm = fwidth( norm );
350
- alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );
357
+ float dnorm = fwidth( norm );
358
+ alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );
351
359
 
352
- #else
360
+ #else
353
361
 
354
- if ( norm > 0.5 ) {
362
+ if ( norm > 0.5 ) {
355
363
 
356
- discard;
364
+ discard;
357
365
 
358
- }
366
+ }
359
367
 
360
- #endif
368
+ #endif
361
369
 
362
- #endif
370
+ #endif
363
371
 
364
- #else
372
+ #else
365
373
 
366
- #ifdef USE_ALPHA_TO_COVERAGE
374
+ #ifdef USE_ALPHA_TO_COVERAGE
367
375
 
368
- // artifacts appear on some hardware if a derivative is taken within a conditional
369
- float a = vUv.x;
370
- float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
371
- float len2 = a * a + b * b;
372
- float dlen = fwidth( len2 );
376
+ // artifacts appear on some hardware if a derivative is taken within a conditional
377
+ float a = vUv.x;
378
+ float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
379
+ float len2 = a * a + b * b;
380
+ float dlen = fwidth( len2 );
373
381
 
374
- if ( abs( vUv.y ) > 1.0 ) {
382
+ if ( abs( vUv.y ) > 1.0 ) {
375
383
 
376
- alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );
384
+ alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );
377
385
 
378
- }
386
+ }
379
387
 
380
- #else
388
+ #else
381
389
 
382
- if ( abs( vUv.y ) > 1.0 ) {
390
+ if ( abs( vUv.y ) > 1.0 ) {
383
391
 
384
- float a = vUv.x;
385
- float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
386
- float len2 = a * a + b * b;
392
+ float a = vUv.x;
393
+ float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
394
+ float len2 = a * a + b * b;
387
395
 
388
- if ( len2 > 1.0 ) discard;
396
+ if ( len2 > 1.0 ) discard;
389
397
 
390
- }
398
+ }
391
399
 
392
- #endif
400
+ #endif
393
401
 
394
- #endif
402
+ #endif
395
403
 
396
- vec4 diffuseColor = vec4( diffuse, alpha );
404
+ vec4 diffuseColor = vec4( diffuse, alpha );
397
405
 
398
- #include <logdepthbuf_fragment>
399
- #include <color_fragment>
406
+ #include <logdepthbuf_fragment>
407
+ #include <color_fragment>
400
408
 
401
- gl_FragColor = vec4( diffuseColor.rgb, alpha );
409
+ gl_FragColor = vec4( diffuseColor.rgb, alpha );
402
410
 
403
- #include <tonemapping_fragment>
404
- #include <encodings_fragment>
405
- #include <fog_fragment>
406
- #include <premultiplied_alpha_fragment>
411
+ #include <tonemapping_fragment>
412
+ #include <encodings_fragment>
413
+ #include <fog_fragment>
414
+ #include <premultiplied_alpha_fragment>
407
415
 
408
- }
409
- `
410
- )
411
- };
412
- class LineMaterial extends THREE.ShaderMaterial {
413
- constructor(parameters) {
414
- super({
415
- type: "LineMaterial",
416
- uniforms: THREE.UniformsUtils.clone(THREE.ShaderLib["line"].uniforms),
417
- vertexShader: THREE.ShaderLib["line"].vertexShader,
418
- fragmentShader: THREE.ShaderLib["line"].fragmentShader,
416
+ }
417
+ `
418
+ ),
419
419
  clipping: true
420
420
  // required for clipping support
421
421
  });