Releases: mrdoob/three.js
r166
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r165--r166
https://github.com/mrdoob/three.js/milestone/79?closed=1
- BatchedMesh
- Add support for instanced rendering with sorting, frustum culling. #28456, #28462 (@gkjohnson)
- Avoid primitive restart values in index array. #28641 (@donmccurdy)
- Update references to
BatchedMesh.maxGeometryCount. #28694 (@Methuselah96)
- CompressedArrayTexture
- Rename
addLayerUpdates()toaddLayerUpdate(). #28679 (@HunterLarco) - Support all texture formats in
addLayerUpdate(). #28654 (@HunterLarco)
- Rename
- Light
- LightShadow
- Add
intensity. #28588 (@Mugen87, @WestLangley)
- Add
- Material
- Object3D
- Respect
matrixWorldAutoUpdatein matrix update methods. #28533 (@CodyJasonBennett)
- Respect
- TextureUtils
- Add
contain(),cover()andfill(). #28713 (@Mugen87, @WestLangley, @abernier)
- Add
- WebGLRenderer
- Sort objects in clip space. #28474, #28571 (@eiriklegernaes)
- Add missing parameters to
copyTextureToTexture(). #28663 (@gkjohnson)
- WebGLUniforms
- Assign
compareFunctionlazily to retain tree-shaking. #28670 (@CodyJasonBennett)
- Assign
- WebXRManager
Documentation
- Fix broken links. #28536, #28590, #28715 (@Mugen87, @YasharSL)
- Improve Chinese translation. #28550, #28561, #28576, #28619, #28621, #28622, #28626, #28625, #28634, #28643, #28657 (@appache163, @mmjinglin163, @ycw)
- Improve WebGL compatibilty guide. #28630 (@Mugen87)
- Improve
GLTFExporterpage. #28649 (@trusktr) - Improve
Materialpage. #28750 (@satelllte) - Add page for
TeapotGeometry. #28633, #28664 (@hongchristopher, @Mugen87)
Examples
- Clean up. #28540 (@linbingquan)
- Revert tween.js upgrade. #28554 (@Mugen87)
- Remove broken iCCP chunks in some PNG files. #28564 (@chirsz-ever)
- Add
webgpu_tsl_interoperabilityexample. #28379, #28706 (@cmhhelgeson, @Methuselah96) - Don't accumulate tiny translations in
games_fpsexample. #28662 (@ycw) - Replace
./jsm/in import statements withthree/addon. #28724 (@chirsz-ever) - Fix
webgpu_storage_bufferexample. #28729 (@sunag)
-
FBXLoader
- Support more texture formats. #28515 (@catalin-enache)
-
GLTFLoader
- Use
ImageBitmapLoaderin Safari >= 17. #28560, #28712 (@paugit, @RenaudRohlinger)
- Use
-
GPUComputationRenderer
-
Node
- Introduce
updateAfter(). #28552 (@RenaudRohlinger) - Introduces cache hierarchy. #28585 (@sunag)
- Add cache hierachy to
StorageBufferNode. #28607 (@RenaudRohlinger) - Add
SobelOperatorNode. #28733 (@Mugen87) - Revision
linearDepthproperty inPassNode. #28737 (@sunag) - Add
DepthOfFieldNode. #28740 (@Mugen87) - Fix
setUsage()on non-InterleavedBuffer inBufferAttributeNode. #28742 (@RenaudRohlinger) - Add
DotScreenNodeandRGBShiftNode. #28755 (@Mugen87)
- Introduce
-
RenderTransitionPass
-
SSAOPass
-
TSL
- Add
transpose()function. #28539 (@aardgoose) - Fix
label()usage inuniform(). #28548 (@sunag) - Fix float over float conversion. #28562 (@sunag)
- Add
Returnexpression. #28595 (@RenaudRohlinger) - Support int/uint in
UniformsNode. #28666, #28667 (@RenaudRohlinger) - Respect types in WGSL layouts. #28669 (@RenaudRohlinger)
wgslFnadded alias and revision. #28680, #28686, #28687 (@sunag, @cmhhelgeson)- Fix WGSL Functions using wrong type. #28690 (@RenaudRohlinger)
- Improve tree shaking support. #28707 (@sunag)
- Operator - Left to right associativity. #28709 (@sunag)
- Bidirectional associative. #28710 (@sunag)
- Update MaterialX library. #28711 (@sunag)
- Support non-dynamic matrice update. #28716 (@RenaudRohlinger)
- UniformsNode aligned TypedArray to format. #28723 (@RenaudRohlinger)
- Depth nodes revision. #28720 (@sunag)
- Improve
range()size. #28745 (@sunag) - Fix analyze in
varying(). #28746 (@sunag)
- Add
-
USDZLoader
-
ViewHelper
-
WebGPURenderer
- Clean up. #28717 (@RenaudRohlinger)
- Cache the result of
gl.getExtension()calls as intended. #28553 (@aardgoose) - Introduce
PostProcessing.needsUpdate. #28583 (@sunag) - Remove redundant check for instance support. #28596 (@aardgoose)
- Add support for
NeutralToneMapping. #28609 (@Mugen87) - Int/Uint Support to StorageBufferNode in
WebGLBackend. #28606 (@RenaudRohlinger) RectAreaLightsupport. #28580 (@aardgoose)- Allow using StorageBuffer directly as attribute in nodes. #28620 (@RenaudRohlinger)
- Fix Storage Buffer fallback in
WebGLBackend. #28644 (@RenaudRohlinger) - Override alpha channel to 1 for opaque materials. #28646 (@RenaudRohlinger)
- Enhance GLSL Error in
WebGLBackend. #28594 (@RenaudRohlinger) - Add missing parameters to
copyTextureToTexture()inWebGLBackend. #28676 (@sunag) - Introduce
biquadraticTexturefiltering. #28673 (@sunag) - Revision texture filtering and rain example. #28682 (@sunag)
- Remove
.isInstancedMeshneeds. #28683 (@sunag) - Fix uniform update tests. #28698 (@sunag)
- Update attribute only when needed. #28701 (@RenaudRohlinger)
- Optimize interleaved buffer update. #28704 (@z4122)
- Introduce Bind Groups. #28705 (@sunag)
- Fix
fog=falseand snow example. #28718 (@sunag) - Fix StorageBuffer fallback in
WebGLBackend. #28722 (@RenaudRohlinger) - Bind groups cache per renderer. #28730 (@sunag)
- Improve performances for trackTimestamp in WebGPU. #28741 (@sunag)
- Read/Write only Storage Buffer creation. #28435 (@cmhhelgeson)
- Fix Light+NormalMaterial. #28747 (@sunag)
- Improve performance tracking logic for better accuracy. #28748 (@RenaudRohlinger)
Editor
- Alerts if invalid material is found when rendering image in
REALISTIC. #28518 (@ycw) - Update
three-gpu-pathtracerto0.0.23. #28587 (@ycw) - Add shadow intensity support. #28597, #28604 (@Mugen87, @ycw)
- Fixed warning message typo in
sw.js. #28603 (@ycw) - Introduce
SetShadowValueCommand. #28608, #28616 (@Mugen87, @ycw) - Fix UI of geometry generators when undo/redo. #28610 (@Mugen87)
- Dispose object's helper when removing helper. #28614 (@ycw)
- Fixed wrong UI element for "Cap Seg". #28612 (@ycw)
- Sync
VertexNormalHelperwith geometry. #28613 (@ycw) - Remove
<!-- includes -->replacement code when publish app. #28627 (@ycw) - Refresh geometry UI only if needed. #28624 (@ycw)
- Fix undo/redo of points. #28677 (@Mugen87)
- Remove reference to
targetInverse. #28721 (@Mugen87)
r165
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r164--r165
https://github.com/mrdoob/three.js/milestone/78?closed=1
- Global
- Add eslint to renovate bot's denylist. #28356 (@donmccurdy)
- BatchedMesh
- Add
getColorAt()andsetColorAt(). #28255, #28417, #28416 (@Kikedao, @aardgoose, @gkjohnson) - Fix radix sort stability. #28401 (@gkjohnson)
- Add
- DepthTexture
- Use ES6 default parameters. #28367 (@linbingquan)
- Update depth + stencil textures to work with multi sample RTT, make formats consistent. #28460 (@gkjohnson)
- FileLoader
- KeyframeTrack
- LoaderUtils
- Raycaster
- Add ability to stop propagation. #27709, #28520 (@AlaricBaraou, @mrdoob)
- Texture
- Add
layerUpdatesin array textures. #27972 (@HunterLarco)
- Add
- WebGLExtensions
- WebGLRenderer
- Add
readRenderTargetPixelsAsync(). #28291 (@gkjohnson) - Enable subframe upload in
copyTextureToTexture(), align API to 3d version. #28281 (@gkjohnson) - Add
initRenderTarget(). #28285, #28308 (@gkjohnson) - Simplify morph target code. #28388 (@Mugen87)
- Fix incorrect background color space when setting
Scene.backgroundto color. #28434, #28447 (@gkjohnson, @Mugen87) - Ensure correct clear after transmission. #28445, #28446 (@Mugen87)
- Remove deprecated
useLegacyLights. #28482 (@aardgoose) - Fix WebXR depth sensing. #28530 (@cabanier)
- Add
Documentation
- Improve
SceneUtilspage. #28234 (@Mugen87) - Improve
Creating a sceneguide. #28269 (@Mugen87) - Improve
InstancedMeshpage. #28415 (@finnbear) - Improve
WebGLRendererpage. #28307, #28478 (@Mugen87, @sundaramseth) - Add
EdgeSplitModifierpage. #28516 (@JaimeTorrealba) - Add
Skypage. #28529 (@JaimeTorrealba) - Improve Chinese translation. #28528 (@leedom92)
Examples
- Clean up. #28419, #28476 (@Methuselah96)
- Remove unused render pass in
examples/webgpu_multiple_rendertargets_readbackexample. #28219 (@aardgoose) - More usage of
setAnimationLoop(). #28236, #28241, #28250, #28257 (@Mugen87) - Update dependencies in
webgl_renderer_pathtracerexample. #28233, #28279 (@gkjohnson) - Fix WebGPU logarithmic depth buffer demo. #28249 (@Mugen87)
- Remove need for manually assigning
Line2material resolution. #28343 (@gkjohnson) - Upgrade tween.module.js to
23.1.2. #28391 (@linbingquan) - Sort
webgpu_*alphabetically and renamedwebgl2_*towebgl_*. 1603f76 (@mrdoob) - Improve
webgpu_lights_customexample. f0f0e19 (@mrdoob)
-
BufferGeometryUtils
- Fix
mergeVertices()to handle morph attributes. #28441 (@catalin-enache)
- Fix
-
CSS2DRenderer
-
CSS3DRenderer
-
CurveModifier
-
DRACOLoader
-
FBXLoader
- Fixed morph attributes to match base geometry length. #28397 (@catalin-enache)
-
GLTFLoader
- Assign extras to texture. #28226 (@harrycollin)
-
GPUStatsPanel
-
LDrawLoader:
-
MMDLoader
- Detect model extension from file content. #28266 (@YusakuNo1)
-
NodeBuilder
- Clean up. #28506, #28508(@Methuselah96)
-
RenderPass
-
SortUtils
-
TransformControls
-
TSL
- Adding
toType()conversion. #28344 (@sunag) AttributeNode.defaultNodeasdefaultValue. #28406 (@sunag)VaryingNodesupport forsetup(). #28407 (@sunag)- Improve tree shaking using TSL in node classes. #28408, #28410, #28422, #28510, #28511 (@sunag)
- Fix
tslFn()output type called before build. #28409 (@sunag) - Introduce
modelWorldMatrixInverse. #28433 (@sunag) - Node - Introduce
getElementType(). #28437 (@sunag) - Fix Math/Operators fail generate cache with same node. #28502 (@sunag)
- Introduce
.toGlobal. #28503 (@sunag) - Fix twice flow node in
VaryingNode. #28504 (@sunag) - Analyze lights and auto generate cache. #28509 (@sunag)
- Adding
-
USDZExporter
- Make including anchoring properties optional. #28363 (@vincentfretin)
-
ViewHelper
-
WebGPURenderer
- Implement displacement map for materials. #28246 (@aardgoose)
- Add
MeshMatcapNodeMaterial. #28259, #28274 (@aardgoose, @sunag) - Update sampler bindings on texture change. #28268 (@aardgoose)
- Add
MeshToonNodeMaterial. #28235 (@aardgoose) - Don't share
normalViewMatrixbetween render passes. #28283 (@aardgoose) - Add
copyTextureToTexture()subframe upload and new API. #28315 (@RenaudRohlinger) - Update
copyFramebufferToTexture()function signature. #28329 (@RenaudRohlinger) NodeMaterialextendsMaterial. #28313 (@sunag)- Export
texturePassnode. #28359 (@RenaudRohlinger) - Update viewport node on RENDER. #28370 (@aardgoose)
- Add temporary fix for texture binding. #28402 (@RenaudRohlinger)
- Fix tone mapping in
AfterImageNode. #28442 (@RenaudRohlinger) - Introduce dispersion. #28439 (@sunag)
- Support using 3d textures in shaders with
texture3d()and addVolumeNodeMaterialand examples. #28418 (@aardgoose) - Fix shadow layers. #28451 (@sunag)
- Remove deprecated method
getArrayBuffer(). #28481 (@aardgoose) - Export
texture3D(). #28484 (@RenaudRohlinger) - Handle more internal formats for textures. #28483 (@RenaudRohlinger)
- Fix custom blending. #28490 (@RenaudRohlinger)
- Clean up
ChainMap. #28492 (@Methuselah96) - Clean up
Uniform. #28500 (@Methuselah96) - Clean up
Pipelines. #28495 (@Methuselah96) - Avoid object creation in
PassNode.updateBefore(). #28505 (@aardgoose) - Fix
clearcoatRoughness. #28507 (@sunag) - Fix rendering to depth textures with multiple color attachments. #28523 (@aardgoose)
- Apply color space/tone mapping if required in
clear(). #28521 (@aardgoose) - Read only and read/write storage textures. #28455 (@cmhhelgeson)
Test
Editor
- Update path tracer to latest version. #28239, #28280 (@gkjohnson, @ycw)
- Use precise transaction mode. #28243 (@ycw)
- Fix viewport penetrates tabbed panel issue. #28244 (@ycw)
- Fix unreadable text in viewport. #28253 (@ycw)
- Fix ghost background and environment issue in a New-ed app. #28251 (@ycw)
- Fix outliner's low contrast issue in dark theme. #28248 (@ycw)
- Fix units ignore plural rules issue. #28245 (@ycw)
- Initialize UIs in user preferred language on the first run. #28254 (@ycw)
- Fix ESlint problems. #28261 (@ycw)
- Fix non-localized prompt messages. #28260 (@ycw)
- Not pollute Number's prototype. #28262 (@ycw)
- Add dedicated
.eslintrc.json. #28271 (@ycw) - Fix
typeinSetMaterialVectorCommand. #28276 (@ycw) - Use
FullScreenQuadforUITexture. #28273 (@linbingquan) - Fix non-localized history entries. #28275 (@ycw)
- Fix object changes out-of-sync with outliner options. #28270 (@ycw)
- Fix ghost viewport camera. #28277 (@ycw)
- Fix viewport camera selector out of sync. #28297 (@ycw)
- Set cursor to not-allowed for inactive menubar options. #28298 (@ycw)
- Fixed missing unit in background rotation control. #28299 (@ycw)
- Tidy up, no
keyCode,createEventandsubstr. #28304, #28305, #28303 (@ycw) - Fix uncaught exception with invalid environment/background setting. #28300 (@ycw)
- Fix camera name is always 'Camera' when recovering from indexedDB. #28309 (@ycw)
- Added submenu navigation. #28311, #28316, #28325, #28352, #28384, 9f81b72, cc9a249, c857c1e, cf29a58, 3468145, 65c4c27, c5ae348, b2e1389, 97fcd3c (@ycw, @mrdoob)
- Fix assets lost when importing zipped OBJ/MTL. #28292 (@ycw)
- Fix gizmo not update when switching local/global space. #28317 (@ycw)
- Fix selected object unselected when recovering. #28318 (@ycw)
- Hide irrelevant tabs for better UX. #28287 (@ycw)
- Fix Undo/Redo are both active when history is empty. #28332 (@ycw)
- Fixed missing export of
SetMaterialRangeCommand. #28338 (@ycw) - Set filename for SVG files. #28340, #28368 (@linbingquan, @ycw)
- Fix camera UUID lost when recovering. #28337 (@ycw)
- Fix TODO: Bind lexical this. #28357 (@ycw)
- Fix persistent history. #28361, #28405 (@ycw, @Mugen87)
- Export JSON = Download. #28221 (@ycw)
- Remove useless service worker asset. #28371 (@linbingquan)
- Remove useless question mark. #28374 (@linbingquan)
- Fix
Sidebar.Geometry.ExtrudeGeometry.js. #28373 (@linbingquan) - Added Save and Open. #28351 (@ycw)
- Avoid
SetSceneCommndwhen importing file. #28339 (@ycw) - Visualize the resizer. #28264 (@ycw)
- Fix wrong camera aspect ratio when window resized for REALISTIC shading. #28412 (@ycw)
- Fix script editor title out-of-sync. #28413 (@ycw)
- Submenu title should ignore active state. #28424 (@ycw)
- Fix unhandled material array when ...
r164
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r163--r164
https://github.com/mrdoob/three.js/milestone/77?closed=1
- Global
- BatchedMesh
- Add
getInstanceCount()/setInstanceCount()methods for instanced multi-draw. #28103 (@CodyJasonBennett)
- Add
- FileLoader
- Line
- MeshPhysicalMaterial
- PMREMGenerator
- RenderTarget
- WebGLBackground
- WebGLCapabilities
- Add
textureTypeReadable()andtextureFormatReadable(). #28087 (@sguimmara)
- Add
- WebGLRenderer
- Use ETC2 for ETC1 textures. #28021 (@Mugen87)
- Clean up tone mapping shaders. #28084 (@WestLangley)
- Let
transmissionRenderTargetsize match relevant viewport size. #28088 (@mrxz) - Prerender transmission pass(es). #28097 (@mrxz, @cabanier)
- Fix global clipping planes with nested render calls. #28120 (@Mugen87)
- Discard depth after rendering to
transmissionRenderTarget. #28132 (@mrxz) copyTextureToTexture3D()depth fix and exclusive approach. #28154 (@RenaudRohlinger)- Simplify
getContext(). #28186 (@vitch) - Don't support double-sided, transmissive objects with
WEBGL_multisampled_render_to_texture. #28196 (@Mugen87)
- WebGLShadowMap
- Clean up. #28194 (@linbingquan)
- WebGLTextures
Documentation
- Improve
Libraries and Pluginsguide. #28077, #28085 (@atul-mourya, @Mugen87) - Improve
Post-Processingguide. #28168 (@atul-mourya) - Improve
Object3Dpage. #28145 (@Mugen87) - Improve
Planepage. #28153 (@Mugen87) - Improve
WebGLRendererTargetpage. #28112 (@Mugen87) - Improve Chinese translation. #28040, #28159 (@moshuying, @lreebom)
- Improve Korean translation. #28090, #28123 (@eunjios, @kdby-io)
- Remove
THREEprefix from several addon uses. #28105 (@0b5vr)
Manual
- Improve Chinese translation. #28076 (@HonorableLeon)
Examples
- Clean up. #28121, #28213 (@linbingquan)
- Remove lensflares from VR sandbox demo. #28110 (@Mugen87)
- Added Jolt physics example. #28023, 0adce30 (@mrdoob, @ycw, @Mugen87)
- Use
FullScreenQuadforwebgl_postprocessing_crossfadeexample. #28171 (@linbingquan) - Add resize event listener for
webgl_postprocessing_crossfadeexample. #28172 (@linbingquan) - Fix
monaco-editor. #28201 (@sunag) - Fix
webgpu_loader_materialxexample. 7c449d8 (@mrdoob) - Add
webgpu_multiple_rendertargets_readbackexample. #28211 (@Spiri0, @sunag)
-
CCDIKSolver
- Allow specifying sphere size in
createHelper(). #28147 (@Psychpsyo)
- Allow specifying sphere size in
-
EXRLoader
-
GLTFExporter
- Fix missing clearcoat normal map scale. #28099 (@Mugen87)
- Include
three.jsversion in generator string. #28137, 28222 (@donmccurdy, @RemusMar)
-
KTX2Loader
-
Line2NodeMaterial
- Simplify extension. #28160 (@aardgoose)
-
LWOLoader
-
MeshGouraudMaterial
-
NodeMaterial
- Clean up. #28185 (@linbingquan)
- Remove
WebGLNodeBuilder. #28167, #28173 (@sunag, @aardgoose)
-
Octree
-
OculusHandModel
-
RenderTransitionPass
- Add new class for transition effects. #28174, #28207 (@linbingquan)
-
SceneUtils
- Add generator-based traversal methods. #28053 (@HoloTheDrunk)
-
TSL
-
USDZExporter
-
VRMLLoader
-
WebGPURenderer
- Add batch texture to
cacheKey. #28039 (@RenaudRohlinger) - Add missing Z axis to
viewportCoordinate. #28041 (@RenaudRohlinger) - Forward
depthNodeto shadows. #28042 (@RenaudRohlinger) - Apply
setupDeptheven iffragmentNodeisn'tnull. #28043 (@RenaudRohlinger) - Fix
viewZToPerspectiveDepth. #28045 (@RenaudRohlinger) - Add
textureGradsupport. #28048 (@RenaudRohlinger) - Add support for multisampling in
copyFramebufferToTexture(). #28054 (@sunag) - Add
aoNodetoNodeMaterial. #28061 (@RenaudRohlinger) - Fix
faceDirectioninWebGLBackendif usedBackSide. #28064 (@sunag) - Introduce compute geometry. #28072 (@sunag)
- Transmission - Backdrop 3/3. #27880 (@sunag)
- Fix
specularF90ofMeshStandardMaterial. #28138 (@sunag) - Fix
receiveShadowand introduceshadowPositionNode. #28146 (@RenaudRohlinger) - Fix calculation of array buffer size copying texture to buffer. #28161 (@aardgoose)
- Fix group draw range. #28163 (@sunag)
- Added
lightMapsupport #28164 (@sunag) - Use
textureGradfor PMREMs. #28181 (@sunag) - Support
specularColorMap. #28155 (@susiwen8) - Allows the device to be created externally. #28192 (@chirsz-ever)
- Fix
D_BlinnPhong. #28199 (@susiwen8) - Add
ShadowMaterialsupport. #28200 (@sunag) - Allow specifying texture index for MRT in
readRenderTargetPixelsAsync(). #28197 (@Spiri0) - Remove unnecessary use of
GPUAdapter. #28217 (@sunag, @chirsz-ever) - Wait for device initialization in
hasFeatureAsync(). #28218 (@sunag)
- Add batch texture to
-
XRHandModelFactory
Node Editor
- Clean up. #28095 (@sunag)
- Fix animation loop reference. #28093 (@sunag)
- Fix NodePrototypes being available across load/save-cycles. #28030 (@abc013)
- Revision mat*/bool color and json matrix* types. #28094 (@sunag)
- Implement a split screen. #27784 (@abc013)
- Use
devicePixelRatio. 5cfc5db (@mrdoob) - Fix
PreviewEditor. #28223 (@sunag)
Editor
- Clean up. #28183 (@linbingquan)
- Make
IORconfigurable. #28028 (@Mugen87) - Remove IFC support. #28108 (@harryhjsh)
- Clean up grid code and improve colors. cd38537 (@mrdoob)
- Use importmap in
app/index.html. #28195 (@linbingquan) - Fix glTF assets with external KTX2 textures. #28206 (@Mugen87)
r163
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r162--r163
https://github.com/mrdoob/three.js/milestone/76?closed=1
- Global
- AnimationClip
- BatchedMesh
- InstancedMesh
- Add clone and dispose support for
morphTexture. #27952 (@RenaudRohlinger)
- Add clone and dispose support for
- Object3D
- PMREMGenerator
- PointLight
- Scene
- Introduce
environmentIntensity. #27903 (@WestLangley)
- Introduce
- ShaderLib
- Clean up. #27936 (@WestLangley)
- Spherical
- Texture
- UniformsUtils
- WebGLProgram
- WebGLRenderer
- Remove WebGL 1 support. #27836, #27853, #27855, #27969 (@Mugen87)
- Check for
EXT_color_buffer_floatfor transmission. #27761 (@susiwen8) - Fix transmission with nested render calls. #27886 (@Mugen87)
- Set
stenciltofalseby default. #27900, #27908 (@Mugen87, @RenaudRohlinger) - Enable stencil with transmission. #27921 (@Mugen87)
- Update Neutral tone mapper. #27925 (@elalish)
- Add support for
WEBGL_render_shared_exponent. #27992 (@Mugen87)
Documentation
- Improve
AnimationMixerpage. #27914 (@trusktr) - Improve
BatchedMeshpage. #28004 (@marwie) - Improve
InstancedMeshpage. #27946 (@seantai) - Improve
Materialpage. #27923 (@atul-mourya) - Improve Chinese translation. #28003 (@moshuying)
Manual
- Fix GPU picking demo. #27866 (@Mugen87)
- Improve post processing page. #27884 (@SADYX)
- Fix links in Chinese translation. #27966, #27991 (@angelscat, @SADYX)
- Remove 3D LUT guide. #27977 (@Mugen87)
Examples
- Clean up. #27961, #27975, #27997 (@Mugen87, @Methuselah96)
- Remove WebGL 1 related code. #27856, #27858, #27860, #27941, #27974, #27983 (@Mugen87, @Methuselah96, @WestLangley)
- Correction to texture colorspace in
webgpu_parallax_uvexample. #27874 (@donmccurdy) - Update
fflate. #27883 (@Methuselah96) - Fix translation snap unit in
misc_controls_transform. #27959 (@Mugen87) - Some revision of WebGPU examples. #28011 (@sunag)
- Simplified
webgl_loader_texture_hdrjpgexample. 156cb35 (@mrdoob) - Improved
physics_rapier_instancingexample. 8416704 (@mrdoob) - Fix warning in
webgpu_multiple_rendertargetsexample. #28015 (@sunag) - Using
pmremTexture()instead ofcubeTexture()in WebGPU examples. #27829, #27951 (@sunag, @RenaudRohlinger)
-
3MFLoader
-
EXRLoader
-
GLTFExporter
- Allow
OffscreenCanvasas image source. #27872 (@strunkie30) - Missing required padding on integer vertex attributes. #27064 (@grzesiekmq, @takahirox)
- Allow
-
GLTFLoader
-
HTMLMesh
- Do not render the
scripttag. #27953 (@Elettrotecnica)
- Do not render the
-
LUTPass
-
Node
-
NodeMaterial
-
Renderer
- Move await methods to
renderAsync(). #27939 (@RenaudRohlinger)
- Move await methods to
-
RenderObject
-
ShaderNode
-
TextGeometry
-
TextureNode
-
TextureUtils
- Fix typo
frustrumtofrustum. #27970 (@RenaudRohlinger)
- Fix typo
-
TransformControls
-
USDZExporter
- Add support for vertex colors. #27943 (@Bigguysahaj)
-
WebGPURenderer
- Add PMREM support. #27829, #27951 (@sunag, @RenaudRohlinger)
QuadMeshextended fromMesh. #27875 (@sunag)- Add Timestamp Queries WebGL fallback support. #27870 (@RenaudRohlinger)
- Add
copyTextureToTexture()support. #27888 (@RenaudRohlinger) - Use
renderAsync()as fallback. #27894 (@sunag) - Improve Infos logic. #27889, #27994 (@RenaudRohlinger)
- Apply fog before tonemapping and encoding. #27850 (@sunag)
- Support
Scene.backgroundIntensity. #27918 (@susiwen8) - Supports instanced color and morph target via
InstancedMesh. #27928 (@RenaudRohlinger) - Improve support int/uint textures. #27932 (@sunag)
- Support
BatchedMesh. #27937 (@RenaudRohlinger) - Apply batching matrice before instancing and expand multiDraw support. #27950 (@RenaudRohlinger)
- Sync
Scene.environmentIntensity. #27958 (@susiwen8) - Reuse meshes in
PMREMGeneratorandpmremVersionlogic. #27988 (@sunag) - Add (u)int16 Support. #28008, #28009 (@RenaudRohlinger, @sunag)
Node Editor
Editor
- Clean up. #27881 (@Mugen87)
- Update path tracer environment and background selectively. #27847 (@gkjohnson)
- Fixed pathtracer background blurriness. #27852 (@mrdoob)
- Geometry, material and object export json in
UTF-8. #27938, c96c6bd (@ycw, @mrdoob) - Fix
centercommand. #27940 (@Mugen87) - Use more
three/addons/*alias. #27967 (@Kalinundefined) - Add Japanese translation. #27976 (@Hashory)
r162
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r161--r162
https://github.com/mrdoob/three.js/milestone/75?closed=1
- Global
- BufferGeometry
- EllipseCurve
- Use ES6 default parameters in
getPoint(). #27677 (@linbingquan)
- Use ES6 default parameters in
- Float64BufferAttribute
- InstancedMesh
- Material
- Fix
emissiveIntensitynot persisting. #27769 (@connorgmeehan)
- Fix
- Object3D
- Add
childaddedandchildremovedevents. #16934, #27754 (@gkjohnson)
- Add
- PMREMGenerator
- Clarify image size limitations. #27764 (@WestLangley)
- Quaternion
- Correct
random(). #27724 (@WestLangley)
- Correct
- ββRaycaster
- RenderTarget
- Add
countoption for MRT. DeprecateWebGLMultipleRenderTargets. #26427 (@CodyJasonBennett)
- Add
- ShaderChunk
- Clean up. #27671 (@CodyJasonBennett)
- SpotLightHelper
- Fix offset when adjusting the scene / parent position. #27487 (@gkjohnson)
- Vector3
- Correct
randomDirection(). #27725 (@WestLangley)
- Correct
- WebGLRenderer
- Remove unnecessary
__hasExternalTexturescheck. #27684 (@susiwen8) - Change scissor, viewport functions to use
round()instead offloor(). #27703 (@gkjohnson) - Add support for Khronos Neutral Tone Mapping. #27668, #27717 (@elalish, @Mugen87)
- Fixed compressed partial update on
texture3D. #27771 (@RenaudRohlinger) - Add support for rotating env maps. #27758, #27785, #27787 (@Mugen87, @WestLangley)
- Remove unnecessary
- WebGLState
- WebGLTextures
Documentation
- Improve
GLTFLoaderpage. #27676, #27678 (@aardvarkk, @Mugen87) - Improve
GridHelperpage. #27817, #27830 (@trusktr, @Mugen87) - Improve
Matrix Transformationsguide. #27714 (@jo-chemla) - Improve
MeshPhysicalMaterialpage. #27740 (@Mugen87) - Improve
Object3Dpage. #27755 (@Mugen87) - Improve Chinese translations. #27657, #27813 (@puxiao)
- Better explain bounding volumes. #27744 (@Mugen87, @WestLangley)
Manual
Examples
- Clean up. #27711, #27795 (@Mugen87, @Methuselah96)
- Remove unnecessary
clear()inwebgl_cameraexample. #27665 (@WestLangley) - Update
tween.js. #27670 (@Methuselah96) - Fix spot light distance in
webgl_lights_spotlightexample. #27721 (@Mugen87) - Update import map dependency versions. #27800 (@gkjohnson)
- Add eye rotation to
webgl_morphtargets_webcamexample. #27781 (@vis-prime) - Add
webxr_xr_controls_transformexample. #27845 (@mrdoob)
-
3DMLoader
-
BlendModeNode
-
CondNode
-
DragControls
-
GLTFExporter
-
InteractiveGroup
-
MorphNode
-
Node
-
OrbitControls
- Add missing epsilon to change check. #27620 (@jteppinette)
- Handle duplicated
pointerId. #27748 (@sciecode) - Ensure
interceptControlDown()listener is removed indispose(). #27778 (@IvanLi-CN) - Fix zoom-changed detection. #27834 (@sciecode)
-
ProgressiveLightMap
-
SkeletonUtils
- Fix
retargetClip()duration and last frame handling. #27653 (@AlaricBaraou)
- Fix
-
StorageArrayElementNode
-
StorageInstancedBufferAttribute
-
TSL
- Add
uniformssyntax. #27706 (@sunag) return,Continue,Break- Part 1. #27726 (@sunag)- Add
parallaxUVsyntax. #27739 (@sunag) - Support for split assignment. #27796, #27797 (@sunag)
- Fix duplicate assignments. #27798 (@sunag)
- Add
all,anyandequalssyntax. #27821 (@sunag) - Fix
tslFngenerate in isolated cache. #27844 (@sunag)
- Add
-
VOXLoader
-
VRMLLoader
-
WebGPURenderer
- Support reading external elements in the WebGL Backend. #27661 (@RenaudRohlinger)
- Fix
vec2andvec3forstorageObjectinStorageBufferNode. #27697 (@RenaudRohlinger) - Fix attribute data getting reset when using
vec3in WebGPU. #27708 (@RenaudRohlinger) - Support clipping. #27691 (@aardgoose)
- Add support for non-instanced meshes to
StorageBuffer. #27712 (@RenaudRohlinger) - Fix
isStorageInstancedBufferAttributeusage. #27737 (@sunag) - Fix update attribute in WebGL Backend. #27751 (@RenaudRohlinger)
- Better skinning performance. #27753 (@sunag)
- Fix flipY
Data*Texture. #27815 (@sunag) getTextureLevel()of background should multiplymaxMipLevel. #27820 (@susiwen8)- Fix call
clear()before rendering. #27835 (@sunag) - Define
setAnimationLoop()as default in examples. #27839 (@sunag) - Added sync
render()/clear(). #27840 (@sunag)
-
WebXR
-
WGLSLNodeBuilder
-
XRControllerModelFactory
Node Editor
Editor
- Clean up. ec25730, f933950, 7847e6b (@mrdoob)
- Fully migrate
EditorControlsto Pointer Events. #27745, #27749 (@Mugen87) - Remove VR code from
App.js. #27772 (@mrdoob) - Use WebXR's
offerSession(). when available. #27773 (@mrdoob) - Unify app Config/Play/Publish into a single panel in SideBar. #27775 (@mrdoob)
- Render video in a popup. #27776 (@mrdoob)
signals.transformModeChangedcallsrender()now. #27777 (@linbingquan)- Update realistic viewport packages. #27780 (@gkjohnson)
- Add background rotation support. #27790 (@mrdoob)
- Improve XR mode. #27802, 0bf3908, 6b50ba4 (@mrdoob)
- Add cache to
UITexture. 74d7dc8 (@mrdoob) - Move
menubar/edit/clear_historytosidebar/history/clear. 8a321b5 (@mrdoob) - Move export Geometry/Object/Scene to Sidebar. 109c87f (@mrdoob)
- Increase sidebar panel width from 300px to 350px. ba3e2fc (@mrdoob)
- Improve video render UX on mobile. 2315ae8 (@mrdoob)
- Improve
UINumberandUIIntegerbehavior. f9a97ef (@mrdoob) - Add menubar workaround for VisionOS. 88f5aaa (@mrdoob)
- Improve
Viewport.Info. 4654223 (@mrdoob)
r161
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r160--r161
https://github.com/mrdoob/three.js/milestone/74?closed=1
- Global
- Remove deprecated code. #27480, #27467 (@CodyJasonBennett, @Mugen87)
- Remove deprecated build files. #27507 (@gkjohnson)
- Audio
- BatchedMesh
- Fix active not being accounted for, bounding box functions returning incorrect fields. #27484 (@gkjohnson)
- BufferAttribute
- Use
warnOnce()for deprecated methods. #27595 (@hybridherbst)
- Use
- InterleavedBufferAttribute
- Add get / set component methods. #27590 (@gkjohnson)
- Material
- Add alpha to coverage define, add clipping & alpha test anti aliasing. #22172 (@gkjohnson)
- PerspectiveCamera
- Add
getViewBounds()andgetViewSize(). #27574, #27605 (@Bug-Reaper, @WestLangley)
- Add
- Source
- WebGLAttributes
- Add
.updateRangedeprecation comment. #27550 (@LeviPesin)
- Add
- WebGLCubeMaps
- WebGLProgram
- Show which shader caused compilation error. #27553, #27565 (@hybridherbst, @Mugen87)
- WebGLPrograms
- WebGLRenderer
- Add required gamut mapping for
AgXToneMapping. #27413 (@WestLangley) - Explicitly specify precision for all sampler types. #27482 (@StrandedKitty)
- Option to enable
multi_draw/gl_DrawIDin vertex shader. #27630 (@vegarringdal)
- Add required gamut mapping for
- WebGLTextures
- WebXRManager
Documentation
- Clean up. #27652 (@Mugen87)
- Improve Chinese translation. #27441, #27443 (@newstart0514, @puxiao)
- Improve
DirectionalLightShadowpage. #27519 (@zsombok) - Improve
Installationpage. #27499 (@a0m0rajab) - Improve
Libraries and Pluginspage. #27646 (@ASproson) - Improve
LODpage. #27554 (@tomhsiao1260) - Improve
RingGeometrypage. #27495 (@xxhls) - Improve
WebGLRendererpage. #27532 (@aardgoose)
Manual
- Improve
Fundamentalsguide. #27521 (@susiwen8) - Improve Chinese translation. #27594, #27648 (@nmsn, @1Rone11)
- Refactor canvas width and height computation. #27606 (@herobank110)
- Improve code example. #27640 (@1Rone11)
Examples
- Clean up. #27457, #27459, #27469, #27531, #27614 (@hybridherbst, @CodyJasonBennett, @ycw, @Mugen87, @linbingquan)
- Add support for
FloatTypeand add docs to LUT loaders. #27431 (@vanruesc) - Add extra blue to
webgpu_backdrop_waterexample. #27455 (@sunag) - Fix
webgpu_morphtargets_faceexample. #27489 (@RenaudRohlinger) - Add optional
onLoad()callback when loading hands or controllers for WebXR. #27544 (@hybridherbst) - Update external library dependencies. #27584 (@gkjohnson)
- Add
webgpu_custom_fogexample andTriNoise3D. #27599 (@sunag) - Add
webgpu_postprocessing_anamorphicexample andAnamorphicNode. #27621 (@sunag) - Add scissor configuration in
webgl_cameraexample. #27644 (@WestLangley)
-
3DMLoader
- Fix typos and reorder imports alphabetically. #27631 (@GitHubDragonFly)
-
AfterImageNode
- New FX class for after image effects. #27451 (@RenaudRohlinger)
-
BufferGeometryUtils
- Add support for interleaved buffers in
mergeAttributes(). #27591 (@gkjohnson)
- Add support for interleaved buffers in
-
CameraNode
- Add missing
cameraProjectionMatrixInverse. #27578, #27579 (@RenaudRohlinger)
- Add missing
-
GaussianBlurNode:
- Add alpha channel support. #27444 (@RenaudRohlinger)
- Reduce overhead. #27447 (@aardgoose)
-
GroundedSkybox
- Replacement for
GroundProjectedSkybox. #27448 (@elalish) - Fix UVs being flipped. #27500 (@hybridherbst)
- Replacement for
-
GTAOPass
-
Line2NodeMaterial
- Honor changes from original source. #27474 (@aardgoose)
-
MaterialXLoader
- Improve
onErrorhandling. #27433 (@hybridherbst) - Respect handlers attached to manager when loading textures. #27432 (@hybridherbst)
- Add normal, tangent, texcoord, geomcolor, position space support. #27456 (@hybridherbst)
- Optional parameter. #27462 (@sunag)
- Unlit material. #27575 (@sunag)
- Improve
-
MathNode
- New
cbrtfunction for easy cube root calculations. #27497 (@RenaudRohlinger) - Add
lengthSq. #27568 (@RenaudRohlinger)
- New
-
MathUtilsNode
-
MeshPostProcessingMaterial
-
MeshSSSNodeMaterial
-
NodeBuilder
-
NURBSVolume
-
OperatorNode
- Add unary operator support. #27641 (@RenaudRohlinger)
-
OrbitControls
-
ReflectorNode
-
Renderer
- Fix
dispose(). #27471 (@RenaudRohlinger)
- Fix
-
RotateNode
- Add new node and remapping functions. #27525 (@RenaudRohlinger)
-
ShaderNode
-
SVGLoader
-
Timer
-
TSL
-
ToneMappingNode
- Ass support for
AgXToneMapping. #27549 (@RenaudRohlinger)
- Ass support for
-
USDZExporter
-
ViewportNode
-
VRMLLoader
-
Water2
-
WebGLTextureUtils
- Add missing call to state helper. #27503 (@aardgoose)
-
WebGPURenderer
- Fix alpha canvas in WebGPU. #27442 (@RenaudRohlinger)
- Fix geometry does not have the attribute requested by the material. #27454 (@sunag)
- Forward context to
Renderer. #27472 (@RenaudRohlinger) - Support KTX compressed textures with WebGL backend. #27463 (@RenaudRohlinger)
- MSAA, postprocessing and wireframe support in the WebGL backend. #27473 (@RenaudRohlinger)
- Fix
renderContexttracking in WebGL backend. #27490 (@aardgoose) - Support
WebGLCubeRenderTarget. #27071 (@aardgoose) - Create invalidation array once for WebGL MSAA. #27505 (@aardgoose)
WebGLBackendclea nup RTT buffers when dispose texture. #27513 (@RenaudRohlinger)- Add offscreen support. #27520 (@RenaudRohlinger)
- Cache
renderPassDesciptorsand associated views. #27518 (@aardgoose) - Partial compute shader support for WebGL backend. #27367 (@aardgoose)
- Fix tone mapping on display nodes. #27557 (@RenaudRohlinger)
- Use cached descriptor properties and views were possible in
clear(). #27551 (@aardgoose) - Fix
BachedMeshcoordinate system in case ofWebGLBackend. #27567 (@sunag) - PassNode + PostProcessing -
WebGPUBackend. #27537 (@sunag) - Improve
copyTextureToBuffersupport. #27569 (@RenaudRohlinger) - Compute texture using TSL. #27582 (@sunag)
- Add
forceWebGLparameter. #27589, #27596 (@RenaudRohlinger) - Fix
copyFramebufferToTexturewrong framebuffer binding inWebGLBackend. #27593 (@RenaudRohlinger) - Add timestamp queries support in WebGPU. #27597 (@RenaudRohlinger)
- Add Anisotropy Support & Resolve Scissor Issues in WebGL Backend. #27609, #27615 (@RenaudRohlinger, @susiwen8)
- Fix video textures in WebGL backend. #27610 (@RenaudRohlinger)
- Add
clearAsync()clear[color|depth|stencil]Async(). #27613 (@aardgoose) - Support
mat2()and extendRotateNodeto supportvec2rotation. #27612 (@aardgoose) - Implement
compileAsync(). #27098 (@aardgoose) - Fix ambiguous field in WebGL Backend. #27619 (@RenaudRohlinger)
- Clean up code base. #27622 (@RenaudRohlinger)
- Add
shadowNodetoNodeMaterial. #27625 (@RenaudRohlinger)
-
XRButton
Editor
- Add compute tangents option. #27461 (@Mugen87)
- Ensure clips are optimized before exporting to glTF. #27529 (@Mugen87)
- Fix color space evaluation of textures. #27548 (@gitplus)
- Add path tracer to viewport. #27643, 2b6dfe9, 1e771e1, e06a8b3, 70fb9ca, 85cd3cb, 1b35d64 (@mrdoob)
- Only cache GET requests. 92f40ca (@mrdoob)
r160
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r159--r160
https://github.com/mrdoob/three.js/milestone/73?closed=1
- Global
- Clarify warning messages. #27288 (@WestLangley)
- Remove deprecated code. #27341 (@Mugen87)
- ImageBitmapLoader
- Cache promises to deduplicate requests. #27270 (@Archimagus)
- Quaternion
- RectAreaLight
- Only use float textures if linear interpolation is supported. #27315 (@gkjohnson)
- Shaders
- Sphere
- Triangle
- Return
nullingetBarycoord()if triangle is degenerated. #27311 (@gkjohnson) - Return
nulll ingetInterpolation()if triangle is degenerate. #27331 (@gkjohnson)
- Return
- WebGLRenderer
- Fix level mipmap and support
CompressedArrayTextureincopyTextureToTexture3D(). #27313 (@RenaudRohlinger) - Add
WEBGL_clip_cull_distancesupport. #27371 (@RenaudRohlinger, @Mugen87) - Add support for
AgXTone Mapping. #27366, #27403, #27409 (@gkjohnson, @donmccurdy, @Mugen87)
- Fix level mipmap and support
- WebGLShadowMap
- WebGLTextures
- WebGLUniformsGroups
- Correct 3x3 to 3x4 matrix conversion in UBO. #27284 (@RenaudRohlinger)
- UBO Boolean support and fix cache on number. #27285 (@RenaudRohlinger)
- Add array support in UBOs. #27293, #27374 (@RenaudRohlinger)
Documentation
- Improve Chinese translation. #27298, #27408 (@puxiao, @SADYX)
- Improve
Materialpage. #27416 (@LR17) - Improve
SceneUtilspage. #27372 (@linbingquan) - Improve
SkinnedMeshpage. #27303 (@Mugen87) - Add Jolt to physics list. #27335 (@josephrocca)
Examples
- Clean up. #27322, #27469, fc292ae (@Methuselah96, @mrdoob, @ycw)
- Fix RTT coord Y in
webgpu_compute_particles_rainexample. #27286 (@sunag) - Update
3DMLoaderdocs and example CDN script. #27289 (@ianpetrarca) - Add
webgpu_backdrop_waterexample. #27397, #27404, caf8c1f (@sunag, @mrdoob) - Add
webgpu_compute_particles_snowexample. #27400, #27404, de3d5ff (@sunag, @mrdoob) - Use relative references inside
examples/jsm. #27381 (@hybridherbst) - Change default tone mapping in
webgl_tonemappingexample. 3a5de8c (@mrdoob) - Improve
webgpu_compute_particlesexample. b7ebd00 (@mrdoob)
-
CSM
- Fix lights when shadow maps are disabled. #27358 (@OndrejSpanel)
-
CurveModifier
- Add multiple material support. #27324 (@sheepdragon)
-
DracoLoader
- Fix not calling
onError(). #27306, #27308 (@Benjythebee)
- Fix not calling
-
GTAOPass
-
LineMaterial
- Fix clipping at edge artifacts. #27349 (@gkjohnson)
-
MaterialXLoader
- Add
normalNodeandemissiveNode. #27356 (@hybridherbst)
- Add
-
NodeMaterial
- Log warnings instead of throwing on redefinitions of node types. #27357 (@hybridherbst)
- Mark directory as effectful for Webpack/Vite. #27376 (@CodyJasonBennett)
-
OrbitControls
-
StorageTexture
-
Timer
-
TSL
-
USDZExporter
- Export from compressed texture data. #27382 (@jeffbeene)
- Only import required modules. #27383 (@jeffbeene)
-
WebGPURenderer
- Add initial support of
MaterialX. #27294 (@sunag) - Support
getArrayBufferAsync()for WebGL backend. #27355 (@aardgoose) - Initial support for PostProcessing,
GaussianBlurNodeandQuadMesh. #27369 (@sunag) - Fix use of same material with different skeleton. #27398 (@sunag)
- Bug fixes for
WebGLBackend. #27410 (@aardgoose)
- Add initial support of
-
XRButton
Editor
r159
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r158--r159
https://github.com/mrdoob/three.js/milestone/72?closed=1
- AudioLoader
- BatchedMesh
- Clean up. #27231 (@gkjohnson)
- Fix failure with
MeshBasicMaterial. #27074 (@gkjohnson) - Use
texelFetchandtextureSize. #27077 (@gkjohnson) - Add
setGeometryAt()andaddGeometry()methods. #27078, #27099 (@gkjohnson) - Add multi draw support. #27109, #27111, #27130, #27176, #27178 (@gkjohnson)
- Add built-in material support. #27115, #27229 (@gkjohnson)
- Add serialization and
copy()support. #27131, #27179, #27201 (@gkjohnson) - Add support for frustum culling per batched geometry. #27120, #27219 (@gkjohnson)
- Add object-level bounds. #27145 (@gkjohnson)
- Add support for raycasting. #27146 (@gkjohnson)
- Add support for per-object opaque and transparent sorting. #27168, #27202, #27213, #27236, #27258 (@gkjohnson)
- Move to core. #27200, 2b3883a (@gkjohnson, @mrdoob)
- Update example, fix depth conversion & auxiliary buffer. #27228 (@sciecode)
- BufferAttribute
- Add support for multiple update ranges. #27103, #27148, #27149 (@gkjohnson)
- InstancedMesh
- Add missing transformation for tangents. #27128 (@gkjohnson)
- MeshPhysicalMaterial
- Object3D
- Add optional target to
getObjectsByProperty(). #27225 (@agargaro) - Add
onBeforeShadow()andonAfterShadow()callbacks. #27250 (@RenaudRohlinger)
- Add optional target to
- Skeleton
- Remove need skinning texture size uniform by using
textureSizefunction. #27117, #27127 (@gkjohnson, @Mugen87) - Compute a smaller texture dimension. #27211 (@gkjohnson)
- Remove need skinning texture size uniform by using
- WebGLAttributes
- Strict buffer size check when updating data. #27188 (@eXponenta)
- WebGLArrayRenderTarget
- Missing
optionsin constructor. #27249 (@RenaudRohlinger)
- Missing
- WebGLCubeMap
- WebGLUniforms
- Add
sampler2DShadowsupport. #27252 (@RenaudRohlinger)
- Add
- WebXRManager
- Synchronize sizing with renderer. #26905 (@CodyJasonBennett)
Documentation
- Improve formatting of matrices. #27079 (@ycw)
- Improve Arabic translation. #27118, #27129, #27140 (@mourra950)
- Improve Portuguese translation. #27144 (@south3452)
- Improve
BatchedMeshpage. #27175, #27209 (@gkjohnson, @Methuselah96) - Improve
DirectionalLightHelperpage. #27122, #27135 (@amin-da, @Mugen87) - Improve
Libraries and Pluginspage. #27182 (@JaimeTorrealba) - Improve
LineDashedMaterialpage. #27278, #27276 (@Mugen87, @WestLangley) - Improve
MeshPhysicalMaterialpage. #27281, #27282 (@gkjohnson, @Mugen87) - Improve
Object3Dpage. #27257 (@Mugen87) - Improve render target pages. #27253, #27254 (@Mugen87)
Examples
- Clean up. #27105, #27226, #27262, #27267, #27272, 966e9fe (@sunag, @CodyJasonBennett, @Mugen87, @linbingquan, @mrdoob)
- Disable minimap in
webgpu_tsl_editorexample. #27113 (@WestLangley) - Add
webgl_postprocessing_hbaoexample. #27114, #27185 (@Rabbid76) - Add
glsltag and format fragment shaders with tabs. #27206 (@linbingquan) - Add
webgl_loader_texture_hdrjpgexample. #27183, #27277, 90ee2ef, c15506e, 9bcf8ab (@daniele-pelagatti, @mrdoob) - Add Safari fix for
OffscreenCanvasinwebgl_worker_offscreencanvasexample. #27283 (@RenaudRohlinger) - Removed minimap from
webgpu_tsl_transpilerexample. b5e44da (@mrdoob)
-
ColladaLoader
- Remove unused constructor. #27119 (@gkjohnson)
-
FBXLoader
- Fix polygon triangulation. #27094 (@StrandedKitty)
- Fix rotation discontinuities. #27057 (@solinehayes)
- Fix error when loading one frame animation. #27143 (@solinehayes)
- Add
UnitScaleFactorto scene'suserData. #27187 (@Mugen87) - Support loading DDS textures. #27204 (@Mugen87)
-
GLTFExporter
-
GLTFLoader
- Fix use of
setPath()with external resources. #27106 (@Archimagus) - Initial support for
EXT_materials_bump. #27036 (@bhouston)
- Fix use of
-
HTMLMesh
- Clear the canvas before starting to draw. #27092 (@Elettrotecnica)
- Create canvas in its original position instead of
(0,0). #27091 (@Elettrotecnica)
-
NodeMaterial
ViewportNoderevision. #27096 (@sunag)- Ensure
onBuild()uses the correct material reference. #27097 (@Mugen87) - Mark as effectful for Webpack. #27189 (@CodyJasonBennett)
- Fix hue code in
ColorAdjustmentNode. #27197 (@sunag) - Use type
vec3when getting color attribute. #27210 (@andreasrosdal) - Rename
colorSpacetocolorSpacedproperty. #27238 (@sunag) - Prioritize
depthNode. #27244 (@sunag)
-
NRRDLoader
-
Octree
-
OrbitControls
-
SVGLoader
-
TextureHelper
- Add new addon for debugging textures. #27151 (@donmccurdy)
-
TextureUtils
-
TSL
-
USDZExporter
-
USDZLoader
-
WebGPURenderer
- Clean up. #27090 (@sunag)
- Add
setRenderObjectFunction(). #27068 (@sunag) - Support depth buffer copies in
WebGLBackend.copyFramebufferToTexture(). #27083 (@aardgoose) - Add call ID. #27101 (@sunag)
- Add support for shared and unique uniform groups. #27134 (@sunag)
- Fix lights hash. #27150 (@sunag)
- Add support for
DataArrayTexture. #27190 (@sunag) - Add support for morph textures. #27207, #27218 (@sunag)
- Move pipeline cache data to backends. #27220 (@sunag)
- Add
Color4support. #27222 (@sunag) - Depth pixel & logarithmic depth buffer. #27243 (@sunag)
- Implement
readRenderTargetPixelsAsync()for WebGL backend. #27006 (@aardgoose) - Fix strip index format. #27279 (@sunag)
- Added
webgpustring indata-engine. d4f278c (@mrdoob)
Tests
Editor
- Clean up. e1e2409 (@mrdoob)
- Fix KTX2 support with glTF assets. #27191 (@Mugen87)
- Refactor creation of
GLTFLoader. #27193 (@Mugen87) - Unified
Viewport.CameraandViewport.Shading. 1151545 (@mrdoob) - Moved grid and helpers settings to
Viewport.Controls. e0d329d (@mrdoob) - Fixed helpers checkbox also hiding the grid. 116382c (@mrdoob)
- Removed IndexedDB prefixes. e49c913 (@mrdoob)
- Fixed
UINumbermobile UX. a45cf54 (@mrdoob)
r158
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r157--r158
https://github.com/mrdoob/three.js/milestone/71?closed=1
- Global
- Add
test-circular-depsscript. #26926 (@marcofugaro) - Add
three/addonstarget for npm. #26910, #27003 (@CodyJasonBennett) - Fix typos. #27020 (@thapasusheel)
- Add
- Box3
- Material
- PMREMGenerator
- Shaders
- SkinnedMesh
- Vector3
- Optimize
applyQuaternion(). #26456, #27025 (@infusion, @WestLangley)
- Optimize
- WebGLProgram
- WebGLRenderer
Documentation
- Remove outdated links from
list.json. #26867 (@Mugen87) - Use MathML for math syntax. #26887, #26892, #26896 (@ycw)
- Improve
CapsuleGeometrypage. #27005 (@Mugen87) - Improve
Creating a scenepage. #26895 (@ycw) - Improve
Lensflarepage. #27008 (@devXprite) - Improve
Materialpage. #27000 (@fleroviux) - Improve
Matrix4page. #26893 (@ycw) - Improve
Quaternionpage. #26936 (@Mugen87) - Improve
WebGLRendererpage. #26961, #26963, #26972 (@Mugen87) - Improve Chinese translation. #26945, #26952, #26953, #27001, #27032 (@cswwww, @puxiao)
- Improve Korean translation. #26977, #26986 (@Sangminnn)
- Add page for
XREstimatedLight. #27041 (@snowzurfer
Examples
- Clean up. #26869, #26870, #26871, #26955, #26969, #26981, #27015, #27039, #27050, #27059 (@Methuselah96, @linbingquan, @Mugen87, @WestLangley, @mkkellogg)
- Track pointer in
misc_exporter_exrexample. #26890 (@WestLangley) - Use
OutputPassinwebgl_postprocessing_fxaaexample. #26927 (@Mugen87) - Make
webgl_postprocessing_smaaexample more configurable. #26934 (@Mugen87) - Match all words, in any order in search. #26971 (@sunag)
- Add shared skeleton setup to
webgl_animation_multiple. #26995 (@Mugen87) - Don't expose LWO parsers. #26996 (@CodyJasonBennett)
- Added
webgpu_compute_particles_rainexample. #27053 (@sunag) - Added
addScene()toAmmoPhysicsandRapierPhysics. 2bd5617, 92c71d7 (@mrdoob)
-
BatchedMesh
- Introduce new addon for batching geometries. #25059, #27043, #27045, #27049, #27046, #27054, #27060, #27066 (@takahirox, @donmccurdy, @gkjohnson)
-
BokehPass
-
Capsule
- Move and rename
lineToLineClosestPoints()function toOctree. #27044 (@gkjohnson)
- Move and rename
-
CSS3DRenderer
- Modify perspective transform to avoid issues in Chrome and Firefox. #27017 (@donmccurdy)
-
FilmShader
-
FlyControls
-
FullScreenQuad
- Refactor internal geometry. #26938 (@CodyJasonBennett)
-
GLTFExporter
-
GLTFLoader
-
IFFParser
- Convert to ES6 classes. #26929 (@CodyJasonBennett)
-
InstancedPoints
-
Lensflare
-
LottieLoader
- Add document check for SSR. #26989 (@CodyJasonBennett)
-
LUTImageLoader
-
NodeMaterial
- Subflows of
TextureNodeandUVNodeinBumpMapNode. #26865 (@sunag) - Define
stack.assign()as default. #26881 (@sunag) - Refactor
VarNode. #26821 (@LeviPesin) - Modular usage of
PhysicalLightingModel. #26885 (@sunag) - Allow JS-like assigns, implement
AssignNode. #26795 (@LeviPesin) - Fixes and clean up. #26931 (@sunag)
- Attenuate color in
Line2NodeMaterial. #26970 (@WestLangley) - Merge
*MaterialNodeinto singularMaterialNode, fix exports, some cleanup. #26976 (@LeviPesin) - Update
PropertyNodeexports. #26975 (@LeviPesin) - Force replacement of
UVNodeif the context includesforceUVContext=true. #27031 (@sunag)
- Subflows of
-
OrbitControls
-
OutputShader
- Use
#includeinstead ofShaderChunk. #26990 (@CodyJasonBennett)
- Use
-
SAOPass
- Remove
depthMaterialreference fromdispose(). #26946 (@paradoxxxzero)
- Remove
-
SDFGeometryGenerator
- Add geometry generator from SDF definitions. #26837 (@santi-grau)
-
SimplifyModifier
-
SMAAPass
-
SVGRenderer
- Add
.outputColorSpace=DisplayP3ColorSpacesupport. #26914 (@donmccurdy)
- Add
-
TAARenderPass
- Fix runtime error in
dispose(). #26991 (@Archimagus)
- Fix runtime error in
-
TessellateModifier
- Fix color access. #26873 (@freealise)
-
TransformControls
-
TSL
-
VRButton
- Test navigator for SSR. #26915 (@CodyJasonBennett)
-
WebGPURenderer
- Support occlusion query for WebGL backend. #26744 (@aardgoose)
- Handle instanced geometries in WebGL backend #26731 (@aardgoose)
- Add
isWeb*Backendflags. #26877 (@WestLangley) - Fix rendering of line segments. #26884 (@WestLangley)
- Fix uniform update when using
compute(). #26906 (@sunag) - Environment Nodes Hash. #26942 (@sunag)
- Ensure bump map scale is texture UV scale invariant. #26958 (@sunag)
- Clearcoat and sheen is shadowed by ambient occlusion. #26957 (@sunag)
- Support integer vertex attributes in
WebGLBackend. #26974 (@aardgoose) - Add
getInstanceIndex()forGLSLNodeBuilder. #26978 (@aardgoose) - Add flat qualifiers for integer attributes in
GLSLNodeBuilder. #26987 (@aardgoose) - Support Nodes
buffer()inGLSLNodeBuilderandWebGLSLBackend#26988 (@aardgoose) - Correct initial blending state for
WebGLBackend. #27009 (@aardgoose) - Implement
WebGLBackendcopyFramebufferToTexture(). #27012 (@aardgoose) - Fix color mask setting in
WebGLBackend. #27026 (@aardgoose) - Enable shadow rendering in
WebGLBackend. #27023 (@aardgoose) - Remove
HTMLImagetoOffscreenCanvasconversion. #27021 (@aardgoose) - Use recommended shader compile and link sequence for WebGL. #27055 (@aardgoose)
- Use common clearing code and fix depth state for
WebGLBackend. #27065 (@aardgoose)
-
XRButton
- Allow specifying optional and required features. #27030 (@snowzurfer)
Editor
r157
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r156--r157
https://github.com/mrdoob/three.js/milestone/70?closed=1
- Global
- AnimationUtils
- Camera
- Color
- CubeCamera
- CurvePath
- Return
thisinclosePath(). #26697 (@Mugen87) - Use correct line type in
closePath(). #26850 (@GuoBinyong)
- Return
- Fog
- Make sure
namecan be serialized/deserialized. (@ycw)
- Make sure
- LightProbe
- Remove
AmbientLightProbeandHemisphereLightProbe. #26715 (@WestLangley)
- Remove
- Material
- MaterialLoader
- RenderTarget
- Refactor default constructor parameters. #26775 (@linbingquan)
- Shaders
- WebGLProgram
- Add
USE_ANISOTROPYtoprefixVertex. (@uma-neko)
- Add
- WebGLRenderer
- Support "Linear Display P3" working color space and "Display P3" unlit rendering. #26644 (@donmccurdy)
- Introduce
USE_LIGHT_PROBESdefine. #26768 (@Mugen87)
- WebGLTextures
Documentation
- Improve
Fogpage. #26792 (@ycw) - Improve
Materialpage. #26664 (@donmccurdy) - Improve
MeshPhysicalMaterialpage. #26753 (@Ameobea) - Improve Chinese translation. #26693, #26701, #26728, #26855 (@sdarpeng, @Junior2Ran, @SADYX)
- Improve
Libraries and Pluginsguide. #26723, #26722, #26819, #26828 (@marwie, @trusktr, @isaac-mason) - Document default value of
userDataproperties. #26799 (@tim-we)
Examples
- Clean up. #26678, #26706, #26800, d6c8dd0, 1c85c95 (@WestLangley, @epreston, @sunag, @mrdoob)
- Remove import maps polyfill. #26836 (@marcofugaro)
- Rename some WebGPU Compute examples. #26845 (@sunag)
-
3DMLoader
-
BufferGeometryUtils
- Shift the hash bin to avoid missing neighbors in
mergeVertices(). #26746 (@gkjohnson)
- Shift the hash bin to avoid missing neighbors in
-
DragControls
-
GLTFExporter
- Simplify inner cone angle equation. #26787 (@WestLangley)
-
GLTFLoader
-
LDrawLoader
-
LightProbeGenerator
-
LineMaterial
- User getter/setter syntax. #26720 (@LeviPesin)
-
NodeMaterial
- Clean up
HashNode, cite original authorship. #26695 (@LeviPesin) - Export viewport and minor fixes. #26698 (@aardgoose)
- Add
Line2support. #26704 (@aardgoose) - Consume
labels()when used, to prevent duplicate uniform names. #26822 (@aardgoose) - Fix
context.materialreference inRenderNodes. #26838 (@sunag) - Rename
TextureNode.getTextureMatrix()togetTransformedUV(). #26839 (@sunag) - Rename
construct()tosetup(). #26840 (@sunag) - Add support for other formats in
StorageTexture. #26842 (@sunag) - Fix
addNodeClass()andaddNodeMaterial()in case of renaming classes. #26846, #26858 (@LeviPesin)
- Clean up
-
RGBELoader
-
Sky
- Use
cameraPositionuniform instead of world origin in sky shader. #26766 (@StrandedKitty)
- Use
-
TSL
-
USDZLoader
- Distinguish between text (supported) and binary (not supported) usd files and fix UV parsing. #26709 (@hybridherbst)
- Load metallic, roughness, emissive, occlusion textures and fix color spaces. #26710 (@hybridherbst)
- Switch to
MeshPhysicalMaterialand add initial clearcoat/clearcoatRoughness/ior support. #26713 (@hybridherbst) - Fix index array type. #26751 (@GitHubDragonFly)
- Added texture scale + offset + rotation support. #26861 (@GitHubDragonFly)
-
WebGPURenderer
- Invert viewport/scissor y coords. #26730 (@aardgoose)
- dFdy vs dpdy #26776 (@aardgoose)
- Add
StorageTexture. #26769 (@sunag) - Texture fixes for WebGL backend. #26797 (@aardgoose)
- CCW FrontFace as default. #26807 (@sunag)
- Basic render to texture support for WebGL backend. #26801 (@aardgoose)
- Support
textureCompare()operations in WebGL backend. #26823 (@aardgoose) - Fix
flipYexample. #26843 (@sunag) - Fix multi-material in
WebGLNodeBuilder. #26841 (@sunag)
Editor
- Fix style error when resizing the sidebar. #26703 (@linbingquan)
- Add
clearcoatMapandclearcoatRoughnessMap. #26712 (@hybridherbst) - Fix camera transform when using select in Firefox. #26717 (@Mugen87)
- Add serialization support for
modelviewerenvironment. #26718 (@Mugen87) - Fix
CapsuleGeometryparameter. #26794 (@Mugen87)