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
@@ -19,7 +19,7 @@ class WebGPUNodes {
19
19
 
20
20
  if ( nodeBuilder === undefined ) {
21
21
 
22
- nodeBuilder = new WebGPUNodeBuilder( object.material, this.renderer, lightNode ).build();
22
+ nodeBuilder = new WebGPUNodeBuilder( object, this.renderer, lightNode ).build();
23
23
 
24
24
  this.builders.set( object, nodeBuilder );
25
25
 
@@ -5,7 +5,6 @@ import {
5
5
  /**
6
6
  * Convolution shader
7
7
  * ported from o3d sample to WebGL / GLSL
8
- * http://o3d.googlecode.com/svn/trunk/samples/convolution.html
9
8
  */
10
9
 
11
10
  const ConvolutionShader = {
@@ -4,7 +4,7 @@ import {
4
4
 
5
5
  /**
6
6
  * NVIDIA FXAA by Timothy Lottes
7
- * http://timothylottes.blogspot.com/2011/06/fxaa3-source-released.html
7
+ * https://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf
8
8
  * - WebGL port by @supereggbert
9
9
  * http://www.glge.org/demos/fxaa/
10
10
  */
@@ -2,7 +2,7 @@
2
2
  * Film grain & scanlines shader
3
3
  *
4
4
  * - ported from HLSL to WebGL / GLSL
5
- * http://www.truevision3d.com/forums/showcase/staticnoise_colorblackwhite_scanline_shaders-t18698.0.html
5
+ * https://web.archive.org/web/20210226214859/http://www.truevision3d.com/forums/showcase/staticnoise_colorblackwhite_scanline_shaders-t18698.0.html
6
6
  *
7
7
  * Screen Space Static Postprocessor
8
8
  *
@@ -32,7 +32,7 @@ const GammaCorrectionShader = {
32
32
 
33
33
  vec4 tex = texture2D( tDiffuse, vUv );
34
34
 
35
- gl_FragColor = LinearTosRGB( tex ); // optional: LinearToGamma( tex, float( GAMMA_FACTOR ) );
35
+ gl_FragColor = LinearTosRGB( tex );
36
36
 
37
37
  }`
38
38
 
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Two pass Gaussian blur filter (horizontal and vertical blur shaders)
3
- * - described in http://www.gamerendering.com/2008/10/11/gaussian-blur-filter-shader/
4
- * and used in http://www.cake23.de/traveling-wavefronts-lit-up.html
3
+ * - see http://www.cake23.de/traveling-wavefronts-lit-up.html
5
4
  *
6
5
  * - 9 samples per pass
7
6
  * - standard deviation 2.7
@@ -175,7 +175,7 @@ var SSRShader = {
175
175
  vec3 vP=getViewPosition( uv, d, cW );
176
176
 
177
177
  #ifdef PERSPECTIVE_CAMERA
178
- // https://www.comp.nus.edu.sg/~lowkl/publications/lowk_persp_interp_techrep.pdf
178
+ // https://comp.nus.edu.sg/~lowkl/publications/lowk_persp_interp_techrep.pdf
179
179
  float recipVPZ=1./viewPosition.z;
180
180
  float viewReflectRayZ=1./(recipVPZ+s*(1./d1viewPosition.z-recipVPZ));
181
181
  #else
@@ -190,7 +190,7 @@ const SSRrShader = {
190
190
  vec3 vP=getViewPosition( uv, d, cW );
191
191
 
192
192
  #ifdef PERSPECTIVE_CAMERA
193
- // https://www.comp.nus.edu.sg/~lowkl/publications/lowk_persp_interp_techrep.pdf
193
+ // https://comp.nus.edu.sg/~lowkl/publications/lowk_persp_interp_techrep.pdf
194
194
  float recipVPZ=1./viewPosition.z;
195
195
  float viewRefractRayZ=1./(recipVPZ+s*(1./d1viewPosition.z-recipVPZ));
196
196
  float sD=surfDist*cW;
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Two pass Gaussian blur filter (horizontal and vertical blur shaders)
3
- * - described in http://www.gamerendering.com/2008/10/11/gaussian-blur-filter-shader/
4
- * and used in http://www.cake23.de/traveling-wavefronts-lit-up.html
3
+ * - see http://www.cake23.de/traveling-wavefronts-lit-up.html
5
4
  *
6
5
  * - 9 samples per pass
7
6
  * - standard deviation 2.7
@@ -59,7 +59,7 @@ function hilbert2D( center = new Vector3( 0, 0, 0 ), size = 10, iterations = 1,
59
59
  * Generates 3D-Coordinates in a very fast way.
60
60
  *
61
61
  * Based on work by:
62
- * @link http://www.openprocessing.org/visuals/?visualID=15599
62
+ * @link https://openprocessing.org/user/5654
63
63
  *
64
64
  * @param center Center of Hilbert curve.
65
65
  * @param size Total width of Hilbert curve.
@@ -14,7 +14,8 @@ import {
14
14
  PlaneGeometry,
15
15
  RawShaderMaterial,
16
16
  Vector2,
17
- WebGLRenderTarget
17
+ WebGLRenderTarget,
18
+ FramebufferTexture
18
19
  } from 'three';
19
20
 
20
21
  const _mipmapMaterial = _getMipmapMaterial();
@@ -68,41 +69,28 @@ class RoughnessMipmapper {
68
69
 
69
70
  }
70
71
 
71
- if ( width !== roughnessMap.image.width || height !== roughnessMap.image.height ) {
72
+ const newRoughnessTexture = new FramebufferTexture( width, height, roughnessMap.format );
73
+ newRoughnessTexture.wrapS = roughnessMap.wrapS;
74
+ newRoughnessTexture.wrapT = roughnessMap.wrapT;
75
+ newRoughnessTexture.minFilter = roughnessMap.minFilter;
76
+ newRoughnessTexture.magFilter = roughnessMap.magFilter;
72
77
 
73
- const params = {
74
- wrapS: roughnessMap.wrapS,
75
- wrapT: roughnessMap.wrapT,
76
- magFilter: roughnessMap.magFilter,
77
- minFilter: roughnessMap.minFilter,
78
- depthBuffer: false
79
- };
78
+ material.roughnessMap = newRoughnessTexture;
80
79
 
81
- const newRoughnessTarget = new WebGLRenderTarget( width, height, params );
80
+ if ( material.metalnessMap == roughnessMap ) material.metalnessMap = material.roughnessMap;
82
81
 
83
- newRoughnessTarget.texture.generateMipmaps = true;
82
+ if ( material.aoMap == roughnessMap ) material.aoMap = material.roughnessMap;
84
83
 
85
- // Setting the render target causes the memory to be allocated.
84
+ // Copy UV transform parameters
86
85
 
87
- _renderer.setRenderTarget( newRoughnessTarget );
86
+ material.roughnessMap.offset.copy( roughnessMap.offset );
87
+ material.roughnessMap.repeat.copy( roughnessMap.repeat );
88
+ material.roughnessMap.center.copy( roughnessMap.center );
89
+ material.roughnessMap.rotation = roughnessMap.rotation;
90
+ material.roughnessMap.image = roughnessMap.image; // required for USDZExporter, see #22741
88
91
 
89
- material.roughnessMap = newRoughnessTarget.texture;
90
-
91
- if ( material.metalnessMap == roughnessMap ) material.metalnessMap = material.roughnessMap;
92
-
93
- if ( material.aoMap == roughnessMap ) material.aoMap = material.roughnessMap;
94
-
95
- // Copy UV transform parameters
96
-
97
- material.roughnessMap.offset.copy( roughnessMap.offset );
98
- material.roughnessMap.repeat.copy( roughnessMap.repeat );
99
- material.roughnessMap.center.copy( roughnessMap.center );
100
- material.roughnessMap.rotation = roughnessMap.rotation;
101
-
102
- material.roughnessMap.matrixAutoUpdate = roughnessMap.matrixAutoUpdate;
103
- material.roughnessMap.matrix.copy( roughnessMap.matrix );
104
-
105
- }
92
+ material.roughnessMap.matrixAutoUpdate = roughnessMap.matrixAutoUpdate;
93
+ material.roughnessMap.matrix.copy( roughnessMap.matrix );
106
94
 
107
95
  _mipmapMaterial.uniforms.roughnessMap.value = roughnessMap;
108
96
 
@@ -136,7 +124,7 @@ class RoughnessMipmapper {
136
124
 
137
125
  }
138
126
 
139
- if ( roughnessMap !== material.roughnessMap ) roughnessMap.dispose();
127
+ roughnessMap.dispose();
140
128
 
141
129
  _renderer.setRenderTarget( oldTarget );
142
130
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  export class WorkerPool {
6
6
 
7
- constructor ( pool = 4 ) {
7
+ constructor( pool = 4 ) {
8
8
 
9
9
  this.pool = pool;
10
10
  this.queue = [];
@@ -14,9 +14,9 @@ export class WorkerPool {
14
14
 
15
15
  }
16
16
 
17
- _initWorker ( workerId ) {
17
+ _initWorker( workerId ) {
18
18
 
19
- if ( !this.workers[ workerId ] ) {
19
+ if ( ! this.workers[ workerId ] ) {
20
20
 
21
21
  const worker = this.workerCreator();
22
22
  worker.addEventListener( 'message', this._onMessage.bind( this, workerId ) );
@@ -26,12 +26,12 @@ export class WorkerPool {
26
26
 
27
27
  }
28
28
 
29
- _getIdleWorker () {
29
+ _getIdleWorker() {
30
30
 
31
- for ( let i = 0 ; i < this.pool ; i ++ )
31
+ for ( let i = 0; i < this.pool; i ++ )
32
32
  if ( ! ( this.workerStatus & ( 1 << i ) ) ) return i;
33
33
 
34
- return -1;
34
+ return - 1;
35
35
 
36
36
  }
37
37
 
@@ -54,25 +54,25 @@ export class WorkerPool {
54
54
 
55
55
  }
56
56
 
57
- setWorkerCreator ( workerCreator ) {
57
+ setWorkerCreator( workerCreator ) {
58
58
 
59
59
  this.workerCreator = workerCreator;
60
60
 
61
61
  }
62
62
 
63
- setWorkerLimit ( pool ) {
63
+ setWorkerLimit( pool ) {
64
64
 
65
65
  this.pool = pool;
66
66
 
67
67
  }
68
68
 
69
- postMessage ( msg, transfer ) {
69
+ postMessage( msg, transfer ) {
70
70
 
71
71
  return new Promise( ( resolve ) => {
72
72
 
73
73
  const workerId = this._getIdleWorker();
74
74
 
75
- if ( workerId !== -1 ) {
75
+ if ( workerId !== - 1 ) {
76
76
 
77
77
  this._initWorker( workerId );
78
78
  this.workerStatus |= 1 << workerId;
@@ -89,7 +89,7 @@ export class WorkerPool {
89
89
 
90
90
  }
91
91
 
92
- dispose () {
92
+ dispose() {
93
93
 
94
94
  this.workers.forEach( ( worker ) => worker.terminate() );
95
95
  this.workersResolve.length = 0;
@@ -329,31 +329,31 @@ class OculusHandPointerModel extends THREE.Object3D {
329
329
 
330
330
  }
331
331
 
332
- intersectObject( object ) {
332
+ intersectObject( object, recursive = true ) {
333
333
 
334
334
  if ( this.raycaster ) {
335
335
 
336
- return this.raycaster.intersectObject( object );
336
+ return this.raycaster.intersectObject( object, recursive );
337
337
 
338
338
  }
339
339
 
340
340
  }
341
341
 
342
- intersectObjects( objects ) {
342
+ intersectObjects( objects, recursive = true ) {
343
343
 
344
344
  if ( this.raycaster ) {
345
345
 
346
- return this.raycaster.intersectObjects( objects, false );
346
+ return this.raycaster.intersectObjects( objects, recursive );
347
347
 
348
348
  }
349
349
 
350
350
  }
351
351
 
352
- checkIntersections( objects ) {
352
+ checkIntersections( objects, recursive = false ) {
353
353
 
354
354
  if ( this.raycaster && ! this.attached ) {
355
355
 
356
- const intersections = this.raycaster.intersectObjects( objects, false );
356
+ const intersections = this.raycaster.intersectObjects( objects, recursive );
357
357
  const direction = new THREE.Vector3( 0, 0, - 1 );
358
358
  if ( intersections.length > 0 ) {
359
359
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-three",
3
- "version": "0.133.3",
3
+ "version": "0.136.0",
4
4
  "description": "JavaScript 3D library",
5
5
  "main": "build/three.js",
6
6
  "module": "build/three.module.js",
@@ -39,14 +39,20 @@
39
39
  "html"
40
40
  ],
41
41
  "globals": {
42
- "potpack": true,
43
- "fflate": true,
44
- "ZSTDDecoder": true,
45
- "bodymovin": true,
46
- "OIMO": true,
47
- "Stats": true,
48
- "XRWebGLBinding": true,
49
- "XRWebGLLayer": true
42
+ "__THREE_DEVTOOLS__": "readonly",
43
+ "WebGL2ComputeRenderingContext": "readonly",
44
+
45
+ "potpack": "readonly",
46
+ "fflate": "readonly",
47
+ "bodymovin": "readonly",
48
+ "OIMO": "readonly",
49
+ "Stats": "readonly",
50
+ "XRWebGLBinding": "readonly",
51
+ "XRWebGLLayer": "readonly",
52
+
53
+ "GPUShaderStage": "readonly",
54
+ "GPUBufferUsage": "readonly",
55
+ "GPUTextureUsage": "readonly"
50
56
  },
51
57
  "rules": {
52
58
  "quotes": [
@@ -104,23 +110,23 @@
104
110
  },
105
111
  "homepage": "https://threejs.org/",
106
112
  "devDependencies": {
107
- "@babel/core": "^7.15.0",
108
- "@babel/eslint-parser": "^7.15.0",
113
+ "@babel/core": "^7.15.5",
114
+ "@babel/eslint-parser": "^7.15.7",
109
115
  "@babel/plugin-proposal-class-properties": "^7.14.5",
110
- "@babel/preset-env": "^7.15.0",
116
+ "@babel/preset-env": "^7.15.6",
111
117
  "@rollup/plugin-babel": "^5.3.0",
112
- "@rollup/plugin-node-resolve": "^13.0.4",
118
+ "@rollup/plugin-node-resolve": "^13.0.5",
113
119
  "chalk": "^4.1.2",
114
- "concurrently": "^6.2.1",
120
+ "concurrently": "^6.2.2",
115
121
  "eslint": "^7.32.0",
116
122
  "eslint-config-mdcs": "^5.0.0",
117
- "eslint-plugin-html": "^6.1.2",
118
- "glob": "^7.1.7",
119
- "rollup": "^2.56.3",
123
+ "eslint-plugin-html": "^6.2.0",
124
+ "glob": "^7.2.0",
125
+ "rollup": "^2.57.0",
120
126
  "rollup-plugin-filesize": "^9.1.1",
121
127
  "rollup-plugin-terser": "^7.0.2",
122
128
  "rollup-plugin-visualizer": "^5.5.2",
123
- "servez": "^1.11.1"
129
+ "servez": "^1.12.0"
124
130
  },
125
131
  "jspm": {
126
132
  "files": [
@@ -1585,7 +1585,19 @@ Object.defineProperties( WebGLRenderer.prototype, {
1585
1585
 
1586
1586
  }
1587
1587
  },
1588
+ gammaFactor: {
1589
+ get: function () {
1590
+
1591
+ console.warn( 'THREE.WebGLRenderer: .gammaFactor has been removed.' );
1592
+ return 2;
1593
+
1594
+ },
1595
+ set: function () {
1596
+
1597
+ console.warn( 'THREE.WebGLRenderer: .gammaFactor has been removed.' );
1588
1598
 
1599
+ }
1600
+ }
1589
1601
  } );
1590
1602
 
1591
1603
  Object.defineProperties( WebGLShadowMap.prototype, {
@@ -1945,3 +1957,9 @@ export function Font() {
1945
1957
  console.error( 'THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js' );
1946
1958
 
1947
1959
  }
1960
+
1961
+ export function ImmediateRenderObject() {
1962
+
1963
+ console.error( 'THREE.ImmediateRenderObject has been removed.' );
1964
+
1965
+ }
package/src/Three.js CHANGED
@@ -26,6 +26,7 @@ export { Line } from './objects/Line.js';
26
26
  export { Points } from './objects/Points.js';
27
27
  export { Group } from './objects/Group.js';
28
28
  export { VideoTexture } from './textures/VideoTexture.js';
29
+ export { FramebufferTexture } from './textures/FramebufferTexture.js';
29
30
  export { DataTexture } from './textures/DataTexture.js';
30
31
  export { DataTexture2DArray } from './textures/DataTexture2DArray.js';
31
32
  export { DataTexture3D } from './textures/DataTexture3D.js';
@@ -125,7 +126,6 @@ export { Vector2 } from './math/Vector2.js';
125
126
  export { Quaternion } from './math/Quaternion.js';
126
127
  export { Color } from './math/Color.js';
127
128
  export { SphericalHarmonics3 } from './math/SphericalHarmonics3.js';
128
- export { ImmediateRenderObject } from './extras/objects/ImmediateRenderObject.js';
129
129
  export { SpotLightHelper } from './helpers/SpotLightHelper.js';
130
130
  export { SkeletonHelper } from './helpers/SkeletonHelper.js';
131
131
  export { PointLightHelper } from './helpers/PointLightHelper.js';
@@ -155,11 +155,9 @@ export * from './Three.Legacy.js';
155
155
 
156
156
  if ( typeof __THREE_DEVTOOLS__ !== 'undefined' ) {
157
157
 
158
- /* eslint-disable no-undef */
159
158
  __THREE_DEVTOOLS__.dispatchEvent( new CustomEvent( 'register', { detail: {
160
159
  revision: REVISION,
161
160
  } } ) );
162
- /* eslint-enable no-undef */
163
161
 
164
162
  }
165
163
 
@@ -4,6 +4,7 @@ import { PerspectiveCamera } from './PerspectiveCamera.js';
4
4
 
5
5
  const _eyeRight = /*@__PURE__*/ new Matrix4();
6
6
  const _eyeLeft = /*@__PURE__*/ new Matrix4();
7
+ const _projectionMatrix = /*@__PURE__*/ new Matrix4();
7
8
 
8
9
  class StereoCamera {
9
10
 
@@ -56,7 +57,7 @@ class StereoCamera {
56
57
  // Off-axis stereoscopic effect based on
57
58
  // http://paulbourke.net/stereographics/stereorender/
58
59
 
59
- const projectionMatrix = camera.projectionMatrix.clone();
60
+ _projectionMatrix.copy( camera.projectionMatrix );
60
61
  const eyeSepHalf = cache.eyeSep / 2;
61
62
  const eyeSepOnProjection = eyeSepHalf * cache.near / cache.focus;
62
63
  const ymax = ( cache.near * Math.tan( MathUtils.DEG2RAD * cache.fov * 0.5 ) ) / cache.zoom;
@@ -72,20 +73,20 @@ class StereoCamera {
72
73
  xmin = - ymax * cache.aspect + eyeSepOnProjection;
73
74
  xmax = ymax * cache.aspect + eyeSepOnProjection;
74
75
 
75
- projectionMatrix.elements[ 0 ] = 2 * cache.near / ( xmax - xmin );
76
- projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin );
76
+ _projectionMatrix.elements[ 0 ] = 2 * cache.near / ( xmax - xmin );
77
+ _projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin );
77
78
 
78
- this.cameraL.projectionMatrix.copy( projectionMatrix );
79
+ this.cameraL.projectionMatrix.copy( _projectionMatrix );
79
80
 
80
81
  // for right eye
81
82
 
82
83
  xmin = - ymax * cache.aspect - eyeSepOnProjection;
83
84
  xmax = ymax * cache.aspect - eyeSepOnProjection;
84
85
 
85
- projectionMatrix.elements[ 0 ] = 2 * cache.near / ( xmax - xmin );
86
- projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin );
86
+ _projectionMatrix.elements[ 0 ] = 2 * cache.near / ( xmax - xmin );
87
+ _projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin );
87
88
 
88
- this.cameraR.projectionMatrix.copy( projectionMatrix );
89
+ this.cameraR.projectionMatrix.copy( _projectionMatrix );
89
90
 
90
91
  }
91
92
 
package/src/constants.js CHANGED
@@ -1,4 +1,4 @@
1
- export const REVISION = '133';
1
+ export const REVISION = '136';
2
2
  export const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };
3
3
  export const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };
4
4
  export const CullFaceNone = 0;
@@ -91,7 +91,6 @@ export const RGBFormat = 1022;
91
91
  export const RGBAFormat = 1023;
92
92
  export const LuminanceFormat = 1024;
93
93
  export const LuminanceAlphaFormat = 1025;
94
- export const RGBEFormat = RGBAFormat;
95
94
  export const DepthFormat = 1026;
96
95
  export const DepthStencilFormat = 1027;
97
96
  export const RedFormat = 1028;
@@ -157,12 +156,6 @@ export const TriangleStripDrawMode = 1;
157
156
  export const TriangleFanDrawMode = 2;
158
157
  export const LinearEncoding = 3000;
159
158
  export const sRGBEncoding = 3001;
160
- export const GammaEncoding = 3007;
161
- export const RGBEEncoding = 3002;
162
- export const LogLuvEncoding = 3003;
163
- export const RGBM7Encoding = 3004;
164
- export const RGBM16Encoding = 3005;
165
- export const RGBDEncoding = 3006;
166
159
  export const BasicDepthPacking = 3200;
167
160
  export const RGBADepthPacking = 3201;
168
161
  export const TangentSpaceNormalMap = 0;
@@ -8,7 +8,7 @@ class Layers {
8
8
 
9
9
  set( channel ) {
10
10
 
11
- this.mask = 1 << channel | 0;
11
+ this.mask = ( 1 << channel | 0 ) >>> 0;
12
12
 
13
13
  }
14
14
 
@@ -48,6 +48,12 @@ class Layers {
48
48
 
49
49
  }
50
50
 
51
+ isEnabled( channel ) {
52
+
53
+ return ( this.mask & ( 1 << channel | 0 ) ) !== 0;
54
+
55
+ }
56
+
51
57
  }
52
58
 
53
59
 
@@ -405,6 +405,8 @@ class Object3D extends EventDispatcher {
405
405
 
406
406
  // adds object as a child of this, while maintaining the object's world transform
407
407
 
408
+ // Note: This method does not support scene graphs having non-uniformly-scaled nodes(s)
409
+
408
410
  this.updateWorldMatrix( true, false );
409
411
 
410
412
  _m1.copy( this.matrixWorld ).invert();
@@ -498,7 +500,7 @@ class Object3D extends EventDispatcher {
498
500
 
499
501
  }
500
502
 
501
- raycast() {}
503
+ raycast( /* raycaster, intersects */ ) {}
502
504
 
503
505
  traverse( callback ) {
504
506