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