super-three 0.144.0 → 0.147.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 (450) hide show
  1. package/README.md +1 -1
  2. package/build/three.cjs +735 -387
  3. package/build/three.js +735 -387
  4. package/build/three.min.js +1 -1
  5. package/build/three.module.js +910 -408
  6. package/examples/js/animation/AnimationClipCreator.js +0 -8
  7. package/examples/js/animation/CCDIKSolver.js +50 -67
  8. package/examples/js/animation/MMDAnimationHelper.js +66 -137
  9. package/examples/js/animation/MMDPhysics.js +70 -134
  10. package/examples/js/cameras/CinematicCamera.js +33 -22
  11. package/examples/js/controls/ArcballControls.js +138 -405
  12. package/examples/js/controls/DragControls.js +8 -33
  13. package/examples/js/controls/FirstPersonControls.js +32 -54
  14. package/examples/js/controls/FlyControls.js +29 -55
  15. package/examples/js/controls/OrbitControls.js +125 -99
  16. package/examples/js/controls/PointerLockControls.js +5 -14
  17. package/examples/js/controls/TrackballControls.js +33 -86
  18. package/examples/js/controls/TransformControls.js +85 -170
  19. package/examples/js/csm/CSM.js +4 -39
  20. package/examples/js/csm/CSMFrustum.js +3 -9
  21. package/examples/js/csm/CSMHelper.js +24 -4
  22. package/examples/js/csm/CSMShader.js +2 -6
  23. package/examples/js/curves/CurveExtras.js +27 -27
  24. package/examples/js/curves/NURBSCurve.js +4 -16
  25. package/examples/js/curves/NURBSSurface.js +3 -9
  26. package/examples/js/curves/NURBSUtils.js +8 -45
  27. package/examples/js/effects/AnaglyphEffect.js +4 -18
  28. package/examples/js/effects/AsciiEffect.js +32 -31
  29. package/examples/js/effects/OutlineEffect.js +26 -30
  30. package/examples/js/effects/ParallaxBarrierEffect.js +0 -13
  31. package/examples/js/effects/PeppersGhostEffect.js +12 -39
  32. package/examples/js/effects/StereoEffect.js +0 -4
  33. package/examples/js/environments/RoomEnvironment.js +12 -10
  34. package/examples/js/exporters/ColladaExporter.js +48 -65
  35. package/examples/js/exporters/DRACOExporter.js +22 -22
  36. package/examples/js/exporters/EXRExporter.js +15 -18
  37. package/examples/js/exporters/GLTFExporter.js +141 -317
  38. package/examples/js/exporters/MMDExporter.js +5 -12
  39. package/examples/js/exporters/OBJExporter.js +42 -33
  40. package/examples/js/exporters/PLYExporter.js +38 -33
  41. package/examples/js/exporters/STLExporter.js +5 -7
  42. package/examples/js/exporters/USDZExporter.js +113 -27
  43. package/examples/js/geometries/BoxLineGeometry.js +0 -1
  44. package/examples/js/geometries/ConvexGeometry.js +11 -6
  45. package/examples/js/geometries/DecalGeometry.js +53 -20
  46. package/examples/js/geometries/LightningStrike.js +54 -67
  47. package/examples/js/geometries/ParametricGeometries.js +8 -7
  48. package/examples/js/geometries/ParametricGeometry.js +25 -12
  49. package/examples/js/geometries/RoundedBoxGeometry.js +21 -19
  50. package/examples/js/geometries/TeapotGeometry.js +54 -50
  51. package/examples/js/geometries/TextGeometry.js +6 -4
  52. package/examples/js/helpers/LightProbeHelper.js +1 -2
  53. package/examples/js/helpers/OctreeHelper.js +22 -20
  54. package/examples/js/helpers/PositionalAudioHelper.js +8 -6
  55. package/examples/js/helpers/RectAreaLightHelper.js +6 -7
  56. package/examples/js/helpers/VertexNormalsHelper.js +15 -13
  57. package/examples/js/helpers/VertexTangentsHelper.js +15 -9
  58. package/examples/js/helpers/ViewHelper.js +31 -16
  59. package/examples/js/interactive/HTMLMesh.js +25 -39
  60. package/examples/js/interactive/InteractiveGroup.js +9 -14
  61. package/examples/js/interactive/SelectionBox.js +3 -70
  62. package/examples/js/interactive/SelectionHelper.js +0 -8
  63. package/examples/js/lights/LightProbeGenerator.js +32 -39
  64. package/examples/js/lights/RectAreaLightUniformsLib.js +5 -1
  65. package/examples/js/lines/LineGeometry.js +3 -5
  66. package/examples/js/lines/LineMaterial.js +4 -11
  67. package/examples/js/lines/LineSegments2.js +40 -89
  68. package/examples/js/lines/LineSegmentsGeometry.js +7 -28
  69. package/examples/js/lines/Wireframe.js +2 -7
  70. package/examples/js/lines/WireframeGeometry2.js +3 -1
  71. package/examples/js/loaders/3DMLoader.js +58 -155
  72. package/examples/js/loaders/3MFLoader.js +72 -106
  73. package/examples/js/loaders/AMFLoader.js +0 -25
  74. package/examples/js/loaders/BVHLoader.js +44 -43
  75. package/examples/js/loaders/BasisTextureLoader.js +16 -46
  76. package/examples/js/loaders/ColladaLoader.js +228 -359
  77. package/examples/js/loaders/DDSLoader.js +24 -25
  78. package/examples/js/loaders/DRACOLoader.js +29 -66
  79. package/examples/js/loaders/EXRLoader.js +67 -164
  80. package/examples/js/loaders/FBXLoader.js +287 -441
  81. package/examples/js/loaders/FontLoader.js +6 -15
  82. package/examples/js/loaders/GCodeLoader.js +15 -16
  83. package/examples/js/loaders/GLTFLoader.js +409 -706
  84. package/examples/js/loaders/HDRCubeTextureLoader.js +0 -6
  85. package/examples/js/loaders/KMZLoader.js +3 -7
  86. package/examples/js/loaders/KTXLoader.js +12 -30
  87. package/examples/js/loaders/LDrawLoader.js +178 -289
  88. package/examples/js/loaders/LUT3dlLoader.js +7 -11
  89. package/examples/js/loaders/LUTCubeLoader.js +0 -8
  90. package/examples/js/loaders/LWOLoader.js +59 -124
  91. package/examples/js/loaders/LogLuvLoader.js +27 -77
  92. package/examples/js/loaders/LottieLoader.js +4 -4
  93. package/examples/js/loaders/MD2Loader.js +26 -27
  94. package/examples/js/loaders/MDDLoader.js +6 -10
  95. package/examples/js/loaders/MMDLoader.js +180 -189
  96. package/examples/js/loaders/MTLLoader.js +18 -47
  97. package/examples/js/loaders/NRRDLoader.js +44 -84
  98. package/examples/js/loaders/OBJLoader.js +50 -65
  99. package/examples/js/loaders/PCDLoader.js +34 -29
  100. package/examples/js/loaders/PDBLoader.js +17 -13
  101. package/examples/js/loaders/PLYLoader.js +62 -48
  102. package/examples/js/loaders/PRWMLoader.js +11 -22
  103. package/examples/js/loaders/PVRLoader.js +7 -16
  104. package/examples/js/loaders/RGBELoader.js +36 -61
  105. package/examples/js/loaders/RGBMLoader.js +26 -87
  106. package/examples/js/loaders/STLLoader.js +20 -27
  107. package/examples/js/loaders/SVGLoader.js +361 -233
  108. package/examples/js/loaders/TDSLoader.js +81 -118
  109. package/examples/js/loaders/TGALoader.js +39 -41
  110. package/examples/js/loaders/TIFFLoader.js +0 -1
  111. package/examples/js/loaders/TTFLoader.js +0 -8
  112. package/examples/js/loaders/TiltLoader.js +14 -15
  113. package/examples/js/loaders/VOXLoader.js +8 -16
  114. package/examples/js/loaders/VRMLLoader.js +243 -340
  115. package/examples/js/loaders/VTKLoader.js +101 -118
  116. package/examples/js/loaders/XYZLoader.js +2 -4
  117. package/examples/js/loaders/lwo/IFFParser.js +55 -136
  118. package/examples/js/loaders/lwo/LWO2Parser.js +32 -83
  119. package/examples/js/loaders/lwo/LWO3Parser.js +31 -73
  120. package/examples/js/materials/MeshGouraudMaterial.js +15 -13
  121. package/examples/js/math/Capsule.js +0 -17
  122. package/examples/js/math/ColorConverter.js +3 -3
  123. package/examples/js/math/ConvexHull.js +185 -141
  124. package/examples/js/math/ImprovedNoise.js +1 -1
  125. package/examples/js/math/Lut.js +8 -15
  126. package/examples/js/math/MeshSurfaceSampler.js +6 -28
  127. package/examples/js/math/OBB.js +90 -49
  128. package/examples/js/math/Octree.js +2 -57
  129. package/examples/js/math/SimplexNoise.js +74 -88
  130. package/examples/js/misc/ConvexObjectBreaker.js +37 -48
  131. package/examples/js/misc/GPUComputationRenderer.js +26 -16
  132. package/examples/js/misc/Gyroscope.js +5 -9
  133. package/examples/js/misc/MD2Character.js +14 -23
  134. package/examples/js/misc/MD2CharacterComplex.js +73 -54
  135. package/examples/js/misc/MorphAnimMesh.js +0 -6
  136. package/examples/js/misc/MorphBlendMesh.js +3 -30
  137. package/examples/js/misc/ProgressiveLightMap.js +47 -43
  138. package/examples/js/misc/RollerCoaster.js +17 -24
  139. package/examples/js/misc/TubePainter.js +18 -12
  140. package/examples/js/misc/Volume.js +16 -45
  141. package/examples/js/misc/VolumeSlice.js +14 -24
  142. package/examples/js/modifiers/CurveModifier.js +19 -21
  143. package/examples/js/modifiers/EdgeSplitModifier.js +0 -30
  144. package/examples/js/modifiers/SimplifyModifier.js +56 -59
  145. package/examples/js/modifiers/TessellateModifier.js +2 -9
  146. package/examples/js/objects/GroundProjectedEnv.js +2 -14
  147. package/examples/js/objects/Lensflare.js +47 -38
  148. package/examples/js/objects/LightningStorm.js +10 -13
  149. package/examples/js/objects/MarchingCubes.js +80 -59
  150. package/examples/js/objects/Reflector.js +22 -20
  151. package/examples/js/objects/ReflectorForSSRPass.js +19 -23
  152. package/examples/js/objects/Refractor.js +52 -30
  153. package/examples/js/objects/ShadowMesh.js +1 -2
  154. package/examples/js/objects/Sky.js +2 -7
  155. package/examples/js/objects/Water.js +23 -18
  156. package/examples/js/objects/Water2.js +20 -19
  157. package/examples/js/physics/AmmoPhysics.js +23 -20
  158. package/examples/js/physics/OimoPhysics.js +19 -17
  159. package/examples/js/postprocessing/AdaptiveToneMappingPass.js +13 -20
  160. package/examples/js/postprocessing/AfterimagePass.js +19 -12
  161. package/examples/js/postprocessing/BloomPass.js +38 -17
  162. package/examples/js/postprocessing/BokehPass.js +29 -12
  163. package/examples/js/postprocessing/ClearPass.js +1 -6
  164. package/examples/js/postprocessing/CubeTexturePass.js +12 -9
  165. package/examples/js/postprocessing/DotScreenPass.js +7 -5
  166. package/examples/js/postprocessing/EffectComposer.js +25 -32
  167. package/examples/js/postprocessing/FilmPass.js +7 -5
  168. package/examples/js/postprocessing/GlitchPass.js +10 -11
  169. package/examples/js/postprocessing/HalftonePass.js +9 -9
  170. package/examples/js/postprocessing/LUTPass.js +2 -15
  171. package/examples/js/postprocessing/MaskPass.js +20 -17
  172. package/examples/js/postprocessing/OutlinePass.js +45 -36
  173. package/examples/js/postprocessing/Pass.js +11 -14
  174. package/examples/js/postprocessing/RenderPass.js +3 -7
  175. package/examples/js/postprocessing/RenderPixelatedPass.js +215 -0
  176. package/examples/js/postprocessing/SAOPass.js +40 -32
  177. package/examples/js/postprocessing/SMAAPass.js +34 -17
  178. package/examples/js/postprocessing/SSAARenderPass.js +14 -14
  179. package/examples/js/postprocessing/SSAOPass.js +56 -42
  180. package/examples/js/postprocessing/SSRPass.js +78 -61
  181. package/examples/js/postprocessing/SavePass.js +14 -6
  182. package/examples/js/postprocessing/ShaderPass.js +9 -8
  183. package/examples/js/postprocessing/TAARenderPass.js +11 -9
  184. package/examples/js/postprocessing/TexturePass.js +7 -4
  185. package/examples/js/postprocessing/UnrealBloomPass.js +43 -25
  186. package/examples/js/renderers/CSS2DRenderer.js +2 -21
  187. package/examples/js/renderers/CSS3DRenderer.js +3 -24
  188. package/examples/js/renderers/Projector.js +29 -85
  189. package/examples/js/renderers/SVGRenderer.js +4 -50
  190. package/examples/js/shaders/ACESFilmicToneMappingShader.js +3 -6
  191. package/examples/js/shaders/AfterimageShader.js +3 -6
  192. package/examples/js/shaders/BasicShader.js +3 -6
  193. package/examples/js/shaders/BleachBypassShader.js +3 -6
  194. package/examples/js/shaders/BlendShader.js +3 -6
  195. package/examples/js/shaders/BokehShader.js +3 -6
  196. package/examples/js/shaders/BokehShader2.js +4 -13
  197. package/examples/js/shaders/BrightnessContrastShader.js +3 -6
  198. package/examples/js/shaders/ColorCorrectionShader.js +2 -6
  199. package/examples/js/shaders/ColorifyShader.js +2 -6
  200. package/examples/js/shaders/ConvolutionShader.js +5 -10
  201. package/examples/js/shaders/CopyShader.js +3 -6
  202. package/examples/js/shaders/DOFMipMapShader.js +3 -6
  203. package/examples/js/shaders/DepthLimitedBlurShader.js +2 -9
  204. package/examples/js/shaders/DigitalGlitch.js +3 -6
  205. package/examples/js/shaders/DotScreenShader.js +2 -6
  206. package/examples/js/shaders/FXAAShader.js +1 -3
  207. package/examples/js/shaders/FilmShader.js +3 -6
  208. package/examples/js/shaders/FocusShader.js +3 -6
  209. package/examples/js/shaders/FreiChenShader.js +2 -6
  210. package/examples/js/shaders/GammaCorrectionShader.js +3 -6
  211. package/examples/js/shaders/GodRaysShader.js +11 -24
  212. package/examples/js/shaders/HalftoneShader.js +3 -6
  213. package/examples/js/shaders/HorizontalBlurShader.js +3 -6
  214. package/examples/js/shaders/HorizontalTiltShiftShader.js +3 -6
  215. package/examples/js/shaders/HueSaturationShader.js +3 -6
  216. package/examples/js/shaders/KaleidoShader.js +3 -6
  217. package/examples/js/shaders/LuminosityHighPassShader.js +2 -6
  218. package/examples/js/shaders/LuminosityShader.js +3 -6
  219. package/examples/js/shaders/MMDToonShader.js +2 -8
  220. package/examples/js/shaders/MirrorShader.js +3 -6
  221. package/examples/js/shaders/NormalMapShader.js +2 -6
  222. package/examples/js/shaders/RGBShiftShader.js +3 -6
  223. package/examples/js/shaders/SAOShader.js +2 -6
  224. package/examples/js/shaders/SMAAShader.js +6 -18
  225. package/examples/js/shaders/SSAOShader.js +2 -6
  226. package/examples/js/shaders/SSRShader.js +6 -18
  227. package/examples/js/shaders/SepiaShader.js +3 -6
  228. package/examples/js/shaders/SobelOperatorShader.js +2 -6
  229. package/examples/js/shaders/TechnicolorShader.js +3 -6
  230. package/examples/js/shaders/ToneMapShader.js +3 -6
  231. package/examples/js/shaders/ToonShader.js +8 -24
  232. package/examples/js/shaders/TriangleBlurShader.js +2 -6
  233. package/examples/js/shaders/UnpackDepthRGBAShader.js +3 -6
  234. package/examples/js/shaders/VelocityShader.js +126 -0
  235. package/examples/js/shaders/VerticalBlurShader.js +3 -6
  236. package/examples/js/shaders/VerticalTiltShiftShader.js +3 -6
  237. package/examples/js/shaders/VignetteShader.js +3 -6
  238. package/examples/js/shaders/VolumeShader.js +2 -6
  239. package/examples/js/shaders/WaterRefractionShader.js +2 -6
  240. package/examples/js/textures/FlakesTexture.js +0 -1
  241. package/examples/js/utils/BufferGeometryUtils.js +236 -170
  242. package/examples/js/utils/CameraUtils.js +5 -20
  243. package/examples/js/utils/GPUStatsPanel.js +3 -12
  244. package/examples/js/utils/GeometryCompressionUtils.js +19 -44
  245. package/examples/js/utils/GeometryUtils.js +13 -18
  246. package/examples/js/utils/LDrawUtils.js +8 -11
  247. package/examples/js/utils/PackedPhongMaterial.js +6 -4
  248. package/examples/js/utils/SceneUtils.js +117 -6
  249. package/examples/js/utils/ShadowMapViewer.js +17 -14
  250. package/examples/js/utils/SkeletonUtils.js +13 -27
  251. package/examples/js/utils/UVsDebug.js +20 -12
  252. package/examples/js/utils/WorkerPool.js +1 -11
  253. package/examples/jsm/animation/CCDIKSolver.js +27 -3
  254. package/examples/jsm/animation/MMDPhysics.js +25 -0
  255. package/examples/jsm/capabilities/WebGPU.js +3 -1
  256. package/examples/jsm/controls/FirstPersonControls.js +20 -20
  257. package/examples/jsm/controls/FlyControls.js +16 -17
  258. package/examples/jsm/controls/OrbitControls.js +44 -4
  259. package/examples/jsm/controls/TrackballControls.js +14 -2
  260. package/examples/jsm/controls/TransformControls.js +1 -1
  261. package/examples/jsm/csm/CSM.js +1 -0
  262. package/examples/jsm/csm/CSMHelper.js +30 -0
  263. package/examples/jsm/exporters/GLTFExporter.js +0 -79
  264. package/examples/jsm/exporters/USDZExporter.js +93 -1
  265. package/examples/jsm/helpers/OctreeHelper.js +22 -8
  266. package/examples/jsm/helpers/VertexNormalsHelper.js +7 -1
  267. package/examples/jsm/helpers/VertexTangentsHelper.js +7 -0
  268. package/examples/jsm/helpers/ViewHelper.js +24 -0
  269. package/examples/jsm/interactive/HTMLMesh.js +5 -6
  270. package/examples/jsm/interactive/InteractiveGroup.js +4 -2
  271. package/examples/jsm/libs/flow.module.js +610 -160
  272. package/examples/jsm/libs/lottie_canvas.module.js +14844 -0
  273. package/examples/jsm/lines/LineSegments2.js +4 -0
  274. package/examples/jsm/loaders/3DMLoader.js +1 -2
  275. package/examples/jsm/loaders/ColladaLoader.js +28 -0
  276. package/examples/jsm/loaders/FBXLoader.js +18 -2
  277. package/examples/jsm/loaders/GLTFLoader.js +269 -428
  278. package/examples/jsm/loaders/KTX2Loader.js +68 -29
  279. package/examples/jsm/loaders/LDrawLoader.js +14 -13
  280. package/examples/jsm/loaders/LottieLoader.js +4 -2
  281. package/examples/jsm/loaders/MaterialXLoader.js +728 -0
  282. package/examples/jsm/loaders/PCDLoader.js +1 -1
  283. package/examples/jsm/loaders/PLYLoader.js +68 -16
  284. package/examples/jsm/loaders/SVGLoader.js +227 -14
  285. package/examples/jsm/loaders/USDZLoader.js +351 -111
  286. package/examples/jsm/loaders/VRMLLoader.js +13 -1
  287. package/examples/jsm/math/ConvexHull.js +4 -4
  288. package/examples/jsm/math/Octree.js +1 -1
  289. package/examples/jsm/node-editor/NodeEditor.js +91 -12
  290. package/examples/jsm/node-editor/core/BaseNode.js +10 -3
  291. package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +6 -9
  292. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +6 -9
  293. package/examples/jsm/node-editor/math/AngleEditor.js +3 -3
  294. package/examples/jsm/node-editor/math/InvertEditor.js +2 -2
  295. package/examples/jsm/node-editor/scene/MeshEditor.js +11 -8
  296. package/examples/jsm/node-editor/utils/PreviewEditor.js +4 -0
  297. package/examples/jsm/nodes/Nodes.js +30 -3
  298. package/examples/jsm/nodes/accessors/BitangentNode.js +62 -0
  299. package/examples/jsm/nodes/accessors/NormalNode.js +6 -6
  300. package/examples/jsm/nodes/accessors/Object3DNode.js +1 -1
  301. package/examples/jsm/nodes/accessors/PositionNode.js +6 -0
  302. package/examples/jsm/nodes/accessors/ReferenceNode.js +1 -1
  303. package/examples/jsm/nodes/accessors/SkinningNode.js +8 -1
  304. package/examples/jsm/nodes/accessors/TangentNode.js +95 -0
  305. package/examples/jsm/nodes/core/AttributeNode.js +31 -8
  306. package/examples/jsm/nodes/core/Node.js +1 -1
  307. package/examples/jsm/nodes/core/NodeBuilder.js +55 -6
  308. package/examples/jsm/nodes/core/NodeFrame.js +2 -2
  309. package/examples/jsm/nodes/core/NodeVarying.js +7 -4
  310. package/examples/jsm/nodes/core/VaryingNode.js +6 -4
  311. package/examples/jsm/nodes/core/constants.js +13 -13
  312. package/examples/jsm/nodes/display/BlendModeNode.js +85 -0
  313. package/examples/jsm/nodes/display/ColorAdjustmentNode.js +2 -12
  314. package/examples/jsm/nodes/display/NormalMapNode.js +19 -12
  315. package/examples/jsm/nodes/display/PosterizeNode.js +25 -0
  316. package/examples/jsm/nodes/display/ViewportNode.js +106 -0
  317. package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +5 -5
  318. package/examples/jsm/nodes/functions/PhysicalLightingModel.js +3 -3
  319. package/examples/jsm/nodes/functions/light/getDistanceAttenuation.js +2 -2
  320. package/examples/jsm/nodes/gpgpu/ComputeNode.js +1 -1
  321. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +1 -1
  322. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +3 -1
  323. package/examples/jsm/nodes/materials/Materials.js +9 -7
  324. package/examples/jsm/nodes/materials/NodeMaterial.js +9 -1
  325. package/examples/jsm/nodes/materialx/{Disclaimer.md → DISCLAIMER.md} +1 -1
  326. package/examples/jsm/nodes/materialx/MaterialXNodes.js +59 -0
  327. package/examples/jsm/nodes/materialx/{functions/lib → lib}/mx_hsv.js +1 -1
  328. package/examples/jsm/nodes/materialx/{functions/lib → lib}/mx_noise.js +13 -3
  329. package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +18 -0
  330. package/examples/jsm/nodes/math/MathNode.js +5 -5
  331. package/examples/jsm/nodes/math/OperatorNode.js +16 -3
  332. package/examples/jsm/nodes/shadernode/ShaderNode.js +35 -20
  333. package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +87 -63
  334. package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +29 -0
  335. package/examples/jsm/nodes/utils/ConvertNode.js +15 -14
  336. package/examples/jsm/nodes/utils/EquirectUVNode.js +27 -0
  337. package/examples/jsm/nodes/utils/JoinNode.js +8 -2
  338. package/examples/jsm/nodes/utils/MatcapUVNode.js +2 -4
  339. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +1 -1
  340. package/examples/jsm/nodes/utils/OscNode.js +2 -2
  341. package/examples/jsm/nodes/utils/RemapNode.js +34 -0
  342. package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +8 -10
  343. package/examples/jsm/nodes/utils/TimerNode.js +21 -1
  344. package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +51 -0
  345. package/examples/jsm/postprocessing/AfterimagePass.js +17 -4
  346. package/examples/jsm/postprocessing/BloomPass.js +22 -3
  347. package/examples/jsm/postprocessing/BokehPass.js +18 -4
  348. package/examples/jsm/postprocessing/CubeTexturePass.js +12 -5
  349. package/examples/jsm/postprocessing/DotScreenPass.js +8 -0
  350. package/examples/jsm/postprocessing/EffectComposer.js +9 -0
  351. package/examples/jsm/postprocessing/FilmPass.js +8 -0
  352. package/examples/jsm/postprocessing/GlitchPass.js +13 -1
  353. package/examples/jsm/postprocessing/HalftonePass.js +8 -0
  354. package/examples/jsm/postprocessing/OutlinePass.js +21 -1
  355. package/examples/jsm/postprocessing/Pass.js +2 -0
  356. package/examples/jsm/postprocessing/RenderPixelatedPass.js +234 -0
  357. package/examples/jsm/postprocessing/SAOPass.js +20 -0
  358. package/examples/jsm/postprocessing/SMAAPass.js +16 -0
  359. package/examples/jsm/postprocessing/SSAARenderPass.js +4 -0
  360. package/examples/jsm/postprocessing/SavePass.js +17 -1
  361. package/examples/jsm/postprocessing/ShaderPass.js +8 -0
  362. package/examples/jsm/postprocessing/TAARenderPass.js +9 -0
  363. package/examples/jsm/postprocessing/TexturePass.js +8 -0
  364. package/examples/jsm/postprocessing/UnrealBloomPass.js +16 -0
  365. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +56 -35
  366. package/examples/jsm/renderers/webgpu/WebGPUAnimation.js +58 -0
  367. package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +63 -5
  368. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +36 -7
  369. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +47 -12
  370. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +41 -9
  371. package/examples/jsm/shaders/MMDToonShader.js +0 -2
  372. package/examples/jsm/shaders/VelocityShader.js +128 -0
  373. package/examples/jsm/utils/BufferGeometryUtils.js +174 -42
  374. package/examples/jsm/utils/SceneUtils.js +129 -4
  375. package/examples/jsm/webxr/OculusHandModel.js +3 -2
  376. package/examples/jsm/webxr/XRHandMeshModel.js +8 -3
  377. package/package.json +13 -13
  378. package/src/Three.js +1 -0
  379. package/src/animation/PropertyBinding.js +7 -0
  380. package/src/audio/AudioContext.js +5 -5
  381. package/src/cameras/CubeCamera.js +14 -14
  382. package/src/constants.js +1 -1
  383. package/src/core/InstancedBufferGeometry.js +1 -7
  384. package/src/core/InterleavedBufferAttribute.js +4 -4
  385. package/src/extras/Earcut.js +67 -67
  386. package/src/geometries/PolyhedronGeometry.js +1 -1
  387. package/src/geometries/ShapeGeometry.js +1 -1
  388. package/src/helpers/ArrowHelper.js +9 -0
  389. package/src/helpers/Box3Helper.js +7 -0
  390. package/src/helpers/BoxHelper.js +7 -1
  391. package/src/helpers/DirectionalLightHelper.js +5 -1
  392. package/src/helpers/GridHelper.js +7 -0
  393. package/src/helpers/HemisphereLightHelper.js +4 -1
  394. package/src/helpers/PlaneHelper.js +9 -0
  395. package/src/helpers/PointLightHelper.js +2 -1
  396. package/src/helpers/PolarGridHelper.js +7 -0
  397. package/src/helpers/SkeletonHelper.js +7 -0
  398. package/src/helpers/SpotLightHelper.js +4 -2
  399. package/src/lights/LightShadow.js +1 -2
  400. package/src/lights/PointLight.js +2 -2
  401. package/src/lights/SpotLight.js +2 -2
  402. package/src/loaders/FileLoader.js +4 -1
  403. package/src/loaders/ObjectLoader.js +5 -1
  404. package/src/materials/Material.js +1 -1
  405. package/src/materials/MeshPhysicalMaterial.js +1 -1
  406. package/src/math/Color.js +5 -5
  407. package/src/math/Matrix3.js +53 -18
  408. package/src/math/Ray.js +2 -5
  409. package/src/math/Sphere.js +36 -21
  410. package/src/objects/InstancedMesh.js +7 -0
  411. package/src/objects/LOD.js +25 -6
  412. package/src/renderers/WebGL3DRenderTarget.js +1 -1
  413. package/src/renderers/WebGLArrayRenderTarget.js +1 -1
  414. package/src/renderers/WebGLCubeRenderTarget.js +1 -1
  415. package/src/renderers/WebGLMultipleRenderTargets.js +1 -1
  416. package/src/renderers/WebGLRenderTarget.js +1 -1
  417. package/src/renderers/WebGLRenderer.js +36 -62
  418. package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +0 -4
  419. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +0 -1
  420. package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +0 -2
  421. package/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +0 -2
  422. package/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +0 -2
  423. package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +2 -4
  424. package/src/renderers/shaders/ShaderChunk/packing.glsl.js +8 -0
  425. package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +2 -2
  426. package/src/renderers/shaders/ShaderChunk.js +3 -0
  427. package/src/renderers/shaders/ShaderLib/background.glsl.js +7 -2
  428. package/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +62 -0
  429. package/src/renderers/shaders/ShaderLib/cube.glsl.js +4 -6
  430. package/src/renderers/shaders/ShaderLib/vsm.glsl.js +0 -3
  431. package/src/renderers/shaders/ShaderLib.js +20 -6
  432. package/src/renderers/shaders/UniformsLib.js +1 -1
  433. package/src/renderers/shaders/UniformsUtils.js +15 -0
  434. package/src/renderers/webgl/WebGLAttributes.js +2 -0
  435. package/src/renderers/webgl/WebGLBackground.js +15 -7
  436. package/src/renderers/webgl/WebGLLights.js +0 -4
  437. package/src/renderers/webgl/WebGLMaterials.js +2 -1
  438. package/src/renderers/webgl/WebGLShadowMap.js +3 -1
  439. package/src/renderers/webgl/WebGLState.js +78 -41
  440. package/src/renderers/webgl/WebGLTextures.js +94 -39
  441. package/src/renderers/webgl/WebGLUniforms.js +152 -24
  442. package/src/renderers/webgl/WebGLUtils.js +1 -1
  443. package/src/renderers/webxr/WebXRController.js +46 -13
  444. package/src/renderers/webxr/WebXRManager.js +70 -2
  445. package/src/scenes/Scene.js +8 -0
  446. package/src/textures/CompressedArrayTexture.js +18 -0
  447. package/src/textures/Texture.js +2 -1
  448. package/examples/js/libs/lottie_canvas.js +0 -12751
  449. package/examples/js/shaders/PixelShader.js +0 -51
  450. package/examples/jsm/shaders/PixelShader.js +0 -44
@@ -18,9 +18,7 @@
18
18
  value: new THREE.Vector2( 1 / 1024, 1 / 512 )
19
19
  }
20
20
  },
21
- vertexShader:
22
- /* glsl */
23
- `
21
+ vertexShader: /* glsl */`
24
22
 
25
23
  uniform vec2 resolution;
26
24
 
@@ -42,9 +40,7 @@
42
40
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
43
41
 
44
42
  }`,
45
- fragmentShader:
46
- /* glsl */
47
- `
43
+ fragmentShader: /* glsl */`
48
44
 
49
45
  uniform sampler2D tDiffuse;
50
46
 
@@ -130,9 +126,7 @@
130
126
  value: new THREE.Vector2( 1 / 1024, 1 / 512 )
131
127
  }
132
128
  },
133
- vertexShader:
134
- /* glsl */
135
- `
129
+ vertexShader: /* glsl */`
136
130
 
137
131
  uniform vec2 resolution;
138
132
 
@@ -161,9 +155,7 @@
161
155
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
162
156
 
163
157
  }`,
164
- fragmentShader:
165
- /* glsl */
166
- `
158
+ fragmentShader: /* glsl */`
167
159
 
168
160
  #define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 )
169
161
 
@@ -377,9 +369,7 @@
377
369
  value: new THREE.Vector2( 1 / 1024, 1 / 512 )
378
370
  }
379
371
  },
380
- vertexShader:
381
- /* glsl */
382
- `
372
+ vertexShader: /* glsl */`
383
373
 
384
374
  uniform vec2 resolution;
385
375
 
@@ -400,9 +390,7 @@
400
390
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
401
391
 
402
392
  }`,
403
- fragmentShader:
404
- /* glsl */
405
- `
393
+ fragmentShader: /* glsl */`
406
394
 
407
395
  uniform sampler2D tDiffuse;
408
396
  uniform sampler2D tColor;
@@ -53,9 +53,7 @@
53
53
  value: 0.05
54
54
  }
55
55
  },
56
- vertexShader:
57
- /* glsl */
58
- `
56
+ vertexShader: /* glsl */`
59
57
 
60
58
  varying vec2 vUv;
61
59
 
@@ -66,9 +64,7 @@
66
64
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
67
65
 
68
66
  }`,
69
- fragmentShader:
70
- /* glsl */
71
- `
67
+ fragmentShader: /* glsl */`
72
68
 
73
69
  uniform sampler2D tDiffuse;
74
70
  uniform sampler2D tNormal;
@@ -55,9 +55,7 @@
55
55
  value: .018
56
56
  }
57
57
  },
58
- vertexShader:
59
- /* glsl */
60
- `
58
+ vertexShader: /* glsl */`
61
59
 
62
60
  varying vec2 vUv;
63
61
 
@@ -70,9 +68,7 @@
70
68
  }
71
69
 
72
70
  `,
73
- fragmentShader:
74
- /* glsl */
75
- `
71
+ fragmentShader: /* glsl */`
76
72
  // precision highp float;
77
73
  precision highp sampler2D;
78
74
  varying vec2 vUv;
@@ -266,9 +262,7 @@
266
262
  value: null
267
263
  }
268
264
  },
269
- vertexShader:
270
- /* glsl */
271
- `
265
+ vertexShader: /* glsl */`
272
266
 
273
267
  varying vec2 vUv;
274
268
 
@@ -280,9 +274,7 @@
280
274
  }
281
275
 
282
276
  `,
283
- fragmentShader:
284
- /* glsl */
285
- `
277
+ fragmentShader: /* glsl */`
286
278
 
287
279
  uniform sampler2D tDepth;
288
280
 
@@ -332,9 +324,7 @@
332
324
  value: .5
333
325
  }
334
326
  },
335
- vertexShader:
336
- /* glsl */
337
- `
327
+ vertexShader: /* glsl */`
338
328
 
339
329
  varying vec2 vUv;
340
330
 
@@ -346,9 +336,7 @@
346
336
  }
347
337
 
348
338
  `,
349
- fragmentShader:
350
- /* glsl */
351
- `
339
+ fragmentShader: /* glsl */`
352
340
 
353
341
  uniform sampler2D tDiffuse;
354
342
  uniform vec2 resolution;
@@ -5,6 +5,7 @@
5
5
  * based on glfx.js sepia shader
6
6
  * https://github.com/evanw/glfx.js
7
7
  */
8
+
8
9
  const SepiaShader = {
9
10
  uniforms: {
10
11
  'tDiffuse': {
@@ -14,9 +15,7 @@
14
15
  value: 1.0
15
16
  }
16
17
  },
17
- vertexShader:
18
- /* glsl */
19
- `
18
+ vertexShader: /* glsl */`
20
19
 
21
20
  varying vec2 vUv;
22
21
 
@@ -26,9 +25,7 @@
26
25
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
27
26
 
28
27
  }`,
29
- fragmentShader:
30
- /* glsl */
31
- `
28
+ fragmentShader: /* glsl */`
32
29
 
33
30
  uniform float amount;
34
31
 
@@ -16,9 +16,7 @@
16
16
  value: new THREE.Vector2()
17
17
  }
18
18
  },
19
- vertexShader:
20
- /* glsl */
21
- `
19
+ vertexShader: /* glsl */`
22
20
 
23
21
  varying vec2 vUv;
24
22
 
@@ -29,9 +27,7 @@
29
27
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
30
28
 
31
29
  }`,
32
- fragmentShader:
33
- /* glsl */
34
- `
30
+ fragmentShader: /* glsl */`
35
31
 
36
32
  uniform sampler2D tDiffuse;
37
33
  uniform vec2 resolution;
@@ -6,15 +6,14 @@
6
6
  * More historical info here: http://www.widescreenmuseum.com/oldcolor/technicolor1.htm
7
7
  * Demo here: http://charliehoey.com/technicolor_shader/shader_test.html
8
8
  */
9
+
9
10
  const TechnicolorShader = {
10
11
  uniforms: {
11
12
  'tDiffuse': {
12
13
  value: null
13
14
  }
14
15
  },
15
- vertexShader:
16
- /* glsl */
17
- `
16
+ vertexShader: /* glsl */`
18
17
 
19
18
  varying vec2 vUv;
20
19
 
@@ -24,9 +23,7 @@
24
23
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
25
24
 
26
25
  }`,
27
- fragmentShader:
28
- /* glsl */
29
- `
26
+ fragmentShader: /* glsl */`
30
27
 
31
28
  uniform sampler2D tDiffuse;
32
29
  varying vec2 vUv;
@@ -3,6 +3,7 @@
3
3
  /**
4
4
  * Full-screen tone-mapping shader based on http://www.cis.rit.edu/people/faculty/ferwerda/publications/sig02_paper.pdf
5
5
  */
6
+
6
7
  const ToneMapShader = {
7
8
  uniforms: {
8
9
  'tDiffuse': {
@@ -24,9 +25,7 @@
24
25
  value: 0.6
25
26
  }
26
27
  },
27
- vertexShader:
28
- /* glsl */
29
- `
28
+ vertexShader: /* glsl */`
30
29
 
31
30
  varying vec2 vUv;
32
31
 
@@ -36,9 +35,7 @@
36
35
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
37
36
 
38
37
  }`,
39
- fragmentShader:
40
- /* glsl */
41
- `
38
+ fragmentShader: /* glsl */`
42
39
 
43
40
  #include <common>
44
41
 
@@ -24,9 +24,7 @@
24
24
  value: new THREE.Color( 0xffffff )
25
25
  }
26
26
  },
27
- vertexShader:
28
- /* glsl */
29
- `
27
+ vertexShader: /* glsl */`
30
28
 
31
29
  varying vec3 vNormal;
32
30
  varying vec3 vRefract;
@@ -45,9 +43,7 @@
45
43
  gl_Position = projectionMatrix * mvPosition;
46
44
 
47
45
  }`,
48
- fragmentShader:
49
- /* glsl */
50
- `
46
+ fragmentShader: /* glsl */`
51
47
 
52
48
  uniform vec3 uBaseColor;
53
49
 
@@ -111,9 +107,7 @@
111
107
  value: new THREE.Color( 0x000000 )
112
108
  }
113
109
  },
114
- vertexShader:
115
- /* glsl */
116
- `
110
+ vertexShader: /* glsl */`
117
111
 
118
112
  varying vec3 vNormal;
119
113
 
@@ -123,9 +117,7 @@
123
117
  vNormal = normalize( normalMatrix * normal );
124
118
 
125
119
  }`,
126
- fragmentShader:
127
- /* glsl */
128
- `
120
+ fragmentShader: /* glsl */`
129
121
 
130
122
  uniform vec3 uBaseColor;
131
123
  uniform vec3 uLineColor1;
@@ -188,9 +180,7 @@
188
180
  value: new THREE.Color( 0x000000 )
189
181
  }
190
182
  },
191
- vertexShader:
192
- /* glsl */
193
- `
183
+ vertexShader: /* glsl */`
194
184
 
195
185
  varying vec3 vNormal;
196
186
 
@@ -200,9 +190,7 @@
200
190
  vNormal = normalize( normalMatrix * normal );
201
191
 
202
192
  }`,
203
- fragmentShader:
204
- /* glsl */
205
- `
193
+ fragmentShader: /* glsl */`
206
194
 
207
195
  uniform vec3 uBaseColor;
208
196
  uniform vec3 uLineColor1;
@@ -284,9 +272,7 @@
284
272
  value: new THREE.Color( 0x000000 )
285
273
  }
286
274
  },
287
- vertexShader:
288
- /* glsl */
289
- `
275
+ vertexShader: /* glsl */`
290
276
 
291
277
  varying vec3 vNormal;
292
278
 
@@ -296,9 +282,7 @@
296
282
  vNormal = normalize( normalMatrix * normal );
297
283
 
298
284
  }`,
299
- fragmentShader:
300
- /* glsl */
301
- `
285
+ fragmentShader: /* glsl */`
302
286
 
303
287
  uniform vec3 uBaseColor;
304
288
  uniform vec3 uLineColor1;
@@ -19,9 +19,7 @@
19
19
  value: new THREE.Vector2( 1, 1 )
20
20
  }
21
21
  },
22
- vertexShader:
23
- /* glsl */
24
- `
22
+ vertexShader: /* glsl */`
25
23
 
26
24
  varying vec2 vUv;
27
25
 
@@ -31,9 +29,7 @@
31
29
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
32
30
 
33
31
  }`,
34
- fragmentShader:
35
- /* glsl */
36
- `
32
+ fragmentShader: /* glsl */`
37
33
 
38
34
  #include <common>
39
35
 
@@ -4,6 +4,7 @@
4
4
  * Unpack RGBA depth shader
5
5
  * - show RGBA encoded depth as monochrome color
6
6
  */
7
+
7
8
  const UnpackDepthRGBAShader = {
8
9
  uniforms: {
9
10
  'tDiffuse': {
@@ -13,9 +14,7 @@
13
14
  value: 1.0
14
15
  }
15
16
  },
16
- vertexShader:
17
- /* glsl */
18
- `
17
+ vertexShader: /* glsl */`
19
18
 
20
19
  varying vec2 vUv;
21
20
 
@@ -25,9 +24,7 @@
25
24
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
26
25
 
27
26
  }`,
28
- fragmentShader:
29
- /* glsl */
30
- `
27
+ fragmentShader: /* glsl */`
31
28
 
32
29
  uniform float opacity;
33
30
 
@@ -0,0 +1,126 @@
1
+ ( function () {
2
+
3
+ /**
4
+ * Mesh Velocity Shader @bhouston
5
+ */
6
+
7
+ const VelocityShader = {
8
+ uniforms: THREE.UniformsUtils.merge( [ THREE.UniformsLib.common, THREE.UniformsLib.displacementmap, {
9
+ modelMatrixPrev: {
10
+ value: new THREE.Matrix4()
11
+ },
12
+ currentProjectionViewMatrix: {
13
+ value: new THREE.Matrix4()
14
+ },
15
+ previousProjectionViewMatrix: {
16
+ value: new THREE.Matrix4()
17
+ }
18
+ } ] ),
19
+ vertexShader: /* glsl */`
20
+ #define NORMAL
21
+
22
+ #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )
23
+
24
+ varying vec3 vViewPosition;
25
+
26
+ #endif
27
+
28
+ #include <common>
29
+ #include <packing>
30
+ #include <uv_pars_vertex>
31
+ #include <displacementmap_pars_vertex>
32
+ #include <normal_pars_vertex>
33
+ #include <morphtarget_pars_vertex>
34
+ #include <skinning_pars_vertex>
35
+ #include <logdepthbuf_pars_vertex>
36
+ #include <clipping_planes_pars_vertex>
37
+
38
+ uniform mat4 previousProjectionViewMatrix;
39
+ uniform mat4 currentProjectionViewMatrix;
40
+
41
+ uniform mat4 modelMatrixPrev;
42
+
43
+ varying vec4 clipPositionCurrent;
44
+ varying vec4 clipPositionPrevious;
45
+
46
+ void main() {
47
+
48
+
49
+ #include <uv_vertex>
50
+
51
+ #include <beginnormal_vertex>
52
+ #include <morphnormal_vertex>
53
+ #include <skinbase_vertex>
54
+ #include <skinnormal_vertex>
55
+ #include <defaultnormal_vertex>
56
+ #include <normal_vertex>
57
+
58
+ #include <begin_vertex>
59
+ #include <morphtarget_vertex>
60
+ #include <displacementmap_vertex>
61
+ #include <morphtarget_vertex>
62
+ #include <skinning_vertex>
63
+
64
+ #ifdef USE_SKINNING
65
+
66
+ vec4 mvPosition = modelViewMatrix * skinned;
67
+ clipPositionCurrent = currentProjectionViewMatrix * modelMatrix * skinned;
68
+ clipPositionPrevious = previousProjectionViewMatrix * modelMatrixPrev * skinned;
69
+
70
+ #else
71
+
72
+ vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );
73
+ clipPositionCurrent = currentProjectionViewMatrix * modelMatrix * vec4( transformed, 1.0 );
74
+ clipPositionPrevious = previousProjectionViewMatrix * modelMatrixPrev * vec4( transformed, 1.0 );
75
+
76
+ #endif
77
+
78
+ gl_Position = projectionMatrix * mvPosition;
79
+
80
+ #include <logdepthbuf_vertex>
81
+ #include <clipping_planes_vertex>
82
+ }
83
+ `,
84
+ fragmentShader: /* glsl */`
85
+ #define NORMAL
86
+
87
+ uniform float opacity;
88
+
89
+ #include <packing>
90
+ #include <uv_pars_fragment>
91
+ #include <map_pars_fragment>
92
+ #include <alphamap_pars_fragment>
93
+ #include <alphatest_pars_fragment>
94
+ #include <logdepthbuf_pars_fragment>
95
+ #include <clipping_planes_pars_fragment>
96
+
97
+ varying vec4 clipPositionCurrent;
98
+ varying vec4 clipPositionPrevious;
99
+
100
+ void main() {
101
+
102
+ vec4 diffuseColor = vec4( 1.0 );
103
+ diffuseColor.a = opacity;
104
+
105
+ #include <map_fragment>
106
+ #include <alphamap_fragment>
107
+ #include <alphatest_fragment>
108
+
109
+ vec2 ndcPositionCurrent = clipPositionCurrent.xy/clipPositionCurrent.w;
110
+ vec2 ndcPositionPrevious = clipPositionPrevious.xy/clipPositionPrevious.w;
111
+ vec2 vel = ( ndcPositionCurrent - ndcPositionPrevious ) * 0.5;
112
+ vel = vel * 0.5 + 0.5;
113
+ vec2 v1 = packDepthToRG(vel.x);
114
+ vec2 v2 = packDepthToRG(vel.y);
115
+ gl_FragColor = vec4(v1.x, v1.y, v2.x, v2.y);
116
+
117
+ #include <logdepthbuf_fragment>
118
+
119
+ }
120
+
121
+ `
122
+ };
123
+
124
+ THREE.VelocityShader = VelocityShader;
125
+
126
+ } )();
@@ -8,6 +8,7 @@
8
8
  * - standard deviation 2.7
9
9
  * - "h" and "v" parameters should be set to "1 / width" and "1 / height"
10
10
  */
11
+
11
12
  const VerticalBlurShader = {
12
13
  uniforms: {
13
14
  'tDiffuse': {
@@ -17,9 +18,7 @@
17
18
  value: 1.0 / 512.0
18
19
  }
19
20
  },
20
- vertexShader:
21
- /* glsl */
22
- `
21
+ vertexShader: /* glsl */`
23
22
 
24
23
  varying vec2 vUv;
25
24
 
@@ -29,9 +28,7 @@
29
28
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
30
29
 
31
30
  }`,
32
- fragmentShader:
33
- /* glsl */
34
- `
31
+ fragmentShader: /* glsl */`
35
32
 
36
33
  uniform sampler2D tDiffuse;
37
34
  uniform float v;
@@ -8,6 +8,7 @@
8
8
  * - "h" and "v" parameters should be set to "1 / width" and "1 / height"
9
9
  * - "r" parameter control where "focused" horizontal line lies
10
10
  */
11
+
11
12
  const VerticalTiltShiftShader = {
12
13
  uniforms: {
13
14
  'tDiffuse': {
@@ -20,9 +21,7 @@
20
21
  value: 0.35
21
22
  }
22
23
  },
23
- vertexShader:
24
- /* glsl */
25
- `
24
+ vertexShader: /* glsl */`
26
25
 
27
26
  varying vec2 vUv;
28
27
 
@@ -32,9 +31,7 @@
32
31
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
33
32
 
34
33
  }`,
35
- fragmentShader:
36
- /* glsl */
37
- `
34
+ fragmentShader: /* glsl */`
38
35
 
39
36
  uniform sampler2D tDiffuse;
40
37
  uniform float v;
@@ -5,6 +5,7 @@
5
5
  * based on PaintEffect postprocess from ro.me
6
6
  * http://code.google.com/p/3-dreams-of-black/source/browse/deploy/js/effects/PaintEffect.js
7
7
  */
8
+
8
9
  const VignetteShader = {
9
10
  uniforms: {
10
11
  'tDiffuse': {
@@ -17,9 +18,7 @@
17
18
  value: 1.0
18
19
  }
19
20
  },
20
- vertexShader:
21
- /* glsl */
22
- `
21
+ vertexShader: /* glsl */`
23
22
 
24
23
  varying vec2 vUv;
25
24
 
@@ -29,9 +28,7 @@
29
28
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
30
29
 
31
30
  }`,
32
- fragmentShader:
33
- /* glsl */
34
- `
31
+ fragmentShader: /* glsl */`
35
32
 
36
33
  uniform float offset;
37
34
  uniform float darkness;
@@ -27,9 +27,7 @@
27
27
  value: null
28
28
  }
29
29
  },
30
- vertexShader:
31
- /* glsl */
32
- `
30
+ vertexShader: /* glsl */`
33
31
 
34
32
  varying vec4 v_nearpos;
35
33
  varying vec4 v_farpos;
@@ -60,9 +58,7 @@
60
58
  v_position = position;
61
59
  gl_Position = projectionMatrix * viewMatrix * modelMatrix * position4;
62
60
  }`,
63
- fragmentShader:
64
- /* glsl */
65
- `
61
+ fragmentShader: /* glsl */`
66
62
 
67
63
  precision highp float;
68
64
  precision mediump sampler3D;
@@ -18,9 +18,7 @@
18
18
  value: null
19
19
  }
20
20
  },
21
- vertexShader:
22
- /* glsl */
23
- `
21
+ vertexShader: /* glsl */`
24
22
 
25
23
  uniform mat4 textureMatrix;
26
24
 
@@ -36,9 +34,7 @@
36
34
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
37
35
 
38
36
  }`,
39
- fragmentShader:
40
- /* glsl */
41
- `
37
+ fragmentShader: /* glsl */`
42
38
 
43
39
  uniform vec3 color;
44
40
  uniform float time;
@@ -10,7 +10,6 @@
10
10
  const context = canvas.getContext( '2d' );
11
11
  context.fillStyle = 'rgb(127,127,255)';
12
12
  context.fillRect( 0, 0, width, height );
13
-
14
13
  for ( let i = 0; i < 4000; i ++ ) {
15
14
 
16
15
  const x = Math.random() * width;