super-three 0.133.3 → 0.136.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 (354) hide show
  1. package/build/three.js +1059 -783
  2. package/build/three.min.js +1 -1
  3. package/build/three.module.js +1424 -895
  4. package/examples/fonts/open-sans/open-sans-v15-cyrillic-ext_greek_greek-ext_cyrillic_latin_latin-ext_vietnamese-regular.woff +0 -0
  5. package/examples/fonts/open-sans/open-sans-v15-cyrillic-ext_greek_greek-ext_cyrillic_latin_latin-ext_vietnamese-regular.woff2 +0 -0
  6. package/examples/fonts/open-sans/open-sans.css +9 -0
  7. package/examples/fonts/tabler-icons/fonts/tabler-icons.eot +0 -0
  8. package/examples/fonts/tabler-icons/fonts/tabler-icons.svg +3966 -0
  9. package/examples/fonts/tabler-icons/fonts/tabler-icons.ttf +0 -0
  10. package/examples/fonts/tabler-icons/fonts/tabler-icons.woff +0 -0
  11. package/examples/fonts/tabler-icons/fonts/tabler-icons.woff2 +0 -0
  12. package/examples/fonts/tabler-icons/tabler-icons.min.css +4 -0
  13. package/examples/js/animation/CCDIKSolver.js +0 -1
  14. package/examples/js/animation/MMDPhysics.js +1 -3
  15. package/examples/js/controls/ArcballControls.js +99 -72
  16. package/examples/js/controls/DragControls.js +7 -0
  17. package/examples/js/controls/OrbitControls.js +5 -36
  18. package/examples/js/controls/TrackballControls.js +3 -2
  19. package/examples/js/controls/TransformControls.js +24 -1
  20. package/examples/js/csm/CSM.js +2 -2
  21. package/examples/js/csm/CSMFrustum.js +133 -0
  22. package/examples/js/curves/CurveExtras.js +0 -2
  23. package/examples/js/effects/AsciiEffect.js +2 -9
  24. package/examples/js/exporters/GLTFExporter.js +148 -64
  25. package/examples/js/exporters/USDZExporter.js +45 -26
  26. package/examples/js/geometries/TeapotGeometry.js +0 -1
  27. package/examples/js/interactive/SelectionBox.js +2 -0
  28. package/examples/js/interactive/SelectionHelper.js +22 -7
  29. package/examples/js/lights/RectAreaLightUniformsLib.js +4 -0
  30. package/examples/js/lines/LineMaterial.js +58 -20
  31. package/examples/js/lines/LineSegments2.js +29 -24
  32. package/examples/js/loaders/3DMLoader.js +24 -11
  33. package/examples/js/loaders/3MFLoader.js +2 -2
  34. package/examples/js/loaders/AMFLoader.js +0 -2
  35. package/examples/js/loaders/ColladaLoader.js +61 -4
  36. package/examples/js/loaders/EXRLoader.js +185 -262
  37. package/examples/js/loaders/FBXLoader.js +4 -5
  38. package/examples/js/loaders/GLTFLoader.js +96 -33
  39. package/examples/js/loaders/HDRCubeTextureLoader.js +0 -8
  40. package/examples/js/loaders/KTX2Loader.js +23 -2
  41. package/examples/js/loaders/KTXLoader.js +1 -1
  42. package/examples/js/loaders/LDrawLoader.js +26 -30
  43. package/examples/js/loaders/LUT3dlLoader.js +2 -0
  44. package/examples/js/loaders/LUTCubeLoader.js +2 -0
  45. package/examples/js/loaders/LWOLoader.js +8 -6
  46. package/examples/js/loaders/LogLuvLoader.js +766 -0
  47. package/examples/js/loaders/MMDLoader.js +0 -1
  48. package/examples/js/loaders/NRRDLoader.js +9 -2
  49. package/examples/js/loaders/OBJLoader.js +0 -2
  50. package/examples/js/loaders/PLYLoader.js +33 -8
  51. package/examples/js/loaders/RGBELoader.js +2 -16
  52. package/examples/js/loaders/RGBMLoader.js +55 -5
  53. package/examples/js/loaders/SVGLoader.js +9 -5
  54. package/examples/js/loaders/TDSLoader.js +237 -271
  55. package/examples/js/loaders/VOXLoader.js +1 -0
  56. package/examples/js/loaders/VRMLLoader.js +2 -1
  57. package/examples/js/loaders/lwo/LWO2Parser.js +1 -0
  58. package/examples/js/loaders/lwo/LWO3Parser.js +4 -2
  59. package/examples/js/math/ImprovedNoise.js +1 -1
  60. package/examples/js/misc/GPUComputationRenderer.js +3 -1
  61. package/examples/js/objects/Lensflare.js +2 -10
  62. package/examples/js/objects/MarchingCubes.js +42 -128
  63. package/examples/js/objects/Reflector.js +7 -0
  64. package/examples/js/objects/Refractor.js +7 -0
  65. package/examples/js/objects/Sky.js +1 -1
  66. package/examples/js/objects/Water.js +2 -2
  67. package/examples/js/objects/Water2.js +4 -7
  68. package/examples/js/postprocessing/GlitchPass.js +3 -1
  69. package/examples/js/postprocessing/SSAOPass.js +1 -0
  70. package/examples/js/renderers/CSS2DRenderer.js +4 -4
  71. package/examples/js/renderers/CSS3DRenderer.js +4 -4
  72. package/examples/js/shaders/ConvolutionShader.js +0 -1
  73. package/examples/js/shaders/FXAAShader.js +1 -1
  74. package/examples/js/shaders/FilmShader.js +1 -1
  75. package/examples/js/shaders/GammaCorrectionShader.js +1 -1
  76. package/examples/js/shaders/HorizontalBlurShader.js +1 -2
  77. package/examples/js/shaders/SSRShader.js +1 -1
  78. package/examples/js/shaders/SSRrShader.js +1 -1
  79. package/examples/js/shaders/VerticalBlurShader.js +1 -2
  80. package/examples/js/utils/GeometryUtils.js +1 -1
  81. package/examples/js/utils/RoughnessMipmapper.js +18 -28
  82. package/examples/jsm/animation/CCDIKSolver.js +0 -1
  83. package/examples/jsm/animation/MMDPhysics.js +0 -2
  84. package/examples/jsm/controls/ArcballControls.js +80 -77
  85. package/examples/jsm/controls/DragControls.js +7 -0
  86. package/examples/jsm/controls/OrbitControls.js +9 -51
  87. package/examples/jsm/controls/TrackballControls.js +1 -1
  88. package/examples/jsm/controls/TransformControls.js +24 -1
  89. package/examples/jsm/csm/CSM.js +3 -3
  90. package/examples/jsm/csm/{Frustum.js → CSMFrustum.js} +3 -3
  91. package/examples/jsm/curves/CurveExtras.js +0 -2
  92. package/examples/jsm/effects/AsciiEffect.js +2 -9
  93. package/examples/jsm/exporters/GLTFExporter.js +161 -75
  94. package/examples/jsm/exporters/USDZExporter.js +47 -26
  95. package/examples/jsm/geometries/TeapotGeometry.js +0 -1
  96. package/examples/jsm/interactive/SelectionBox.js +1 -0
  97. package/examples/jsm/interactive/SelectionHelper.js +19 -7
  98. package/examples/jsm/libs/flow.module.js +3338 -0
  99. package/examples/jsm/libs/lil-gui.module.min.js +8 -0
  100. package/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
  101. package/examples/jsm/lights/RectAreaLightUniformsLib.js +7 -0
  102. package/examples/jsm/lines/LineMaterial.js +59 -23
  103. package/examples/jsm/lines/LineSegments2.js +22 -18
  104. package/examples/jsm/loaders/3DMLoader.js +18 -12
  105. package/examples/jsm/loaders/3MFLoader.js +2 -2
  106. package/examples/jsm/loaders/AMFLoader.js +0 -2
  107. package/examples/jsm/loaders/ColladaLoader.js +61 -4
  108. package/examples/jsm/loaders/EXRLoader.js +184 -293
  109. package/examples/jsm/loaders/FBXLoader.js +4 -5
  110. package/examples/jsm/loaders/GLTFLoader.js +101 -37
  111. package/examples/jsm/loaders/HDRCubeTextureLoader.js +1 -14
  112. package/examples/jsm/loaders/KTX2Loader.js +30 -2
  113. package/examples/jsm/loaders/KTXLoader.js +1 -1
  114. package/examples/jsm/loaders/LDrawLoader.js +23 -24
  115. package/examples/jsm/loaders/LUT3dlLoader.js +2 -0
  116. package/examples/jsm/loaders/LUTCubeLoader.js +2 -0
  117. package/examples/jsm/loaders/LWOLoader.js +8 -6
  118. package/examples/jsm/loaders/LogLuvLoader.js +606 -0
  119. package/examples/jsm/loaders/MMDLoader.js +0 -1
  120. package/examples/jsm/loaders/NRRDLoader.js +10 -2
  121. package/examples/jsm/loaders/OBJLoader.js +0 -2
  122. package/examples/jsm/loaders/PLYLoader.js +34 -8
  123. package/examples/jsm/loaders/RGBELoader.js +0 -20
  124. package/examples/jsm/loaders/RGBMLoader.js +61 -7
  125. package/examples/jsm/loaders/SVGLoader.js +9 -6
  126. package/examples/jsm/loaders/TDSLoader.js +236 -275
  127. package/examples/jsm/loaders/VOXLoader.js +1 -0
  128. package/examples/jsm/loaders/VRMLLoader.js +2 -1
  129. package/examples/jsm/loaders/lwo/LWO2Parser.js +1 -0
  130. package/examples/jsm/loaders/lwo/LWO3Parser.js +2 -2
  131. package/examples/jsm/math/ImprovedNoise.js +1 -1
  132. package/examples/jsm/misc/GPUComputationRenderer.js +3 -1
  133. package/examples/jsm/node-editor/NodeEditor.js +456 -0
  134. package/examples/jsm/node-editor/accessors/NormalEditor.js +30 -0
  135. package/examples/jsm/node-editor/accessors/PositionEditor.js +30 -0
  136. package/examples/jsm/node-editor/accessors/UVEditor.js +26 -0
  137. package/examples/jsm/node-editor/display/BlendEditor.js +43 -0
  138. package/examples/jsm/node-editor/examples/animate-uv.json +1 -0
  139. package/examples/jsm/node-editor/examples/fake-top-light.json +1 -0
  140. package/examples/jsm/node-editor/examples/oscillator-color.json +1 -0
  141. package/examples/jsm/node-editor/examples/rim.json +1 -0
  142. package/examples/jsm/node-editor/inputs/ColorEditor.js +91 -0
  143. package/examples/jsm/node-editor/inputs/FloatEditor.js +24 -0
  144. package/examples/jsm/node-editor/inputs/SliderEditor.js +68 -0
  145. package/examples/jsm/node-editor/inputs/Vector2Editor.js +28 -0
  146. package/examples/jsm/node-editor/inputs/Vector3Editor.js +30 -0
  147. package/examples/jsm/node-editor/inputs/Vector4Editor.js +37 -0
  148. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +108 -0
  149. package/examples/jsm/node-editor/math/DotEditor.js +36 -0
  150. package/examples/jsm/node-editor/math/InvertEditor.js +38 -0
  151. package/examples/jsm/node-editor/math/LimiterEditor.js +48 -0
  152. package/examples/jsm/node-editor/math/NormalizeEditor.js +26 -0
  153. package/examples/jsm/node-editor/math/OperatorEditor.js +50 -0
  154. package/examples/jsm/node-editor/math/PowerEditor.js +34 -0
  155. package/examples/jsm/node-editor/math/TrigonometryEditor.js +39 -0
  156. package/examples/jsm/node-editor/procedural/CheckerEditor.js +26 -0
  157. package/examples/jsm/node-editor/utils/OscillatorEditor.js +42 -0
  158. package/examples/jsm/node-editor/utils/TimerEditor.js +57 -0
  159. package/examples/jsm/nodes/core/NodeBuilder.js +2 -2
  160. package/examples/jsm/nodes/materials/StandardNodeMaterial.js +1 -1
  161. package/examples/jsm/nodes/materials/nodes/StandardNode.js +7 -6
  162. package/examples/jsm/nodes/math/MathNode.js +12 -0
  163. package/examples/jsm/nodes/misc/BumpMapNode.js +1 -1
  164. package/examples/jsm/nodes/misc/TextureCubeUVNode.js +1 -4
  165. package/examples/jsm/nodes/utils/ColorSpaceNode.js +1 -164
  166. package/examples/jsm/objects/Lensflare.js +3 -14
  167. package/examples/jsm/objects/MarchingCubes.js +46 -152
  168. package/examples/jsm/objects/Reflector.js +7 -0
  169. package/examples/jsm/objects/Refractor.js +7 -0
  170. package/examples/jsm/objects/Sky.js +1 -1
  171. package/examples/jsm/objects/Water.js +2 -2
  172. package/examples/jsm/objects/Water2.js +4 -8
  173. package/examples/jsm/postprocessing/AdaptiveToneMappingPass.js +1 -1
  174. package/examples/jsm/postprocessing/AfterimagePass.js +1 -1
  175. package/examples/jsm/postprocessing/BloomPass.js +1 -1
  176. package/examples/jsm/postprocessing/BokehPass.js +1 -1
  177. package/examples/jsm/postprocessing/ClearPass.js +1 -1
  178. package/examples/jsm/postprocessing/CubeTexturePass.js +1 -1
  179. package/examples/jsm/postprocessing/DotScreenPass.js +1 -1
  180. package/examples/jsm/postprocessing/EffectComposer.js +3 -3
  181. package/examples/jsm/postprocessing/FilmPass.js +1 -1
  182. package/examples/jsm/postprocessing/GlitchPass.js +4 -2
  183. package/examples/jsm/postprocessing/HalftonePass.js +1 -1
  184. package/examples/jsm/postprocessing/MaskPass.js +1 -1
  185. package/examples/jsm/postprocessing/OutlinePass.js +1 -1
  186. package/examples/jsm/postprocessing/RenderPass.js +1 -1
  187. package/examples/jsm/postprocessing/SAOPass.js +2 -2
  188. package/examples/jsm/postprocessing/SMAAPass.js +1 -1
  189. package/examples/jsm/postprocessing/SSAARenderPass.js +1 -1
  190. package/examples/jsm/postprocessing/SSAOPass.js +2 -1
  191. package/examples/jsm/postprocessing/SSRPass.js +1 -1
  192. package/examples/jsm/postprocessing/SSRrPass.js +1 -1
  193. package/examples/jsm/postprocessing/SavePass.js +1 -1
  194. package/examples/jsm/postprocessing/ShaderPass.js +1 -1
  195. package/examples/jsm/postprocessing/TAARenderPass.js +1 -1
  196. package/examples/jsm/postprocessing/TexturePass.js +1 -1
  197. package/examples/jsm/postprocessing/UnrealBloomPass.js +1 -1
  198. package/examples/jsm/renderers/CSS2DRenderer.js +5 -4
  199. package/examples/jsm/renderers/CSS3DRenderer.js +5 -4
  200. package/examples/jsm/renderers/nodes/Nodes.js +15 -13
  201. package/examples/jsm/renderers/nodes/ShaderNode.js +194 -41
  202. package/examples/jsm/renderers/nodes/accessors/MaterialNode.js +6 -6
  203. package/examples/jsm/renderers/nodes/accessors/ModelViewProjectionNode.js +5 -5
  204. package/examples/jsm/renderers/nodes/accessors/NormalNode.js +14 -3
  205. package/examples/jsm/renderers/nodes/accessors/PointUVNode.js +3 -3
  206. package/examples/jsm/renderers/nodes/accessors/PositionNode.js +15 -5
  207. package/examples/jsm/renderers/nodes/accessors/SkinningNode.js +107 -0
  208. package/examples/jsm/renderers/nodes/accessors/UVNode.js +7 -5
  209. package/examples/jsm/renderers/nodes/core/ArrayInputNode.js +3 -3
  210. package/examples/jsm/renderers/nodes/core/AttributeNode.js +6 -0
  211. package/examples/jsm/renderers/nodes/core/BypassNode.js +38 -0
  212. package/examples/jsm/renderers/nodes/core/CodeNode.js +3 -3
  213. package/examples/jsm/renderers/nodes/core/ContextNode.js +4 -19
  214. package/examples/jsm/renderers/nodes/core/ExpressionNode.js +13 -2
  215. package/examples/jsm/renderers/nodes/core/FunctionNode.js +19 -132
  216. package/examples/jsm/renderers/nodes/core/InputNode.js +13 -3
  217. package/examples/jsm/renderers/nodes/core/Node.js +32 -10
  218. package/examples/jsm/renderers/nodes/core/NodeBuilder.js +146 -128
  219. package/examples/jsm/renderers/nodes/core/NodeFunction.js +22 -0
  220. package/examples/jsm/renderers/nodes/core/NodeFunctionInput.js +4 -4
  221. package/examples/jsm/renderers/nodes/core/NodeKeywords.js +18 -179
  222. package/examples/jsm/renderers/nodes/core/NodeParser.js +11 -0
  223. package/examples/jsm/renderers/nodes/core/NodeVar.js +2 -2
  224. package/examples/jsm/renderers/nodes/core/PropertyNode.js +14 -2
  225. package/examples/jsm/renderers/nodes/core/TempNode.js +10 -13
  226. package/examples/jsm/renderers/nodes/core/VarNode.js +12 -7
  227. package/examples/jsm/renderers/nodes/core/VaryNode.js +23 -8
  228. package/examples/jsm/renderers/nodes/core/constants.js +2 -0
  229. package/examples/jsm/renderers/nodes/display/ColorSpaceNode.js +60 -43
  230. package/examples/jsm/renderers/nodes/display/NormalMapNode.js +21 -22
  231. package/examples/jsm/renderers/nodes/functions/BSDFs.js +64 -101
  232. package/examples/jsm/renderers/nodes/functions/PhysicalMaterialFunctions.js +27 -0
  233. package/examples/jsm/renderers/nodes/inputs/BufferNode.js +25 -0
  234. package/examples/jsm/renderers/nodes/inputs/IntNode.js +17 -0
  235. package/examples/jsm/renderers/nodes/inputs/TextureNode.js +10 -2
  236. package/examples/jsm/renderers/nodes/lights/LightContextNode.js +20 -14
  237. package/examples/jsm/renderers/nodes/lights/LightNode.js +32 -36
  238. package/examples/jsm/renderers/nodes/math/CondNode.js +60 -0
  239. package/examples/jsm/renderers/nodes/math/MathNode.js +90 -37
  240. package/examples/jsm/renderers/nodes/math/OperatorNode.js +124 -31
  241. package/examples/jsm/renderers/nodes/parsers/GLSLNodeFunction.js +137 -0
  242. package/examples/jsm/renderers/nodes/parsers/GLSLNodeParser.js +14 -0
  243. package/examples/jsm/renderers/nodes/parsers/WGSLNodeFunction.js +89 -0
  244. package/examples/jsm/renderers/nodes/parsers/WGSLNodeParser.js +14 -0
  245. package/examples/jsm/renderers/nodes/procedural/CheckerNode.js +7 -9
  246. package/examples/jsm/renderers/nodes/utils/ArrayElementNode.js +31 -0
  247. package/examples/jsm/renderers/nodes/utils/ConvertNode.js +33 -0
  248. package/examples/jsm/renderers/nodes/utils/JoinNode.js +7 -7
  249. package/examples/jsm/renderers/nodes/utils/OscNode.js +58 -0
  250. package/examples/jsm/renderers/nodes/utils/SplitNode.js +18 -8
  251. package/examples/jsm/renderers/nodes/utils/SpriteSheetUVNode.js +7 -7
  252. package/examples/jsm/renderers/nodes/utils/TimerNode.js +1 -1
  253. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +22 -0
  254. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +192 -95
  255. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +2 -2
  256. package/examples/jsm/renderers/webgl/nodes/WebGLPhysicalContextNode.js +2 -2
  257. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +1 -1
  258. package/examples/jsm/renderers/webgpu/WebGPUBindings.js +10 -9
  259. package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +2 -4
  260. package/examples/jsm/renderers/webgpu/WebGPUProgrammableStage.js +2 -4
  261. package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +15 -23
  262. package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +44 -65
  263. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +12 -28
  264. package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +61 -28
  265. package/examples/jsm/renderers/webgpu/WebGPUTextures.js +34 -27
  266. package/examples/jsm/renderers/webgpu/constants.js +2 -2
  267. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +453 -95
  268. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +1 -1
  269. package/examples/jsm/shaders/ConvolutionShader.js +0 -1
  270. package/examples/jsm/shaders/FXAAShader.js +1 -1
  271. package/examples/jsm/shaders/FilmShader.js +1 -1
  272. package/examples/jsm/shaders/GammaCorrectionShader.js +1 -1
  273. package/examples/jsm/shaders/HorizontalBlurShader.js +1 -2
  274. package/examples/jsm/shaders/SSRShader.js +1 -1
  275. package/examples/jsm/shaders/SSRrShader.js +1 -1
  276. package/examples/jsm/shaders/VerticalBlurShader.js +1 -2
  277. package/examples/jsm/utils/GeometryUtils.js +1 -1
  278. package/examples/jsm/utils/RoughnessMipmapper.js +19 -31
  279. package/examples/jsm/utils/WorkerPool.js +11 -11
  280. package/examples/jsm/webxr/OculusHandPointerModel.js +6 -6
  281. package/package.json +24 -18
  282. package/src/Three.Legacy.js +18 -0
  283. package/src/Three.js +1 -3
  284. package/src/cameras/StereoCamera.js +8 -7
  285. package/src/constants.js +1 -8
  286. package/src/core/Layers.js +7 -1
  287. package/src/core/Object3D.js +3 -1
  288. package/src/extras/PMREMGenerator.js +23 -109
  289. package/src/extras/core/Interpolations.js +1 -1
  290. package/src/geometries/LatheGeometry.js +70 -47
  291. package/src/helpers/CameraHelper.js +1 -1
  292. package/src/loaders/FileLoader.js +98 -144
  293. package/src/loaders/ImageLoader.js +9 -4
  294. package/src/loaders/LoaderUtils.js +26 -0
  295. package/src/loaders/MaterialLoader.js +7 -4
  296. package/src/loaders/ObjectLoader.js +2 -0
  297. package/src/materials/Material.js +4 -4
  298. package/src/materials/MeshPhysicalMaterial.js +20 -14
  299. package/src/math/Color.js +0 -38
  300. package/src/math/MathUtils.js +5 -16
  301. package/src/math/Ray.js +2 -2
  302. package/src/math/Sphere.js +10 -1
  303. package/src/objects/Skeleton.js +1 -0
  304. package/src/renderers/WebGLMultisampleRenderTarget.js +7 -1
  305. package/src/renderers/WebGLRenderer.js +105 -132
  306. package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +2 -2
  307. package/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +1 -1
  308. package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +2 -24
  309. package/src/renderers/shaders/ShaderChunk/encodings_pars_fragment.glsl.js +0 -74
  310. package/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +0 -1
  311. package/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +1 -1
  312. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +19 -6
  313. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +28 -2
  314. package/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +1 -1
  315. package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +1 -1
  316. package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +1 -1
  317. package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +23 -5
  318. package/src/renderers/shaders/ShaderLib/vsm.glsl.js +2 -1
  319. package/src/renderers/shaders/ShaderLib.js +6 -4
  320. package/src/renderers/shaders/UniformsLib.js +1 -2
  321. package/src/renderers/webgl/WebGLCapabilities.js +0 -2
  322. package/src/renderers/webgl/WebGLExtensions.js +1 -0
  323. package/src/renderers/webgl/WebGLMaterials.js +27 -15
  324. package/src/renderers/webgl/WebGLMorphtargets.js +1 -0
  325. package/src/renderers/webgl/WebGLProgram.js +11 -24
  326. package/src/renderers/webgl/WebGLPrograms.js +194 -33
  327. package/src/renderers/webgl/WebGLRenderLists.js +4 -14
  328. package/src/renderers/webgl/WebGLShaderCache.js +120 -0
  329. package/src/renderers/webgl/WebGLShadowMap.js +14 -5
  330. package/src/renderers/webgl/WebGLState.js +76 -17
  331. package/src/renderers/webgl/WebGLTextures.js +367 -61
  332. package/src/renderers/webgl/WebGLUniforms.js +45 -1
  333. package/src/renderers/webxr/WebXRManager.js +77 -109
  334. package/src/scenes/Scene.js +1 -1
  335. package/src/textures/DataTexture.js +0 -2
  336. package/src/textures/DataTexture2DArray.js +0 -2
  337. package/src/textures/DataTexture3D.js +0 -2
  338. package/src/textures/FramebufferTexture.js +25 -0
  339. package/src/textures/Texture.js +6 -0
  340. package/examples/js/controls/DeviceOrientationControls.js +0 -147
  341. package/examples/js/libs/dat.gui.min.js +0 -14
  342. package/examples/jsm/controls/DeviceOrientationControls.js +0 -153
  343. package/examples/jsm/libs/dat.gui.module.js +0 -3575
  344. package/examples/jsm/libs/glslang.js +0 -78
  345. package/examples/jsm/libs/glslang.wasm +0 -0
  346. package/examples/jsm/renderers/nodes/consts/MathConsts.js +0 -7
  347. package/examples/jsm/renderers/nodes/core/ConstNode.js +0 -39
  348. package/examples/jsm/renderers/nodes/core/NodeSlot.js +0 -13
  349. package/examples/jsm/renderers/nodes/core/StructNode.js +0 -80
  350. package/examples/jsm/renderers/nodes/core/StructVarNode.js +0 -75
  351. package/examples/jsm/renderers/nodes/functions/EncodingFunctions.js +0 -99
  352. package/examples/jsm/renderers/nodes/functions/MathFunctions.js +0 -47
  353. package/examples/jsm/renderers/webgpu/nodes/ShaderLib.js +0 -152
  354. package/src/extras/objects/ImmediateRenderObject.js +0 -31
@@ -2,19 +2,21 @@ import {
2
2
  BufferAttribute,
3
3
  BufferGeometry,
4
4
  Color,
5
- ImmediateRenderObject,
6
- NoColors
5
+ DynamicDrawUsage,
6
+ Mesh
7
7
  } from 'three';
8
8
 
9
9
  /**
10
10
  * Port of http://webglsamples.org/blob/blob.html
11
11
  */
12
12
 
13
- class MarchingCubes extends ImmediateRenderObject {
13
+ class MarchingCubes extends Mesh {
14
14
 
15
- constructor( resolution, material, enableUvs, enableColors ) {
15
+ constructor( resolution, material, enableUvs = false, enableColors = false, maxPolyCount = 10000 ) {
16
16
 
17
- super( material );
17
+ const geometry = new BufferGeometry();
18
+
19
+ super( geometry, material );
18
20
 
19
21
  const scope = this;
20
22
 
@@ -24,8 +26,8 @@ class MarchingCubes extends ImmediateRenderObject {
24
26
  const nlist = new Float32Array( 12 * 3 );
25
27
  const clist = new Float32Array( 12 * 3 );
26
28
 
27
- this.enableUvs = enableUvs !== undefined ? enableUvs : false;
28
- this.enableColors = enableColors !== undefined ? enableColors : false;
29
+ this.enableUvs = enableUvs;
30
+ this.enableColors = enableColors;
29
31
 
30
32
  // functions have to be object properties
31
33
  // prototype functions kill performance
@@ -56,28 +58,37 @@ class MarchingCubes extends ImmediateRenderObject {
56
58
  this.normal_cache = new Float32Array( this.size3 * 3 );
57
59
  this.palette = new Float32Array( this.size3 * 3 );
58
60
 
59
- // immediate render mode simulator
61
+ //
60
62
 
61
- this.maxCount = 4096; // TODO: find the fastest size for this buffer
62
63
  this.count = 0;
63
64
 
64
- this.hasPositions = false;
65
- this.hasNormals = false;
66
- this.hasColors = false;
67
- this.hasUvs = false;
65
+ const maxVertexCount = maxPolyCount * 3;
66
+
67
+ this.positionArray = new Float32Array( maxVertexCount * 3 );
68
+ const positionAttribute = new BufferAttribute( this.positionArray, 3 );
69
+ positionAttribute.setUsage( DynamicDrawUsage );
70
+ geometry.setAttribute( 'position', positionAttribute );
68
71
 
69
- this.positionArray = new Float32Array( this.maxCount * 3 );
70
- this.normalArray = new Float32Array( this.maxCount * 3 );
72
+ this.normalArray = new Float32Array( maxVertexCount * 3 );
73
+ const normalAttribute = new BufferAttribute( this.normalArray, 3 );
74
+ normalAttribute.setUsage( DynamicDrawUsage );
75
+ geometry.setAttribute( 'normal', normalAttribute );
71
76
 
72
77
  if ( this.enableUvs ) {
73
78
 
74
- this.uvArray = new Float32Array( this.maxCount * 2 );
79
+ this.uvArray = new Float32Array( maxVertexCount * 2 );
80
+ const uvAttribute = new BufferAttribute( this.uvArray, 2 );
81
+ uvAttribute.setUsage( DynamicDrawUsage );
82
+ geometry.setAttribute( 'uv', uvAttribute );
75
83
 
76
84
  }
77
85
 
78
86
  if ( this.enableColors ) {
79
87
 
80
- this.colorArray = new Float32Array( this.maxCount * 3 );
88
+ this.colorArray = new Float32Array( maxVertexCount * 3 );
89
+ const colorAttribute = new BufferAttribute( this.colorArray, 3 );
90
+ colorAttribute.setUsage( DynamicDrawUsage );
91
+ geometry.setAttribute( 'color', colorAttribute );
81
92
 
82
93
  }
83
94
 
@@ -173,7 +184,7 @@ class MarchingCubes extends ImmediateRenderObject {
173
184
  // Returns total number of triangles. Fills triangles.
174
185
  // (this is where most of time is spent - it's inner work of O(n3) loop )
175
186
 
176
- function polygonize( fx, fy, fz, q, isol, renderCallback ) {
187
+ function polygonize( fx, fy, fz, q, isol ) {
177
188
 
178
189
  // cache indices
179
190
  const q1 = q + 1,
@@ -369,8 +380,7 @@ class MarchingCubes extends ImmediateRenderObject {
369
380
  clist,
370
381
  3 * triTable[ o1 ],
371
382
  3 * triTable[ o2 ],
372
- 3 * triTable[ o3 ],
373
- renderCallback
383
+ 3 * triTable[ o3 ]
374
384
  );
375
385
 
376
386
  i += 3;
@@ -382,11 +392,7 @@ class MarchingCubes extends ImmediateRenderObject {
382
392
 
383
393
  }
384
394
 
385
- /////////////////////////////////////
386
- // Immediate render mode simulator
387
- /////////////////////////////////////
388
-
389
- function posnormtriv( pos, norm, colors, o1, o2, o3, renderCallback ) {
395
+ function posnormtriv( pos, norm, colors, o1, o2, o3 ) {
390
396
 
391
397
  const c = scope.count * 3;
392
398
 
@@ -477,69 +483,8 @@ class MarchingCubes extends ImmediateRenderObject {
477
483
 
478
484
  scope.count += 3;
479
485
 
480
- if ( scope.count >= scope.maxCount - 3 ) {
481
-
482
- scope.hasPositions = true;
483
- scope.hasNormals = true;
484
-
485
- if ( scope.enableUvs ) {
486
-
487
- scope.hasUvs = true;
488
-
489
- }
490
-
491
- if ( scope.enableColors ) {
492
-
493
- scope.hasColors = true;
494
-
495
- }
496
-
497
- renderCallback( scope );
498
-
499
- }
500
-
501
486
  }
502
487
 
503
- this.begin = function () {
504
-
505
- this.count = 0;
506
-
507
- this.hasPositions = false;
508
- this.hasNormals = false;
509
- this.hasUvs = false;
510
- this.hasColors = false;
511
-
512
- };
513
-
514
- this.end = function ( renderCallback ) {
515
-
516
- if ( this.count === 0 ) return;
517
-
518
- for ( let i = this.count * 3; i < this.positionArray.length; i ++ ) {
519
-
520
- this.positionArray[ i ] = 0.0;
521
-
522
- }
523
-
524
- this.hasPositions = true;
525
- this.hasNormals = true;
526
-
527
- if ( this.enableUvs && this.material.map ) {
528
-
529
- this.hasUvs = true;
530
-
531
- }
532
-
533
- if ( this.enableColors && this.material.vertexColors !== NoColors ) {
534
-
535
- this.hasColors = true;
536
-
537
- }
538
-
539
- renderCallback( this );
540
-
541
- };
542
-
543
488
  /////////////////////////////////////
544
489
  // Metaballs
545
490
  /////////////////////////////////////
@@ -867,9 +812,9 @@ class MarchingCubes extends ImmediateRenderObject {
867
812
 
868
813
  };
869
814
 
870
- this.render = function ( renderCallback ) {
815
+ this.onBeforeRender = function () {
871
816
 
872
- this.begin();
817
+ this.count = 0;
873
818
 
874
819
  // Triangulate. Yeah, this is slow.
875
820
 
@@ -890,7 +835,7 @@ class MarchingCubes extends ImmediateRenderObject {
890
835
  const fx = ( x - this.halfsize ) / this.halfsize; //+ 1
891
836
  const q = y_offset + x;
892
837
 
893
- polygonize( fx, fy, fz, q, this.isolation, renderCallback );
838
+ polygonize( fx, fy, fz, q, this.isolation );
894
839
 
895
840
  }
896
841
 
@@ -898,76 +843,25 @@ class MarchingCubes extends ImmediateRenderObject {
898
843
 
899
844
  }
900
845
 
901
- this.end( renderCallback );
846
+ // reset unneeded data
902
847
 
903
- };
848
+ for ( let i = this.count * 3; i < this.positionArray.length; i ++ ) {
904
849
 
905
- this.generateGeometry = function () {
850
+ this.positionArray[ i ] = 0.0;
906
851
 
907
- console.warn(
908
- 'THREE.MarchingCubes: generateGeometry() now returns BufferGeometry'
909
- );
910
- return this.generateBufferGeometry();
852
+ }
911
853
 
912
- };
854
+ // update geometry data
913
855
 
914
- function concatenate( a, b, length ) {
856
+ geometry.getAttribute( 'position' ).needsUpdate = true;
857
+ geometry.getAttribute( 'normal' ).needsUpdate = true;
915
858
 
916
- const result = new Float32Array( a.length + length );
917
- result.set( a, 0 );
918
- result.set( b.slice( 0, length ), a.length );
919
- return result;
859
+ if ( this.enableUvs ) geometry.getAttribute( 'uv' ).needsUpdate = true;
860
+ if ( this.enableColors ) geometry.getAttribute( 'color' ).needsUpdate = true;
920
861
 
921
- }
862
+ // safety check
922
863
 
923
- this.generateBufferGeometry = function () {
924
-
925
- const geo = new BufferGeometry();
926
- let posArray = new Float32Array();
927
- let normArray = new Float32Array();
928
- let colorArray = new Float32Array();
929
- let uvArray = new Float32Array();
930
- const scope = this;
931
-
932
- const geo_callback = function ( object ) {
933
-
934
- if ( scope.hasPositions )
935
- posArray = concatenate(
936
- posArray,
937
- object.positionArray,
938
- object.count * 3
939
- );
940
- if ( scope.hasNormals )
941
- normArray = concatenate(
942
- normArray,
943
- object.normalArray,
944
- object.count * 3
945
- );
946
- if ( scope.hasColors )
947
- colorArray = concatenate(
948
- colorArray,
949
- object.colorArray,
950
- object.count * 3
951
- );
952
- if ( scope.hasUvs )
953
- uvArray = concatenate( uvArray, object.uvArray, object.count * 2 );
954
-
955
- object.count = 0;
956
-
957
- };
958
-
959
- this.render( geo_callback );
960
-
961
- if ( this.hasPositions )
962
- geo.setAttribute( 'position', new BufferAttribute( posArray, 3 ) );
963
- if ( this.hasNormals )
964
- geo.setAttribute( 'normal', new BufferAttribute( normArray, 3 ) );
965
- if ( this.hasColors )
966
- geo.setAttribute( 'color', new BufferAttribute( colorArray, 3 ) );
967
- if ( this.hasUvs )
968
- geo.setAttribute( 'uv', new BufferAttribute( uvArray, 2 ) );
969
-
970
- return geo;
864
+ if ( this.count / 3 > maxPolyCount ) console.warn( 'THREE.MarchingCubes: Geometry buffers too small for rendering. Please create an instance with a higher poly count.' );
971
865
 
972
866
  };
973
867
 
@@ -984,7 +878,7 @@ MarchingCubes.prototype.isMarchingCubes = true;
984
878
  /////////////////////////////////////
985
879
 
986
880
  // These tables are straight from Paul Bourke's page:
987
- // http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/
881
+ // http://paulbourke.net/geometry/polygonise/
988
882
  // who in turn got them from Cory Gene Bloyd.
989
883
 
990
884
  const edgeTable = new Int32Array( [
@@ -193,6 +193,13 @@ class Reflector extends Mesh {
193
193
 
194
194
  };
195
195
 
196
+ this.dispose = function () {
197
+
198
+ renderTarget.dispose();
199
+ scope.material.dispose();
200
+
201
+ };
202
+
196
203
  }
197
204
 
198
205
  }
@@ -262,6 +262,13 @@ class Refractor extends Mesh {
262
262
 
263
263
  };
264
264
 
265
+ this.dispose = function () {
266
+
267
+ renderTarget.dispose();
268
+ scope.material.dispose();
269
+
270
+ };
271
+
265
272
  }
266
273
 
267
274
  }
@@ -13,7 +13,7 @@ import {
13
13
  * https://www.researchgate.net/publication/220720443_A_Practical_Analytic_Model_for_Daylight
14
14
  *
15
15
  * First implemented by Simon Wallner
16
- * http://www.simonwallner.at/projects/atmospheric-scattering
16
+ * http://simonwallner.at/project/atmospheric-scattering/
17
17
  *
18
18
  * Improved by Martin Upitis
19
19
  * http://blenderartists.org/forum/showthread.php?245954-preethams-sky-impementation-HDR
@@ -18,8 +18,8 @@ import {
18
18
 
19
19
  /**
20
20
  * Work based on :
21
- * http://slayvin.net : Flat mirror for three.js
22
- * http://www.adelphi.edu/~stemkoski : An implementation of water shader based on the flat mirror
21
+ * https://github.com/Slayvin: Flat mirror for three.js
22
+ * https://home.adelphi.edu/~stemkoski/ : An implementation of water shader based on the flat mirror
23
23
  * http://29a.ch/ && http://29a.ch/slides/2012/webglwater/ : Water shader explanations in WebGL
24
24
  */
25
25
 
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  Clock,
3
3
  Color,
4
- LinearEncoding,
5
4
  Matrix4,
6
5
  Mesh,
7
6
  RepeatWrapping,
@@ -17,8 +16,8 @@ import { Refractor } from '../objects/Refractor.js';
17
16
 
18
17
  /**
19
18
  * References:
20
- * http://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_waterflow.pdf
21
- * http://graphicsrunner.blogspot.de/2010/08/water-using-flow-maps.html
19
+ * https://alex.vlachos.com/graphics/Vlachos-SIGGRAPH10-WaterFlow.pdf
20
+ * http://graphicsrunner.blogspot.de/2010/08/water-using-flow-maps.html
22
21
  *
23
22
  */
24
23
 
@@ -41,7 +40,6 @@ class Water extends Mesh {
41
40
  const reflectivity = options.reflectivity || 0.02;
42
41
  const scale = options.scale || 1;
43
42
  const shader = options.shader || Water.WaterShader;
44
- const encoding = options.encoding !== undefined ? options.encoding : LinearEncoding;
45
43
 
46
44
  const textureLoader = new TextureLoader();
47
45
 
@@ -73,15 +71,13 @@ class Water extends Mesh {
73
71
  const reflector = new Reflector( geometry, {
74
72
  textureWidth: textureWidth,
75
73
  textureHeight: textureHeight,
76
- clipBias: clipBias,
77
- encoding: encoding
74
+ clipBias: clipBias
78
75
  } );
79
76
 
80
77
  const refractor = new Refractor( geometry, {
81
78
  textureWidth: textureWidth,
82
79
  textureHeight: textureHeight,
83
- clipBias: clipBias,
84
- encoding: encoding
80
+ clipBias: clipBias
85
81
  } );
86
82
 
87
83
  reflector.matrixAutoUpdate = false;
@@ -8,7 +8,7 @@ import {
8
8
  UniformsUtils,
9
9
  WebGLRenderTarget
10
10
  } from 'three';
11
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
11
+ import { Pass, FullScreenQuad } from './Pass.js';
12
12
  import { CopyShader } from '../shaders/CopyShader.js';
13
13
  import { LuminosityShader } from '../shaders/LuminosityShader.js';
14
14
  import { ToneMapShader } from '../shaders/ToneMapShader.js';
@@ -7,7 +7,7 @@ import {
7
7
  UniformsUtils,
8
8
  WebGLRenderTarget
9
9
  } from 'three';
10
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
10
+ import { Pass, FullScreenQuad } from './Pass.js';
11
11
  import { AfterimageShader } from '../shaders/AfterimageShader.js';
12
12
 
13
13
  class AfterimagePass extends Pass {
@@ -7,7 +7,7 @@ import {
7
7
  Vector2,
8
8
  WebGLRenderTarget
9
9
  } from 'three';
10
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
10
+ import { Pass, FullScreenQuad } from './Pass.js';
11
11
  import { CopyShader } from '../shaders/CopyShader.js';
12
12
  import { ConvolutionShader } from '../shaders/ConvolutionShader.js';
13
13
 
@@ -8,7 +8,7 @@ import {
8
8
  UniformsUtils,
9
9
  WebGLRenderTarget
10
10
  } from 'three';
11
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
11
+ import { Pass, FullScreenQuad } from './Pass.js';
12
12
  import { BokehShader } from '../shaders/BokehShader.js';
13
13
 
14
14
  /**
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Color
3
3
  } from 'three';
4
- import { Pass } from '../postprocessing/Pass.js';
4
+ import { Pass } from './Pass.js';
5
5
 
6
6
  class ClearPass extends Pass {
7
7
 
@@ -8,7 +8,7 @@ import {
8
8
  ShaderMaterial,
9
9
  UniformsUtils
10
10
  } from 'three';
11
- import { Pass } from '../postprocessing/Pass.js';
11
+ import { Pass } from './Pass.js';
12
12
 
13
13
  class CubeTexturePass extends Pass {
14
14
 
@@ -2,7 +2,7 @@ import {
2
2
  ShaderMaterial,
3
3
  UniformsUtils
4
4
  } from 'three';
5
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
5
+ import { Pass, FullScreenQuad } from './Pass.js';
6
6
  import { DotScreenShader } from '../shaders/DotScreenShader.js';
7
7
 
8
8
  class DotScreenPass extends Pass {
@@ -10,9 +10,9 @@ import {
10
10
  WebGLRenderTarget
11
11
  } from 'three';
12
12
  import { CopyShader } from '../shaders/CopyShader.js';
13
- import { ShaderPass } from '../postprocessing/ShaderPass.js';
14
- import { MaskPass } from '../postprocessing/MaskPass.js';
15
- import { ClearMaskPass } from '../postprocessing/MaskPass.js';
13
+ import { ShaderPass } from './ShaderPass.js';
14
+ import { MaskPass } from './MaskPass.js';
15
+ import { ClearMaskPass } from './MaskPass.js';
16
16
 
17
17
  class EffectComposer {
18
18
 
@@ -2,7 +2,7 @@ import {
2
2
  ShaderMaterial,
3
3
  UniformsUtils
4
4
  } from 'three';
5
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
5
+ import { Pass, FullScreenQuad } from './Pass.js';
6
6
  import { FilmShader } from '../shaders/FilmShader.js';
7
7
 
8
8
  class FilmPass extends Pass {
@@ -6,7 +6,7 @@ import {
6
6
  ShaderMaterial,
7
7
  UniformsUtils
8
8
  } from 'three';
9
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
9
+ import { Pass, FullScreenQuad } from './Pass.js';
10
10
  import { DigitalGlitch } from '../shaders/DigitalGlitch.js';
11
11
 
12
12
  class GlitchPass extends Pass {
@@ -106,7 +106,9 @@ class GlitchPass extends Pass {
106
106
 
107
107
  }
108
108
 
109
- return new DataTexture( data_arr, dt_size, dt_size, RGBFormat, FloatType );
109
+ const texture = new DataTexture( data_arr, dt_size, dt_size, RGBFormat, FloatType );
110
+ texture.needsUpdate = true;
111
+ return texture;
110
112
 
111
113
  }
112
114
 
@@ -2,7 +2,7 @@ import {
2
2
  ShaderMaterial,
3
3
  UniformsUtils
4
4
  } from 'three';
5
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
5
+ import { Pass, FullScreenQuad } from './Pass.js';
6
6
  import { HalftoneShader } from '../shaders/HalftoneShader.js';
7
7
 
8
8
  /**
@@ -1,4 +1,4 @@
1
- import { Pass } from '../postprocessing/Pass.js';
1
+ import { Pass } from './Pass.js';
2
2
 
3
3
  class MaskPass extends Pass {
4
4
 
@@ -15,7 +15,7 @@ import {
15
15
  Vector3,
16
16
  WebGLRenderTarget
17
17
  } from 'three';
18
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
18
+ import { Pass, FullScreenQuad } from './Pass.js';
19
19
  import { CopyShader } from '../shaders/CopyShader.js';
20
20
 
21
21
  class OutlinePass extends Pass {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Color
3
3
  } from 'three';
4
- import { Pass } from '../postprocessing/Pass.js';
4
+ import { Pass } from './Pass.js';
5
5
 
6
6
  class RenderPass extends Pass {
7
7
 
@@ -19,7 +19,7 @@ import {
19
19
  WebGLRenderTarget,
20
20
  ZeroFactor
21
21
  } from 'three';
22
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
22
+ import { Pass, FullScreenQuad } from './Pass.js';
23
23
  import { SAOShader } from '../shaders/SAOShader.js';
24
24
  import { DepthLimitedBlurShader } from '../shaders/DepthLimitedBlurShader.js';
25
25
  import { BlurShaderUtils } from '../shaders/DepthLimitedBlurShader.js';
@@ -78,7 +78,7 @@ class SAOPass extends Pass {
78
78
  format: RGBAFormat
79
79
  } );
80
80
  this.depthRenderTarget = this.normalRenderTarget.clone();
81
-
81
+
82
82
  let depthTexture;
83
83
 
84
84
  if ( this.supportsDepthTextureExtension ) {
@@ -8,7 +8,7 @@ import {
8
8
  UniformsUtils,
9
9
  WebGLRenderTarget
10
10
  } from 'three';
11
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
11
+ import { Pass, FullScreenQuad } from './Pass.js';
12
12
  import { SMAAEdgesShader } from '../shaders/SMAAShader.js';
13
13
  import { SMAAWeightsShader } from '../shaders/SMAAShader.js';
14
14
  import { SMAABlendShader } from '../shaders/SMAAShader.js';
@@ -7,7 +7,7 @@ import {
7
7
  UniformsUtils,
8
8
  WebGLRenderTarget
9
9
  } from 'three';
10
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
10
+ import { Pass, FullScreenQuad } from './Pass.js';
11
11
  import { CopyShader } from '../shaders/CopyShader.js';
12
12
 
13
13
  /**
@@ -21,7 +21,7 @@ import {
21
21
  WebGLRenderTarget,
22
22
  ZeroFactor
23
23
  } from 'three';
24
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
24
+ import { Pass, FullScreenQuad } from './Pass.js';
25
25
  import { SimplexNoise } from '../math/SimplexNoise.js';
26
26
  import { SSAOShader } from '../shaders/SSAOShader.js';
27
27
  import { SSAOBlurShader } from '../shaders/SSAOShader.js';
@@ -413,6 +413,7 @@ class SSAOPass extends Pass {
413
413
  this.noiseTexture = new DataTexture( data, width, height, RGBAFormat, FloatType );
414
414
  this.noiseTexture.wrapS = RepeatWrapping;
415
415
  this.noiseTexture.wrapT = RepeatWrapping;
416
+ this.noiseTexture.needsUpdate = true;
416
417
 
417
418
  }
418
419
 
@@ -16,7 +16,7 @@ import {
16
16
  WebGLRenderTarget,
17
17
  HalfFloatType,
18
18
  } from 'three';
19
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
19
+ import { Pass, FullScreenQuad } from './Pass.js';
20
20
  import { SSRShader } from '../shaders/SSRShader.js';
21
21
  import { SSRBlurShader } from '../shaders/SSRShader.js';
22
22
  import { SSRDepthShader } from '../shaders/SSRShader.js';
@@ -17,7 +17,7 @@ import {
17
17
  HalfFloatType,
18
18
  MeshStandardMaterial
19
19
  } from 'three';
20
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
20
+ import { Pass, FullScreenQuad } from './Pass.js';
21
21
  import { SSRrShader } from '../shaders/SSRrShader.js';
22
22
  import { SSRrDepthShader } from '../shaders/SSRrShader.js';
23
23
  import { CopyShader } from '../shaders/CopyShader.js';
@@ -5,7 +5,7 @@ import {
5
5
  UniformsUtils,
6
6
  WebGLRenderTarget
7
7
  } from 'three';
8
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
8
+ import { Pass, FullScreenQuad } from './Pass.js';
9
9
  import { CopyShader } from '../shaders/CopyShader.js';
10
10
 
11
11
  class SavePass extends Pass {
@@ -2,7 +2,7 @@ import {
2
2
  ShaderMaterial,
3
3
  UniformsUtils
4
4
  } from 'three';
5
- import { Pass, FullScreenQuad } from '../postprocessing/Pass.js';
5
+ import { Pass, FullScreenQuad } from './Pass.js';
6
6
 
7
7
  class ShaderPass extends Pass {
8
8
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  WebGLRenderTarget
3
3
  } from 'three';
4
- import { SSAARenderPass } from '../postprocessing/SSAARenderPass.js';
4
+ import { SSAARenderPass } from './SSAARenderPass.js';
5
5
 
6
6
  /**
7
7
  *