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
@@ -0,0 +1,39 @@
1
+ import { ObjectNode, SelectInput, Element, LabelElement } from '../../libs/flow.module.js';
2
+ import { MathNode, Vector3Node } from '../../renderers/nodes/Nodes.js';
3
+
4
+ const DEFAULT_VALUE = new Vector3Node();
5
+
6
+ export class TrigonometryEditor extends ObjectNode {
7
+
8
+ constructor() {
9
+
10
+ const node = new MathNode( MathNode.SIN, DEFAULT_VALUE );
11
+
12
+ super( 'Trigonometry', 1, node, 200 );
13
+
14
+ const optionsField = new SelectInput( [
15
+ { name: 'Sin', value: MathNode.SIN },
16
+ { name: 'Cos', value: MathNode.COS },
17
+ { name: 'Tan', value: MathNode.TAN }
18
+ ] ).onChange( () => {
19
+
20
+ node.method = optionsField.getValue();
21
+
22
+ this.invalidate();
23
+
24
+ } );
25
+
26
+ const input = new LabelElement( 'Source' ).setInput( 1 );
27
+
28
+ input.onConnect( () => {
29
+
30
+ node.aNode = input.linkedExtra || DEFAULT_VALUE;
31
+
32
+ } );
33
+
34
+ this.add( new Element().add( optionsField ) )
35
+ .add( input );
36
+
37
+ }
38
+
39
+ }
@@ -0,0 +1,26 @@
1
+ import { ObjectNode, LabelElement } from '../../libs/flow.module.js';
2
+ import { CheckerNode, UVNode } from '../../renderers/nodes/Nodes.js';
3
+
4
+ const DEFAULT_UV = new UVNode();
5
+
6
+ export class CheckerEditor extends ObjectNode {
7
+
8
+ constructor() {
9
+
10
+ const node = new CheckerNode( DEFAULT_UV );
11
+
12
+ super( 'Checker', 1, node, 200 );
13
+
14
+ const field = new LabelElement( 'UV' ).setInput( 2 );
15
+
16
+ field.onConnect( () => {
17
+
18
+ node.uvNode = field.linkedExtra || DEFAULT_UV;
19
+
20
+ } );
21
+
22
+ this.add( field );
23
+
24
+ }
25
+
26
+ }
@@ -0,0 +1,42 @@
1
+ import { ObjectNode, SelectInput, LabelElement } from '../../libs/flow.module.js';
2
+ import { OscNode, FloatNode } from '../../renderers/nodes/Nodes.js';
3
+
4
+ const NULL_VALUE = new FloatNode();
5
+
6
+ export class OscillatorEditor extends ObjectNode {
7
+
8
+ constructor() {
9
+
10
+ const node = new OscNode( OscNode.SINE, NULL_VALUE );
11
+
12
+ super( 'Oscillator', 1, node, 250 );
13
+
14
+ const methodInput = new SelectInput( [
15
+ { name: 'Sine', value: OscNode.SINE },
16
+ { name: 'Square', value: OscNode.SQUARE },
17
+ { name: 'Triangle', value: OscNode.TRIANGLE },
18
+ { name: 'Sawtooth', value: OscNode.SAWTOOTH }
19
+ ] );
20
+
21
+ methodInput.onChange( () => {
22
+
23
+ node.method = methodInput.getValue();
24
+
25
+ this.invalidate();
26
+
27
+ } );
28
+
29
+ const timeElement = new LabelElement( 'Time' ).setInput( 1 );
30
+
31
+ timeElement.onConnect( () => {
32
+
33
+ node.timeNode = timeElement.linkedExtra || NULL_VALUE;
34
+
35
+ } );
36
+
37
+ this.add( new LabelElement( 'Method' ).add( methodInput ) )
38
+ .add( timeElement );
39
+
40
+ }
41
+
42
+ }
@@ -0,0 +1,57 @@
1
+ import { ObjectNode, NumberInput, LabelElement, Element, ButtonInput } from '../../libs/flow.module.js';
2
+ import { TimerNode } from '../../renderers/nodes/Nodes.js';
3
+
4
+ export class TimerEditor extends ObjectNode {
5
+
6
+ constructor() {
7
+
8
+ const node = new TimerNode();
9
+
10
+ super( 'Timer', 1, node, 250 );
11
+
12
+ this.title.setIcon( 'ti ti-clock' );
13
+
14
+ const updateField = () => {
15
+
16
+ field.setValue( node.value.toFixed( 3 ) );
17
+
18
+ };
19
+
20
+ const field = new NumberInput().onChange( () => {
21
+
22
+ node.value = field.getValue();
23
+
24
+ } );
25
+
26
+ const scaleField = new NumberInput( 1 ).onChange( () => {
27
+
28
+ node.scale = scaleField.getValue();
29
+
30
+ } );
31
+
32
+ const moreElement = new Element().add( new ButtonInput( 'Reset' ).onClick( () => {
33
+
34
+ node.value = 0;
35
+
36
+ updateField();
37
+
38
+ } ) ).setSerializable( false );
39
+
40
+ this.add( new LabelElement( 'Value' ).add( field ).setSerializable( false ) )
41
+ .add( new LabelElement( 'Scale' ).add( scaleField ) )
42
+ .add( moreElement );
43
+
44
+ // extends node
45
+
46
+ node._update = node.update;
47
+ node.update = function ( ...params ) {
48
+
49
+ this._update( ...params );
50
+
51
+ updateField();
52
+
53
+ };
54
+
55
+ }
56
+
57
+ }
@@ -4,7 +4,7 @@ import {
4
4
  CubeUVReflectionMapping,
5
5
  CubeUVRefractionMapping,
6
6
  LinearEncoding,
7
- GammaEncoding
7
+ sRGBEncoding
8
8
  } from 'three';
9
9
 
10
10
  import { NodeUniform } from './NodeUniform.js';
@@ -951,7 +951,7 @@ class NodeBuilder {
951
951
 
952
952
  if ( encoding === LinearEncoding && this.context.gamma ) {
953
953
 
954
- encoding = GammaEncoding;
954
+ encoding = sRGBEncoding;
955
955
 
956
956
  }
957
957
 
@@ -34,7 +34,7 @@ NodeUtils.addShortcuts( StandardNodeMaterial.prototype, 'fragment', [
34
34
  'environment',
35
35
  'mask',
36
36
  'position',
37
- 'sheenTint'
37
+ 'sheenColor'
38
38
  ] );
39
39
 
40
40
  export { StandardNodeMaterial };
@@ -32,6 +32,7 @@ class StandardNode extends Node {
32
32
  if ( useClearcoat ) {
33
33
 
34
34
  builder.define( 'CLEARCOAT' );
35
+ builder.define( 'USE_CLEARCOAT' );
35
36
 
36
37
  }
37
38
 
@@ -185,7 +186,7 @@ class StandardNode extends Node {
185
186
 
186
187
  }
187
188
 
188
- if ( this.sheenTint ) this.sheenTint.analyze( builder );
189
+ if ( this.sheenColor ) this.sheenColor.analyze( builder );
189
190
 
190
191
  // build code
191
192
 
@@ -230,7 +231,7 @@ class StandardNode extends Node {
230
231
 
231
232
  const clearcoatEnv = useClearcoat && environment ? this.environment.flow( builder, 'c', { cache: 'clearcoat', context: contextClearcoatEnvironment, slot: 'environment' } ) : undefined;
232
233
 
233
- const sheenTint = this.sheenTint ? this.sheenTint.flow( builder, 'c' ) : undefined;
234
+ const sheenColor = this.sheenColor ? this.sheenColor.flow( builder, 'c' ) : undefined;
234
235
 
235
236
  builder.requires.transparent = alpha !== undefined;
236
237
 
@@ -368,9 +369,9 @@ class StandardNode extends Node {
368
369
 
369
370
  }
370
371
 
371
- if ( sheenTint ) {
372
+ if ( sheenColor ) {
372
373
 
373
- output.push( 'material.sheenTint = ' + sheenTint.result + ';' );
374
+ output.push( 'material.sheenColor = ' + sheenColor.result + ';' );
374
375
 
375
376
  }
376
377
 
@@ -547,7 +548,7 @@ class StandardNode extends Node {
547
548
 
548
549
  if ( source.environment ) this.environment = source.environment;
549
550
 
550
- if ( source.sheenTint ) this.sheenTint = source.sheenTint;
551
+ if ( source.sheenColor ) this.sheenColor = source.sheenColor;
551
552
 
552
553
  return this;
553
554
 
@@ -593,7 +594,7 @@ class StandardNode extends Node {
593
594
 
594
595
  if ( this.environment ) data.environment = this.environment.toJSON( meta ).uuid;
595
596
 
596
- if ( this.sheenTint ) data.sheenTint = this.sheenTint.toJSON( meta ).uuid;
597
+ if ( this.sheenColor ) data.sheenColor = this.sheenColor.toJSON( meta ).uuid;
597
598
 
598
599
  }
599
600
 
@@ -18,6 +18,14 @@ class MathNode extends TempNode {
18
18
 
19
19
  switch ( this.method ) {
20
20
 
21
+ // variable
22
+
23
+ case MathNode.ARCTAN:
24
+
25
+ return this.b ? 2 : 1;
26
+
27
+ // 3
28
+
21
29
  case MathNode.MIX:
22
30
  case MathNode.CLAMP:
23
31
  case MathNode.REFRACT:
@@ -26,6 +34,8 @@ class MathNode extends TempNode {
26
34
 
27
35
  return 3;
28
36
 
37
+ // 2
38
+
29
39
  case MathNode.MIN:
30
40
  case MathNode.MAX:
31
41
  case MathNode.MOD:
@@ -38,6 +48,8 @@ class MathNode extends TempNode {
38
48
 
39
49
  return 2;
40
50
 
51
+ // 1
52
+
41
53
  default:
42
54
 
43
55
  return 1;
@@ -90,7 +90,7 @@ class BumpMapNode extends TempNode {
90
90
  BumpMapNode.Nodes = ( function () {
91
91
 
92
92
  // Bump Mapping Unparametrized Surfaces on the GPU by Morten S. Mikkelsen
93
- // http://api.unrealengine.com/attachments/Engine/Rendering/LightingAndShadows/BumpMappingWithoutTangentSpace/mm_sfgrad_bump.pdf
93
+ // https://mmikk.github.io/papers3d/mm_sfgrad_bump.pdf
94
94
 
95
95
  // Evaluate the derivative of the height w.r.t. screen-space using forward differencing (listing 2)
96
96
 
@@ -26,19 +26,15 @@ class TextureCubeUVNode extends TempNode {
26
26
  const bilinearCubeUV = new FunctionCallNode( TextureCubeUVNode.Nodes.bilinearCubeUV, [ texture, uv, mipInt ] );
27
27
 
28
28
  this.colorSpaceTL = this.colorSpaceTL || new ColorSpaceNode( new ExpressionNode( '', 'v4' ) );
29
- this.colorSpaceTL.fromDecoding( builder.getTextureEncodingFromMap( this.value.value ) );
30
29
  this.colorSpaceTL.input.parse( bilinearCubeUV.build( builder ) + '.tl' );
31
30
 
32
31
  this.colorSpaceTR = this.colorSpaceTR || new ColorSpaceNode( new ExpressionNode( '', 'v4' ) );
33
- this.colorSpaceTR.fromDecoding( builder.getTextureEncodingFromMap( this.value.value ) );
34
32
  this.colorSpaceTR.input.parse( bilinearCubeUV.build( builder ) + '.tr' );
35
33
 
36
34
  this.colorSpaceBL = this.colorSpaceBL || new ColorSpaceNode( new ExpressionNode( '', 'v4' ) );
37
- this.colorSpaceBL.fromDecoding( builder.getTextureEncodingFromMap( this.value.value ) );
38
35
  this.colorSpaceBL.input.parse( bilinearCubeUV.build( builder ) + '.bl' );
39
36
 
40
37
  this.colorSpaceBR = this.colorSpaceBR || new ColorSpaceNode( new ExpressionNode( '', 'v4' ) );
41
- this.colorSpaceBR.fromDecoding( builder.getTextureEncodingFromMap( this.value.value ) );
42
38
  this.colorSpaceBR.input.parse( bilinearCubeUV.build( builder ) + '.br' );
43
39
 
44
40
  // add a custom context for fix incompatibility with the core
@@ -230,6 +226,7 @@ TextureCubeUVNode.Nodes = ( function () {
230
226
 
231
227
  return TextureCubeUVData( tl, tr, br, bl, f );
232
228
  }`, [ TextureCubeUVData, getFace, getUV, cubeUV_maxMipLevel, cubeUV_minMipLevel, cubeUV_maxTileSize, cubeUV_minTileSize ] );
229
+
233
230
  bilinearCubeUV.useKeywords = false;
234
231
 
235
232
  // These defines must match with PMREMGenerator
@@ -1,18 +1,10 @@
1
1
  import {
2
- GammaEncoding,
3
2
  LinearEncoding,
4
- RGBEEncoding,
5
- RGBM7Encoding,
6
- RGBM16Encoding,
7
- RGBDEncoding,
8
3
  sRGBEncoding
9
4
  } from 'three';
10
5
 
11
6
  import { TempNode } from '../core/TempNode.js';
12
- import { ConstNode } from '../core/ConstNode.js';
13
- import { FloatNode } from '../inputs/FloatNode.js';
14
7
  import { FunctionNode } from '../core/FunctionNode.js';
15
- import { ExpressionNode } from '../core/ExpressionNode.js';
16
8
 
17
9
  class ColorSpaceNode extends TempNode {
18
10
 
@@ -106,8 +98,6 @@ class ColorSpaceNode extends TempNode {
106
98
 
107
99
  ColorSpaceNode.Nodes = ( function () {
108
100
 
109
- // For a discussion of what this is, please read this: http://lousodrome.net/blog/light/2013/05/26/gamma-correct-and-hdr-rendering-in-a-32-bits-buffer/
110
-
111
101
  const LinearToLinear = new FunctionNode( /* glsl */`
112
102
  vec4 LinearToLinear( in vec4 value ) {
113
103
 
@@ -116,22 +106,6 @@ ColorSpaceNode.Nodes = ( function () {
116
106
  }`
117
107
  );
118
108
 
119
- const GammaToLinear = new FunctionNode( /* glsl */`
120
- vec4 GammaToLinear( in vec4 value, in float gammaFactor ) {
121
-
122
- return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );
123
-
124
- }`
125
- );
126
-
127
- const LinearToGamma = new FunctionNode( /* glsl */`
128
- vec4 LinearToGamma( in vec4 value, in float gammaFactor ) {
129
-
130
- return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );
131
-
132
- }`
133
- );
134
-
135
109
  const sRGBToLinear = new FunctionNode( /* glsl */`
136
110
  vec4 sRGBToLinear( in vec4 value ) {
137
111
 
@@ -148,146 +122,19 @@ ColorSpaceNode.Nodes = ( function () {
148
122
  }`
149
123
  );
150
124
 
151
- const RGBEToLinear = new FunctionNode( /* glsl */`
152
- vec4 RGBEToLinear( in vec4 value ) {
153
-
154
- return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );
155
-
156
- }`
157
- );
158
-
159
- const LinearToRGBE = new FunctionNode( /* glsl */`
160
- vec4 LinearToRGBE( in vec4 value ) {
161
-
162
- float maxComponent = max( max( value.r, value.g ), value.b );
163
- float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );
164
- return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );
165
-
166
- }`
167
- );
168
-
169
- // reference: http://iwasbeingirony.blogspot.ca/2010/06/difference-between-rgbm-and-rgbd.html
170
-
171
- const RGBMToLinear = new FunctionNode( /* glsl */`
172
- vec3 RGBMToLinear( in vec4 value, in float maxRange ) {
173
-
174
- return vec4( value.xyz * value.w * maxRange, 1.0 );
175
-
176
- }`
177
- );
178
-
179
- const LinearToRGBM = new FunctionNode( /* glsl */`
180
- vec3 LinearToRGBM( in vec4 value, in float maxRange ) {
181
-
182
- float maxRGB = max( value.x, max( value.g, value.b ) );
183
- float M = clamp( maxRGB / maxRange, 0.0, 1.0 );
184
- M = ceil( M * 255.0 ) / 255.0;
185
- return vec4( value.rgb / ( M * maxRange ), M );
186
-
187
- }`
188
- );
189
-
190
- // reference: http://iwasbeingirony.blogspot.ca/2010/06/difference-between-rgbm-and-rgbd.html
191
-
192
- const RGBDToLinear = new FunctionNode( /* glsl */`
193
- vec3 RGBDToLinear( in vec4 value, in float maxRange ) {
194
-
195
- return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );
196
-
197
- }`
198
- );
199
-
200
-
201
- const LinearToRGBD = new FunctionNode( /* glsl */`
202
- vec3 LinearToRGBD( in vec4 value, in float maxRange ) {
203
-
204
- float maxRGB = max( value.x, max( value.g, value.b ) );
205
- float D = max( maxRange / maxRGB, 1.0 );
206
- D = clamp( floor( D ) / 255.0, 0.0, 1.0 );
207
- return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );
208
-
209
- }`
210
- );
211
-
212
- // LogLuv reference: http://graphicrants.blogspot.ca/2009/04/rgbm-color-encoding.html
213
-
214
- // M matrix, for encoding
215
-
216
- const cLogLuvM = new ConstNode( 'const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );' );
217
-
218
- const LinearToLogLuv = new FunctionNode( /* glsl */`
219
- vec4 LinearToLogLuv( in vec4 value ) {
220
-
221
- vec3 Xp_Y_XYZp = cLogLuvM * value.rgb;
222
- Xp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));
223
- vec4 vResult;
224
- vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;
225
- float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;
226
- vResult.w = fract(Le);
227
- vResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;
228
- return vResult;
229
-
230
- }`
231
- , [ cLogLuvM ] );
232
-
233
- // Inverse M matrix, for decoding
234
-
235
- const cLogLuvInverseM = new ConstNode( 'const mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );' );
236
-
237
- const LogLuvToLinear = new FunctionNode( /* glsl */`
238
- vec4 LogLuvToLinear( in vec4 value ) {
239
-
240
- float Le = value.z * 255.0 + value.w;
241
- vec3 Xp_Y_XYZp;
242
- Xp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);
243
- Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;
244
- Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;
245
- vec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;
246
- return vec4( max(vRGB, 0.0), 1.0 );
247
-
248
- }`
249
- , [ cLogLuvInverseM ] );
250
-
251
125
  return {
252
126
  LinearToLinear: LinearToLinear,
253
- GammaToLinear: GammaToLinear,
254
- LinearToGamma: LinearToGamma,
255
127
  sRGBToLinear: sRGBToLinear,
256
- LinearTosRGB: LinearTosRGB,
257
- RGBEToLinear: RGBEToLinear,
258
- LinearToRGBE: LinearToRGBE,
259
- RGBMToLinear: RGBMToLinear,
260
- LinearToRGBM: LinearToRGBM,
261
- RGBDToLinear: RGBDToLinear,
262
- LinearToRGBD: LinearToRGBD,
263
- cLogLuvM: cLogLuvM,
264
- LinearToLogLuv: LinearToLogLuv,
265
- cLogLuvInverseM: cLogLuvInverseM,
266
- LogLuvToLinear: LogLuvToLinear
128
+ LinearTosRGB: LinearTosRGB
267
129
  };
268
130
 
269
131
  } )();
270
132
 
271
133
  ColorSpaceNode.LINEAR_TO_LINEAR = 'LinearToLinear';
272
134
 
273
- ColorSpaceNode.GAMMA_TO_LINEAR = 'GammaToLinear';
274
- ColorSpaceNode.LINEAR_TO_GAMMA = 'LinearToGamma';
275
-
276
135
  ColorSpaceNode.SRGB_TO_LINEAR = 'sRGBToLinear';
277
136
  ColorSpaceNode.LINEAR_TO_SRGB = 'LinearTosRGB';
278
137
 
279
- ColorSpaceNode.RGBE_TO_LINEAR = 'RGBEToLinear';
280
- ColorSpaceNode.LINEAR_TO_RGBE = 'LinearToRGBE';
281
-
282
- ColorSpaceNode.RGBM_TO_LINEAR = 'RGBMToLinear';
283
- ColorSpaceNode.LINEAR_TO_RGBM = 'LinearToRGBM';
284
-
285
- ColorSpaceNode.RGBD_TO_LINEAR = 'RGBDToLinear';
286
- ColorSpaceNode.LINEAR_TO_RGBD = 'LinearToRGBD';
287
-
288
- ColorSpaceNode.LINEAR_TO_LOG_LUV = 'LinearToLogLuv';
289
- ColorSpaceNode.LOG_LUV_TO_LINEAR = 'LogLuvToLinear';
290
-
291
138
  ColorSpaceNode.getEncodingComponents = function ( encoding ) {
292
139
 
293
140
  switch ( encoding ) {
@@ -296,16 +143,6 @@ ColorSpaceNode.getEncodingComponents = function ( encoding ) {
296
143
  return [ 'Linear' ];
297
144
  case sRGBEncoding:
298
145
  return [ 'sRGB' ];
299
- case RGBEEncoding:
300
- return [ 'RGBE' ];
301
- case RGBM7Encoding:
302
- return [ 'RGBM', new FloatNode( 7.0 ).setReadonly( true ) ];
303
- case RGBM16Encoding:
304
- return [ 'RGBM', new FloatNode( 16.0 ).setReadonly( true ) ];
305
- case RGBDEncoding:
306
- return [ 'RGBD', new FloatNode( 256.0 ).setReadonly( true ) ];
307
- case GammaEncoding:
308
- return [ 'Gamma', new ExpressionNode( 'float( GAMMA_FACTOR )', 'f' ) ];
309
146
 
310
147
  }
311
148
 
@@ -2,14 +2,12 @@ import {
2
2
  AdditiveBlending,
3
3
  Box2,
4
4
  BufferGeometry,
5
- ClampToEdgeWrapping,
6
5
  Color,
7
- DataTexture,
6
+ FramebufferTexture,
8
7
  InterleavedBuffer,
9
8
  InterleavedBufferAttribute,
10
9
  Mesh,
11
10
  MeshBasicMaterial,
12
- NearestFilter,
13
11
  RGBFormat,
14
12
  RawShaderMaterial,
15
13
  Vector2,
@@ -34,17 +32,8 @@ class Lensflare extends Mesh {
34
32
 
35
33
  // textures
36
34
 
37
- const tempMap = new DataTexture( new Uint8Array( 16 * 16 * 3 ), 16, 16, RGBFormat );
38
- tempMap.minFilter = NearestFilter;
39
- tempMap.magFilter = NearestFilter;
40
- tempMap.wrapS = ClampToEdgeWrapping;
41
- tempMap.wrapT = ClampToEdgeWrapping;
42
-
43
- const occlusionMap = new DataTexture( new Uint8Array( 16 * 16 * 3 ), 16, 16, RGBFormat );
44
- occlusionMap.minFilter = NearestFilter;
45
- occlusionMap.magFilter = NearestFilter;
46
- occlusionMap.wrapS = ClampToEdgeWrapping;
47
- occlusionMap.wrapT = ClampToEdgeWrapping;
35
+ const tempMap = new FramebufferTexture( 16, 16, RGBFormat );
36
+ const occlusionMap = new FramebufferTexture( 16, 16, RGBFormat );
48
37
 
49
38
  // material
50
39