r184
https://github.com/mrdoob/three.js/wiki/Migration-Guide#183--184 https://github.com/mrdoob/three.js/milestone/97?closed=1
- Global
- Update @rollup/plugin-terser to 1.0.0. 456f1696908c6ff169f19c1318ac8b8a87c38541 (@mrdoob, @claude)
- Update ESLint to ECMA 2022. #33128 (@PoseidonEnergy)
- Added HTMLTexture. #31233 (@mrdoob, @claude)
- AnimationAction
- Preserve interpolant settings on action creation. #33033 (@gigajuad, @Mugen87)
- Fix
timeScalereversal jump. #33035 (@Mugen87)
- AudioLoader
- Fix race condition with loading manager. #33378 (@Mugen87)
- BatchedMesh
- InstancedMesh, BatchedMesh: Fix getColorAt throwing an error when colors have not been set. #33079 (@gkjohnson)
- Remove deprecated instancing render paths. #33234 (@Mugen87)
- CatmullRomCurve3
- Geometry corruption on 2-point curves. #33270 (@Necro-Rohan)
- CubeRenderTarget
- Restore
generateMipmapscorrectly. #33069 (@PoseidonEnergy)
- Restore
- DataTextureLoader
- Fix log regression. #33148 (@Mugen87)
- Move
returnin catch block to correct position. #33243 (@Om-Mishra09)
- Dev
- Fix vulnerabilities. #33141 (@Mugen87)
- Execute
npm audit fix. #33333 (@Mugen87)
- GLSLNodeBuilder
- Fix texelFetch
lodtype. #33399 (@Mugen87)
- Fix texelFetch
- ImageBitmapLoader
- Improve docs. #33379 (@Mugen87)
- Inspector
- Add Memory tab and improve
Renderer.info. #33097 (@sunag)
- Add Memory tab and improve
- InstancedMesh
- add consistent return values to functions. #33059 (@gkjohnson)
- LightProbeGrid
- Add position-dependent diffuse Global Illumination. #33125 (@mrdoob, @Mugen87, @claude)
- Line2NodeMaterial
- Fix clone() losing worldUnits, dashed, and linewidth. #33236 (@cyphercodes)
- Line3
- Handle degenerate line in
closestPointToPointParameter(). #33264 (@Necro-Rohan)
- Handle degenerate line in
- Loaders
- Make return types in
load()consistent. #33380 (@Mugen87)
- Make return types in
- MaterialLoader
- Simplified bool check. #33066 (@PoseidonEnergy)
- Math
- Make use of Static initialization blocks. #33140 (@PoseidonEnergy)
- MeshPhysicalMaterial
- Fix Anisotropic regression. #33205 (@Mugen87)
- NodeManager
- Make
delete()more robust. #33160 (@Mugen87)
- Make
- NodeMaterialObserver
- Avoid usage of
Object.keys(). #33113 (@Mugen87) - Speed up material comparisons. #33198 (@Mugen87)
- Speed up geometry comparisons. #33199 (@Mugen87)
- Avoid usage of
- NodeObjectLoader
- Fix
parseAsync(). #33377 (@Mugen87)
- Fix
- NodeUtils
- Replace
instanceof ArraywithArray.isArray(). #33262 (@Mridul012)
- Replace
- Object3D
- Correctly copy
pivot. #33163 (@PoseidonEnergy, @Mugen87)
- Correctly copy
- ObjectLoader
- Fix log regression. #33240 (@Om-Mishra09)
- PassNode
- Fix scissor and viewport setup. #33204 (@Mugen87)
- Plane
- Add
clampToLinetointersectLine(). #33398 (@Mugen87)
- Add
- Renderer
- Make
hasCompatibility()more predictable. #33087 (@Mugen87, @sunag)
- Make
- Renderers
- Make animation modules more robust. #33159 (@Mugen87)
- Cache pixel storage parameters. #33227 (@Mugen87)
- Support EXT_texture_norm16 formats. #33303 (@pohlt, @Mugen87)
- RenderOutputNode
- Fixes typos in RenderPipeline related docs. #33034 (@jwheare)
- RenderPipeline
- Fix sync with
renderer.outputColorSpaceandrenderer.toneMapping. #33187 (@sunag)
- Fix sync with
- RenderTarget
- Preserve multiview in copy(). #33285 (@Kundan-CR7)
- Shaders
- Clean up. #33133 (@WestLangley)
- ShadowNode
- Add support for
renderer.highPrecision. #33246 (@shotamatsuda, @sunag)
- Add support for
- SkinnedMesh
- Update "applyBoneTransform" to optionally take Vector4, support direction or position transformation. #33091 (@gkjohnson)
- Source
- Fix
getSize()forVideoFrame. #33131 (@PoseidonEnergy)
- Fix
- Texture
- Remove default setter parameter. #33129 (@PoseidonEnergy)
- Textures
- Improved HTMLTexture support. #33400 (@mrdoob, @claude)
- Triangle
- Simpler bool check in
isFrontFacing(). #33071 (@PoseidonEnergy)
- Simpler bool check in
- TSL
- Fix array texture with no
.depth()defined breaks shader compilation. #33096 (@sunag) - Improves compilation performance by 3.0x. #33120 (@sunag)
- Fix two issues in
StorageTextureNode. #33167 (@PoseidonEnergy) - add
hyperbolicmath nodes. #33233 (@thelazylamaGit) - Make global context available within compute nodes. #33231 (@shotamatsuda, @sunag)
- Add
globalandlocalscope. #33302 (@sunag) - Add OnFrameUpdate and OnBeforeFrameUpdate. #33356 (@shotamatsuda)
- Fix array texture with no
- UniformsGroup
- Fix incorrect index in Vector4 dirty check. #33276 (@Mridul012)
- UniformUtils
- Fix deep-copy with array of uniforms. #33384 (@Mugen87)
- ViewportDepthTextureNode
- Fixes framebuffer caching with multiple references of different sizes. #32690 (@arodic)
- WebGLOutput
- Add DepthTexture to scene render target. c0553ae6966096947e2b84499e788c52503a5a2e (@mrdoob, @claude)
- WebGLRenderer
- Use working color space for render targets. #33036 (@Mugen87)
- Add support for packed normal maps. #33055 (@castano)
- Fix feedback loop regression. #33063 (@Mugen87)
- Fix envMap and background rotation. #33077 (@WestLangley)
- Fix active texture setting in
copyTextureToTexture(). #33153 (@geekuillaume, @Mugen87) - Add NodeMaterial compatibility layer. #32851 (@gkjohnson, @sunag)
- Improve reverse depth buffer logging. #33176 (@Mugen87)
- Save/restore textureUnits on render state stack. #33217 (@SSopin)
- Set depth mask when clearing depth. #33241 (@mlavik1)
- Implement normal bias fallback. #33391 (@Mugen87)
- WebGLTextures
- Prevent flipping image bitmaps. #33073 (@Mugen87)
- WebGLTimestampQueryPool
- Fixed warning message. #33068 (@PoseidonEnergy)
- WebGPUBackend
- Reuse clear color instance. #33189 (@Mugen87)
- Simplify code. #33388 (@Mugen87)
- WebGPURenderer
- Make
compileAsync()truly non-blocking. #32984 (@RenaudRohlinger, @sunag) - Fix texture compare fallback for shadows. #33050 (@Mugen87)
- Honor layerUpdates for array textures. #33072 (@ahaensler)
- Improve compatibility test for reversed depth buffer. #33086 (@Mugen87)
- Make device capabilities handling more consistent. #33094 (@Mugen87)
- Add individual dispose for
CanvasTargetcaching. #33106 (@sunag) - Remove inline functions in rendering methods. #33108 (@PoseidonEnergy, @Mugen87)
- Use node events to update the binding groups. #33047 (@sunag)
- Fix WebXR sampling array-texture. #33132 (@sunag)
- Simplification of the frame buffer cache for WebXR layers. #33154 (@sunag)
- Support unfilterable float32 StorageTextures. #33155 (@sunag)
- Use
depth32floatinstead ofdepth24pluswhen usingreversedDepthBuffer. #33184 (@PoseidonEnergy, @Mugen87) - Ensure render targets have consistent default depth values. #33191 (@Mugen87)
- Add compute shader bounds check. #33186 (@marcofugaro, @sunag)
- Refactor env map rotation. #33232 (@Mugen87)
- Introduce Quad cache per RendeTarget texture. #33228 (@sunag)
- Implement
WEBGL_multi_drawfallback. #33238 (@Mugen87) - Fix texture issues. #33296 (@Mugen87)
- Clean up. #33305 (@Mugen87)
- Introduce
ReadbackBufferand reusegetArrayBufferAsync()buffers. #33300 (@sunag) - Fix WebGPU render bundle reuse across render contexts. #33335 (@RenaudRohlinger)
- Adjust getArrayBufferAsync behavior, add support for partial readback. #33322 (@gkjohnson, @sunag)
- Make
- WebGPUTextureUtils
- Fix check
layerUpdatesproperty. #33075 (@sunag) - Fix
copyTextureToBuffer()dispose buffer. #33366 (@sunag)
- Fix check
- WebXRController
- Add grip update event if enabled. #33118 (@danrossi, @Mugen87)
- WGSLNodeBuilder
- Fix varying indexes. #33229 (@sunag)
- Fix
textureDimensions()cache scope. #33312 (@sunag) - Add
allowGlobalVariables. #33319 (@sunag)
Docs
- Fix billboarding examples in TSL.md. #33056 (@jwheare)
- Using the correct class type for
NodeManager. #33067 (@PoseidonEnergy) - Fix typo in JSDoc. #33130 (@PoseidonEnergy)
- Improve JSDoc. #33213 (@Mugen87)
- Fix module links in search. #33255 (@Mugen87)
- Fix typos in TessellateModifier and LineMaterial. #33272 (@Jadu07)
- Update incorrect documentation for setMatrixAt. #33310 (@nopeless)
- Improve JSDoc. 37a0863cc7ce723922c67feb9cca30cdb5d2a637 (@Mugen87)
Manual
- Translate manual/zh/game.html to Chinese. #33123 (@DDDDD12138)
- Remove reference to Matrix4.setRotationFromQuaternion(). #33320 (@Kodub)
Examples
- Add sky to scene. #33037 (@Mugen87)
- Fix colors in webgpu_custom_fog. #33057 (@Methuselah96)
- Fix floor threshold in
games_fps. #33053 (@Mugen87) - Improve watch demo. #33089 (@lo-th, @Mugen87)
- Rename webxr_xr_sculpt to webxr_xr_marchingcubes. 3a0e75bae17144edc35220c77cdfde029101d939 (@mrdoob)
- Improve
MapControlsdemo. #33171 (@Mugen87) - Add SSGI Ball Pool demo. #33258 (@mrdoob, @claude)
- Fix links missing target="_blank" in webgl_loader_3dtiles example. 11e6acb93e826c62deb1e18cc251f6812e889cac (@mrdoob, @claude)
- Add volumetric clouds and atmosphere to webgl_loader_3dtiles. #33292 (@mrdoob, @claude)
- fix ArcherRi01 model ext name. #33324 (@linbingquan)
- Update versions for external libraries. #33362 (@gkjohnson)
- Autoplay sintel video, remove Play overlay. f3fa844ba4ca59d4f1bef62daadcea720456de39 (@mrdoob, @claude)
- Remove unused memorial.png texture. 6814f96375a7eba5946c808d898422c7c5edb5f0 (@mrdoob, @claude)
- Add banking to roller coaster track and camera. 354fc4ec29c0a5b7c9f21909e57e6e0e5d053e81 (@mrdoob, @claude)
- Fix lightprobes complex scene issues. 4cf573d9ab3442b663eed9a1639376138f4797b1 (@mrdoob, @claude)
Addons
-
Addons
- Update export file. #33390 (@Mugen87)
-
ArcballControls
- Controls reset touch-action to empty string instead of 'auto'. #33144 (@Kodub)
-
Bayer
- Bayer node: fix web worker usage. #33279 (@pavel-mazhuga, @Mugen87)
-
BufferGeometryUtils
- Fix two bugs. #33338 (@nameearly)
-
CCDIKSolver
- Fix limitation handling. #33386 (@Mugen87)
-
CSMShadowNode
- Fix error when disposed multiple times. #33202 (@shotamatsuda)
-
ChromaticAberrationNode
- Remove unused
_invSizeuniform. cbf6fff0287c3d259a17af418a549f8598eb47ed (@Mugen87)
- Remove unused
-
ColladaLoader
- Add suport for
polygonsprimitive. #33143 (@Mugen87) - Add support for
instance_joint. #33293 (@Mugen87)
- Add suport for
-
ColorUtils
- Add setKelvin(). #33381 (@Nedunchezhiyan-M, @Mugen87)
-
EXRLoader
- Support YCbCr and B44/A. #33212 (@Mugen87)
- Fix channel rule matching. #33216 (@Mugen87)
- Add multi-part and deep scanline support. #33218 (@Mugen87)
- Put known headers into "skipped" section. #33248 (@Mugen87)
- Remove buggy
getBigInt64()fallback. #33387 (@Mugen87)
-
FBXLoader
- Add skinning fixes. #33316 (@Mugen87)
- Correct bind matrix. #33317 (@Mugen87)
- Fix
penumbracomputation. #33321 (@Mugen87) - Fix rotation animations. #33323 (@Mugen87)
- Fix opacity fallback. #33325 (@Mugen87)
- Guard against orphaned animation curve nodes. #33327 (@digitalbreed)
- Add coordinate system correction for Z-up. #33332 (@Mugen87)
- Fix morph deltas. #33350 (@Mugen87)
-
FSR1Node
- Add FSR 1 port for
WebGPURenderer. #33339 (@Mugen87)
- Add FSR 1 port for
-
FirstPersonControls
- Update interaction model. #33124 (@mrdoob, @claude)
- Fix deprecated handleResize() message. f5d4b94ac51f1a4e552770a5de588fd2a016bef3 (@mrdoob, @claude)
-
GLSLDecoder
- Replace deprecated
substr()withslice(). #33260 (@Mridul012)
- Replace deprecated
-
GLTFExporter
- Add
EXT_texture_webpsupport. #33117 (@BorisKourt) - Make attribute prefix more robust. #33357 (@Mugen87)
- Add
-
GLTFLoader
- Fix morph target parsing. #33020 (@Mugen87)
- Handle zero
ioredge case. #33119 (@Mugen87)
-
GPUComputationRenderer
- Call
dispose()on variable's material. #33318 (@madisonrickert, @claude)
- Call
-
GodraysNode
- Simplify shadow coord computation. #33162 (@Mugen87)
-
HDRLoader
- Fix header parse logic. #33174 (@stack1ng)
-
Inspector
- Use fixed mini-panel. #33070 (@sunag)
- Introduce
forceWebGL. #33074 (@sunag) - Introduce
Timeline( Commands Recorder ). #33078 (@sunag) - Add
Capture Stack TraceforSettings. #33122 (@sunag) - Added string type support to parameters. #33156 (@sunag)
- Introduce TSL Graph Addons. #33165 (@sunag)
- Add export functionality to Inspector Timeline tab and enhance call detail logging. #33192 (@Makio64, @sunag)
- Added
Extensionsupport and revisions. #33200 (@sunag) - Improvements. #33230 (@sunag)
- Fix
Tab.isActive. 33feff9e355cddabc3493533fb4ee9bc09091c6d (@sunag) - Replace deprecated
substr()withslice(). #33267 (@Mridul012)
-
KTX2Loader
- Support RGBA 16-bit unsigned normalized formats. #33245 (@donmccurdy, @Mugen87)
-
LDrawLoader
- Fix incorrect normals on double sided faces. #33383 (@Mugen87)
-
OutlineNode
- Support sprites. #33112 (@Mugen87)
- Early out when nothing is selected. #33358 (@Mugen87)
-
Reflector
- Support orthographic cameras. #33249 (@Mugen87)
- Clean up. b4822a411ab883290e21f9f5251ed40a7815265c (@Mugen87)
-
SSGINode
- Remove dead code. 4c1fe47d87c2869af064101fab856d3fa289cc68 (@mrdoob, @claude)
-
SVGLoader
- Fix round stroke joins and caps when
arcDivisions = 1. #33256 (@georgpukk, @Mugen87)
- Fix round stroke joins and caps when
-
SVGRenderer
- Fix performance regression. #33220 (@Mugen87)
-
Sky
- Make sun disc optional. #33031 (@jwheare)
-
TAAUNode
- Adding new node for TAA with Upsampling. #33368 (@Mugen87)
-
TRAANode
- Improve docs. d2d9d4069320de51d2e7f36855375f4640578ecb (@Mugen87)
- Add velocity node source. #32274 (@shotamatsuda)
- Add support for reversed/logarithmic depth buffers and orthograhic cameras. #33364 (@shotamatsuda)
-
TSL
- Improve
dispose()of some FX addons. #33126 (@Mugen87)
- Improve
-
TransformControls
- Allow visibility control of plane gizmos. #33170 (@Mugen87)
-
USDCParser
- handle empty array payload and validate offsets. 9a141d0f9c0528275a7f3ca3bf7745a5cca70de2 (@mrdoob)
-
USDComposer
- recurse mesh children and skip GeomSubset nodes. db5f5e5496e7844736aecb012e039018c1e43b0f (@mrdoob)
- avoid global displayOpacity on subset materials. 7f89d9b273ef32af1666fbd2b61c6dc4d5c39822 (@mrdoob)
- add Camera prim parsing. 8d9c591c1c93a5c583a69e5ec6083d26b85a028d (@mrdoob)
- Add light support. a158b85f4eff6f3fdfa4dfdaa01087fca9fabcf6 (@mrdoob, @claude)
- Fix reference parsing. #33294 (@Mugen87)
- Fix uv data for multi-material meshes. #33297 (@Mugen87)
-
USDLoader
- Fix flat shading on meshes without normals. #33081 (@mrdoob, @claude)
- Add support for geometric primitives (Cube, Sphere, Cylinder, Cone, Capsule). #33082 (@mrdoob, @claude)
- Add support for MaterialX UsdPreviewSurface materials. #33083 (@mrdoob, @claude)
- Add metersPerUnit support. #33084 (@mrdoob, @claude)
- Fix skeleton skinning distortion. #33085 (@mrdoob, @claude)
-
VTKLoader
- Deprecated loader. #33363 (@Mugen87)
-
WebGPURenderer
- Introduce Dynamic Lights. #33042 (@RenaudRohlinger, @sunag)
-
WebXR
- Added model caching to XRHandModelFactory. #33252 (@NssGourav, @Mugen87)
-
meshopt_decoder.module
- Upgrade meshopt_decoder.module.js to 1.1.1. #33393 (@zeux)
Devtools
- Added new DevTools. #30870 (@mrdoob, @Darkensses, @cesmoak, @claude, @github-advanced-security[bot])
Editor
- add deterministic dropped-file finder for URL resolution. 52133860a3021871867a9f194e92062c5931e4e6 (@mrdoob)
- Improve animation panel. #33110 (@Mugen87)
- Add
TextGeometry. #33253 (@Mugen87)
Tests
- E2E: Replace SwiftShader with software Dawn (Lavapipe). #33346 (@mrdoob, @claude)
- E2E: Tighten pixel diff tolerance and refresh screenshots. #33389 (@mrdoob, @claude)
- E2E: Added webgpu_compute_sort_bitonic to exceptionList. 4a48e81fa8691027b7fdc8180a5df04cf6827410 (@mrdoob)
r183
https://github.com/mrdoob/three.js/wiki/Migration-Guide#182--183 https://github.com/mrdoob/three.js/milestone/96?closed=1
- Global
- Remove deprecated code. #32569 (@Mugen87)
- Replace eslint-plugin-import with eslint-plugin-import-x. #32651 (@mrdoob)
- Removed eslint-plugin-import-x. #32653 (@mrdoob)
- Bump lodash from 4.17.21 to 4.17.23. #32814 (@dependabot)
- remove jshint remnants. #32885 (@ycw)
- Update package.json. 4c280ff9c2599baba7afe262e434a1449d6f67d4 (@Mugen87)
- Update package.json. 3332b33bea214d2033de83272ec56bd08dca4a00 (@Mugen87)
- Animation
- Add BezierInterpolant. #32829 (@mrdoob, @claude)
- AnimationAction
- Fixed typos in /src folder. #32629 (@mrdoob)
- AnimationMixer
- DEVTOOLS access to AnimationMixer + Loaders. #32616 (@marwie)
- BatchedMesh
- correctly set the nextIndexStart, nextVertexStart. #32744 (@gkjohnson)
- Enable per-instance opacity. #32725 (@vanruesc, @gkjohnson)
- Add support for wireframe materials. #32948 (@gkjohnson)
- BindGroup
- Remove
bindingsReference. #32910 (@Mugen87)
- Remove
- Cache
- Don't cache Blobs. #32989 (@Mugen87)
- Camera
- Exclude scale from view matrix. #32805 (@Mugen87)
- Clock
- Deprecated module. #32798 (@Mugen87)
- Core
- Add
ReversedDepthFuncsdictionary. #32983 (@Mugen87)
- Add
- GLSLNodeBuilder
- Fix
CubeDepthTexturesampler. #32857 (@Mugen87) - Fix array texture layer support for filtered sampling. #33008 (@RenaudRohlinger)
- Fix
- Helpers
- Clarify the usage of
update(). #32717 (@Mugen87)
- Clarify the usage of
- InstanceNode
- Support velocity. #32586 (@Mugen87)
- Fix UBO size and attribute update. #32615 (@Mugen87)
- Lighting
- Refactor camera usage. #32557 (@sunag)
- LightShadow
- Introduce
biasNode. #32811 (@Mugen87)
- Introduce
- Line2NodeMaterial
- Avoid performance degradation with
viewportSharedTexture(). #32639 (@Mugen87, @sunag) - Rename
useColorproperty tovertexColors. #32670 (@sunag)
- Avoid performance degradation with
- Line3
- Fix closest point in
distanceSqToLine3(). #32878 (@Mugen87)
- Fix closest point in
- Matrix4
- Cache determinant result in decompose(). #32658 (@mrdoob, @microsoftcopilot)
- Optimize invert() calculation. #32657 (@mrdoob)
- MeshLambertMaterial
- Add support for scene.environment IBL. #32791 (@mrdoob, @claude)
- MeshPhongMaterial
- Add support for scene.environment IBL. #32795 (@mrdoob, @claude)
- MeshPhysicalMaterial
- Added clearcoat support for rect area lights. #32809 (@TobiasNoell)
- MeshPhysicalNodeMaterial
- Fix missing iorNode in MeshPhysicalNodeMaterial copy method. #32821 (@TobiasNoell)
- NodeBuilder
- Fix shared group detection. #32913 (@Mugen87)
- Fix update nodes sequence. #32991 (@sunag)
- NodeBuilders
- Unifies uniform groups of different shader stages. #32534 (@sunag)
- NodeMaterial
- Add
maskShadowNode. #32598 (@sunag) - Remove
shadowPositionNodefallback to reduce CPU load. #32699 (@Mugen87)
- Add
- NodeMaterialObeserver
- Fix detection of replaced attribute/index. #32933 (@Mugen87)
- Nodes
- Update exports. #32783 (@Mugen87)
- Fix PMREM cache. #32941 (@Mugen87)
- Object3D
- Document
static, add support incopy()and JSON. #32679 (@Mugen87)
- Document
- ObjectLoader
- Wrap
JSON.parse()in try/catch for consistent error handling. #32947 (@glowsenior)
- Wrap
- Playground
- Archived playground. #32771 (@mrdoob)
- PMREM
- Simplify GGX VNDF importance sampling. #32737 (@Mugen87)
- RenderContext
- Refactor context key. #32546 (@Mugen87)
- Renderer
- Rename
shadowMap.colortoshadowMap.colored. #32608 (@Mugen87) - Rename
shadowMap.colored->shadowMap.transmitted. #32611 (@sunag) - Shadow map improvements. #32705 (@Mugen87)
- Rename
- RenderObject
- Fix ID assignment bug. #32700 (@Mugen87)
- Update
bundlereference at correct point. #32901 (@Mugen87)
- RenderTarget
- minor formatting. #32988 (@epreston)
- ShadowFilterNode
- Fix TSL warning in
VSMShadowFilter. #32836 (@Mugen87)
- Fix TSL warning in
- ShadowMaterial
- Respect "premultiplied alpha". #32550 (@gkjohnson)
- SkinningNode
- Fix tangent transformation. #32718 (@Mugen87)
- SpriteSheetUVNode
- Transform to TSL function and fix
countNodeaccess. #32693 (@gayanMatch)
- Transform to TSL function and fix
- StorageTextureNode
- Add TSL read/write support. #32734 (@NateSmyth)
- Test
- Remove servez reference. adfc78595273c614f1e0557131644924a039c322 (@mrdoob)
- Texture3DNode
- Remove outdated
setupUV(). #32630 (@Mugen87)
- Remove outdated
- TextureNode
- Use
compareNodefor Android ifcompareStepNodeis not compatible. #32956 (@sunag)
- Use
- TSL
- Introduce
clipSpace. #32594 (@sunag) - Introduce
TSL.md(TSL Spec). #32601 (@sunag) - Remove exports for removed TSL methods. #32635 (@Methuselah96)
- use raw data for
DebugNodecallback. #32638 (@linbingquan) - Add
exponentialHeightFogFactor(). #32659 (@Mugen87) - Check if the stack has a valid output. #32669 (@sunag)
- Fix
positionViewsub-build. #32691 (@sunag) - Revert
positionWorldre-computation. #32710 (@sunag) - Fixing invalid GLSL using nested structures. #32724 (@sunag)
- Move
SceneNodeto TSL functions. #32838 (@sunag) - Support switching
StorageBufferAttributewhen usingstorage(). #32847 (@sunag) - Force flat shading for geometries without normals for
normal*nodes. #32848 (@sunag) - Avoid side effect of
getTextureLevel()in normals. #32877 (@Mugen87) - Remove
scriptablenode. #32925 (@sunag) - Introduce
StackTrace. #32914 (@sunag) - Add
RenderPipelinefor TSL Spec. #32928 (@sunag) - Add
retroPassand example. #32930 (@sunag) - Remove ScriptableNodeResources export. #32945 (@Methuselah96)
- Cache
camera*uniform nodes. #32938 (@sunag) - Fix
instancedArray()bufferCountproperty. #32977 (@sunag)
- Introduce
- UniformGroups
- Partially updates. #32558 (@sunag)
- UniformsGroup
- Add range cache and fix clear old update ranges. #32561 (@sunag)
- ViewportDepthNode
- Support reversed depth in viewZ functions. #33001 (@Mugen87)
- ViewportTextureNode
- Change update type to
RENDER. #32664 (@Mugen87)
- Change update type to
- WebGLRenderer
- Allow InstancedMesh provide a unique ID for WebGLBindingStates. #32556 (@OndrejSpanel)
- Consider skinning / instancing when sorting objects. #28125 (@OndrejSpanel)
- Fix shadow map uniform management. #32590 (@Mugen87)
- Fix
PCFSoftShadowMapcheck. #32593 (@Mugen87) - Ensure readback checks work on correct attachment state. #32506 (@andredsm)
- Fix pointlight shadows with reversed depth buffer. #32749 (@Mugen87)
- Fix remaining shadow issues with reversed depth. #32751 (@Mugen87)
- Fix shadow bias with reversed depth buffer. #32770 (@Mugen87)
- Unify cubemaps and cubeuvmaps into WebGLEnvironments. #32792 (@mrdoob, @claude)
- Force flat shading for geometries without normals. #32831 (@mrdoob, @claude)
- Only clear when bit mask is set. #33010 (@Philipp-M)
- WebGLShadowMap
- Fix wrong camera state. #32777 (@Mugen87)
- WebGLState
- Fix polygon offset with reversed depth buffer. #32832 (@Mugen87)
- WebGPURenderer
- Fix
compileAsync()with target scenes. #32530 (@Mugen87) - Prevent translation of skybox. #32537 (@Mugen87)
- Prevent undefined GPUShaderStage. #32539 (@verekia)
- Fix shadow comparison on Adreno GPUs. #32548 (@sunag)
- Introduce
shadowMap.color. #32596 (@sunag) - Unify uniformGroup bindings across shader stages. #32602 (@sunag)
- Add per-attachment MRT blending support. #32636 (@sunag)
- Fix depth/stencil format out-of-sync bug. #32731 (@Mugen87)
- Use @interpolate(flat, either) for all cases. #32761 (@greggman)
- Rename
NodestoNodeManager. #32786 (@sunag) - Rename
RenderPipelinetoRenderObjectPipeline. #32785 (@sunag) - Rename
PostProcessingtoRenderPipeline. #32789 (@sunag) - Always request compatibility mode and upgrade to core. #32762 (@greggman, @Mugen87)
- Optimize chain key array reset. #32833 (@Mugen87)
- Fall back to default texture when texture creation fails. #32853 (@ycw)
- Introduce
initRenderTarget(). #32867 (@Mugen87) - Export
CubeRenderTargetand use it in examples. #32871 (@Mugen87) - WebGL viewport / scissors not working correctly with PostProcessing. #32883 (@TobiasNoell)
- Fix
overrideMaterialnode assignments. #32896 (@Mugen87) - Turn off antialiasing in compat mode. #32902 (@greggman)
- Make wireframe update more flexible. #32908 (@Mugen87)
- Make generateMipmap work in compatibility mode. #32906 (@greggman)
- Fix
flipYand cache key whengenerateMipmap. #32922 (@sunag) - Improve checks for uniform buffer limits. #32949 (@sunag)
- Fix wireframe rendering for
BatchedMesh. #32955 (@Mugen87) - Improve
compatibilityModesupport for MRT. #32973 (@sunag) - Add basic reversed depth buffer support. #32967 (@Mugen87)
- Add shared
BindGroupvia hash. #32936 (@sunag) - Use all visibility for shared BindingGroup. #32997 (@sunag)
- Minor improvements for shared BindingGroup. #32998 (@sunag)
- Reversed depth buffer fixes. #33000 (@Mugen87)
- Fix stencilBack not matching stencilFront in pipeline. #33002 (@jpt)
- Remove outdated bind groups. #33011 (@Mugen87)
- Fix
- WebGPUTexturePassUtils
- Cleanup generateMipmaps. #32915 (@greggman)
- WGSLNodeBuilder
- Fix array texture layer support for filtered sampling. #32990 (@RenaudRohlinger)
- XRManager
- Fix XR camera layers inheritance. #32626 (@wrangelvid)
Docs
- Update URL in VignetteShader.js documentation. #32573 (@jwheare)
- Update documentation for ImageBitmapLoader options. #32574 (@jwheare)
- Improved search results. #32577 (@mrdoob)
- Remove .is properties from search results. #32578 (@mrdoob)
- Fix JSDoc Example. #32603 (@leannepepper)
- worldToLocal typo. #32647 (@satelllte)
- Update documentation to include KHR_meshopt_compression. #32661 (@donmccurdy)
- improve JSDoc documentation in utils.js. #32743 (@Angel98518, @Daniel)
- Update TorusGeometry with thetaStart and thetaLength. #32760 (@3dpk-interactive)
- Improve documentation for edge cases in MathUtils functions. #32806 (@dive2tech, @Gittensor Miner, @Mugen87)
- Prevent translators from aggressively translating parameter names. #32868 (@ycw)
- KTX2Loader. Fix typo in
TYPE_MAP. #32899 (@epreston) - Clarify auto update flags. #32909 (@Mugen87)
- Add missing JSDoc. #32921 (@Mugen87)
- Fix typo in JSDoc. #32946 (@glowsenior)
- Added llms.txt, llms-full.txt and llms/build.js script. #32673 (@mrdoob)
- Fix typo and link in Installation manual. #32972 (@pavan-sh)
- utils : update probeAsync jsdoc. #32995 (@epreston)
Manual
- Frame-rate independent cube rotation example. #32627 (@satelllte)
- Update rendering-on-demand.html. 4bbae20d6759dd0bd160fede992dd5d82e0b8294 (@Mugen87)
- Improve Chinese translation. #32804 (@guo-weijie)
- Update WebGPU guide. #32846 (@Mugen87)
- docs(zh): translate "Getting Started" manual pages into Chinese. #32996 (@DDDDD12138)
- Add Physics page. #33004 (@Mugen87, @Walid Chtioui)
- Replace the template literal with string concat in lights page. #33012 (@v-stamenova)
Examples
- Cleanup examples. #32528 (@Methuselah96)
- Add external example for Polyslice G-code slicer. #32502 (@jgphilpott, @microsoftcopilot, @Mugen87)
- Remove material AO demo. #32579 (@Mugen87)
- Update
webgpu_shadowmap. #32610 (@sunag) - Add basic fog scattering demo. #32613 (@Mugen87)
- Add shadow tag to webgpu_postprocessing_sss. e85890ebc870883c4147fefd472cb13542bc9e4b (@mrdoob)
- Clean up. 15cbc8c6f2b104835082cf08dadfdd1a72fcf5b0 (@mrdoob)
- Improved grid in webgpu_loader_materialx. 5cde3c7ec5af65456dfc1c29d3e592be6051400f (@mrdoob)
- Cleanup examples. #32634 (@Methuselah96)
- Improved examples. 0168a66eaebd0cd5a5ae5dc85ad20ed34b03827a (@mrdoob)
- Added bloom to ocean examples. #32680 (@mrdoob)
- Improved webgl_animation_keyframes. #32685 (@mrdoob)
- Remove obsolete shadow bias from WebGPU demos. #32715 (@Mugen87)
- Add missing UnrealBloomPass parameters. #32736 (@Methuselah96)
- Add support for reversed depth to post processing modules. #32773 (@Mugen87)
- Replace
ClockwithTimer. #32782 (@Mugen87) - Update Godrays demo. #32801 (@Mugen87)
- Improved draco example and re-encode bunny.drc with 2.2 (cl7) reducing file size from 96KB to 47KB. 89c278c26286bfb223a2c82ec388b094b69d2a94 (@mrdoob)
- Update webgpu_postprocessing_godrays.html. d167b69e3c0b7157ac96ca9eda3c5a0c351cfa2b (@Mugen87)
- Various fixes for WebGPU compatibility mode. #32907 (@greggman)
- Add Volumetric Lighting using TRAA. #32953 (@sunag)
- Update
webgpu_parallax_uv, andwebgpu_cubemap_adjustmentsexamples using.hdrfile. #32976 (@sunag) - Scroll sidebar to selected example. #32980 (@sunag)
- Clean up. #32994 (@Mugen87)
- Improve birds compute demo. #33016 (@Mugen87)
Addons
-
Anaglyph
- Rename
screenDistancetoplaneDistance. #32943 (@Mugen87)
- Rename
-
AnaglyphEffect
- Use frameCorners() for physically-correct stereo. #32929 (@zalo, @claude)
-
CCDIKSolver
- Fixed typos in /examples/jsm folder. #32631 (@mrdoob)
-
ColladaLoader
- Split into modular files. #32796 (@mrdoob, @claude)
- Improve animation support. #32830 (@mrdoob, @claude)
- Apply falloff angle to spot lights. 17529114983185f1266b40e36933d306badfd5f5 (@mrdoob, @claude)
-
Exporters
- Add Object3D.pivot support. #32769 (@mrdoob)
-
GCodeLoader
- Add support for M82/M83 commands. #32687 (@Mugen87)
-
GLTFExporter
- Fix skinIndex export for InterleavedBufferAttribute. #32607 (@querielo, @Mugen87)
-
GLTFExporter/GLTFLoader
- Add Object3D.pivot support. #32774 (@mrdoob)
-
GLTFLoader
- Fix empty groups when multiple scenes reference same nodes. #32567 (@YusakuNo1)
- GLTFLoader and KTX2Loader: Add a sanity check for navigator.userAgent before using it. #32633 (@leonmetthez)
- Implement support for KHR_meshopt_compression. #32163 (@zeux)
- Add getMaterialExtension helper. #32748 (@mrdoob, @claude)
-
Global
- Remove deprecated code. #32572 (@Mugen87)
- Replace
ClockwithTimer. #32793 (@Mugen87)
-
HalftoneShader
- Add diamond shape option. #32942 (@NateWr)
-
Inspector
- Store parameters object+key. #32507 (@marwie)
- Add "Copy All" button to Console tab. #32825 (@seantai, @sunag)
-
JoltPhysics
- Fix dynamic import Vite warning. e796263ee25703290d920d958888061b799c7ded (@mrdoob)
-
KTX2Loader
- Fix alpha for BC3 textures. #32772 (@donmccurdy)
-
LDrawConditionalLineNodeMaterial
- fix import. #32861 (@gkjohnson)
-
LDrawLoader
- De‑magic condition. #32886 (@ycw)
-
LensflareMesh
- Fix DPR usage. #32625 (@Mugen87)
-
LineMaterial
- Set needsupdate when changing worldUnits property. #32952 (@dsafa)
-
Loaders
- Use named fflate imports and native TextDecoder. #32765 (@mrdoob)
-
Nodes
- Removing unnecessary
nodesObject. #33014 (@sunag)
- Removing unnecessary
-
Object3D
- Added pivot property. #32745 (@mrdoob)
-
OrbitControls
- Expose pan, rotate and dolly methods. #32810 (@TobiasNoell)
- Add
cursorStyleproperty. #32981 (@Mugen87)
-
PCDLoader
- Fix label parsing. #32683 (@Mugen87)
-
RapierPhysics
- Fix dynamic import Vite warning. #32565 (@mrdoob, @claude)
-
RoomEnvironment
- Adjust scene position. #32646 (@mrdoob)
-
SSRNode
- Performance optimizations. #32637 (@mrdoob)
- Add distance-aware blur for roughness. #32834 (@mrdoob, @claude)
- Use squared roughness for blur LOD and simplify pointPlaneDistance. #32993 (@mrdoob, @claude)
-
Sky/SkyMesh
- Remove legacy gamma correction curve. #32677 (@mrdoob)
- Added procedural clouds. #32682 (@mrdoob)
-
TSL
- Improve
retroPassand example. #32954 (@sunag)
- Improve
-
USDAParser
- Improve text parsing robustness. #32747 (@mrdoob, @claude)
-
USDAParser/USDComposer
- Clean up. 3cd3e5b87e4a75aa14cf43958ddcaf9c6edebebc (@mrdoob)
-
USDCParser
- Fixed scalar handling. 43166fcb2c5378a3cdd4c782175d0daf136a10d1 (@mrdoob)
-
USDComposer
- Fix color space handling for material colors. 73636e35bfc1800f0242cbd0a5c488b184546943 (@mrdoob)
- Clean up. e3f4523ed8d11e538cdbfbe573514a7fe01ed64a (@mrdoob)
- Added primvars:displayOpacity support. 27f2f4eb5fbf78f42d0447a7b7f1879445b96111 (@mrdoob)
- Fixed variant composition. 9a711cc1f452a917fe92eab3b4538fd34f45687a (@mrdoob)
- Support variant overrides on ancestor prims. 96432fc0bd1a4a44afea6ebed27f65e9ed342c9e (@mrdoob)
-
USDLoader
- Added USDC file support. #32704 (@mrdoob)
- Refactored into USDComposer and added animation support. #32740 (@mrdoob)
- Improve material and UV support. #32746 (@mrdoob)
- Unify USD format handling and add .usd support. 5532147c692e1ec3c34e8d6455a598945011223e (@mrdoob)
- Add OpenPBR Surface shader and polygon hole support. #32764 (@mrdoob)
- Various bug fixes and improvements. #32766 (@mrdoob)
- Performance improvements and external texture support. #32790 (@mrdoob, @claude)
- Improve transform handling, skinning, and image loading. #32828 (@mrdoob, @claude)
- Fix material binding lookup for variants. 43c8ff7e8966b1a359b104915290b8d4619e80cc (@mrdoob, @claude)
- Apply UsdUVTexture scale to material colors. 585b578fb735485a95b651ff9d9e001601d3090f (@mrdoob, @claude)
-
UltraHDRLoader
- Add support for ISO 21496-1 gainmap metadata. #32862 (@mrdoob)
-
VRMLLoader
- Add camera support. #32580 (@Mugen87)
-
VTKLoader
- Fix ReDoS vulnerability. #32622 (@mrdoob)
-
ViewHelper
- Add location property for positioning. 22afab942a46cd9f6b7310e3c210a6a19655ca0d (@mrdoob, @claude)
-
Water
- Use HalfFloatType for reflection render target. #32678 (@mrdoob)
-
Water/WaterMesh
- Improve realism. #32681 (@mrdoob)
-
WaterMesh
- Remove unneeded Lambert material. 40d7441aee16fc0bc0839ba597b2f7ec84324045 (@mrdoob)
-
WebGLRenderer
- More fixes for reversed depth buffer. #32799 (@Mugen87)
-
WebGPURenderer
- Add
GodraysNode. #32888 (@Mugen87)
- Add
-
WebGPU_Display_StereoExample
- Add new Anaglyph Techniques. #32905 (@zalo)
-
examples
- jolt-physics@1.0.0. #32711 (@linbingquan)
Editor
- Modernized ui.js. #32545 (@mrdoob)
- use ES6 const/let for
app.js. #32712 (@linbingquan) - Move render options from sidebar to menubar. #32727 (@mrdoob)
- Replace FFmpeg with WebCodecs for video rendering. #32728 (@mrdoob)
- Use parseAsync when rendering image. f02c6851af95be4d2ca655521a6928bd7e35d297 (@mrdoob)
- Add Resources panel to Project sidebar. #32729 (@mrdoob)
- UI css scope. #32714 (@linbingquan)
- Enable logarithmic depth buffer. #32732 (@mrdoob)
- Debounce Resources panel updates. 8084de7640e5b7794754f8bad3b53b9641840493 (@mrdoob)
- Add default environment. #32752 (@mrdoob)
- ESLint: migrate to flat config, note missing eqeqeq rule. #32754 (@ycw)
- Simplify environment handling. #32757 (@mrdoob)
- Clean up sw.js. d9b39f4ea88d1b87d91c7f1f6cb43c04670658cd (@mrdoob)
- Improve service worker caching and activation. c36ae33e09de7cb788ad098c6778ac2b8d10249b (@mrdoob)
- Add dialog for glTF import. #32784 (@Mugen87)
- Improve geometry sidebar with interleaved and instanced support. 86c5b3e9afb9a910909f06e6086ffccb519cc7dc (@mrdoob, @claude)
- Change default tone mapping to Neutral. ceda42c71f661585fa16282536695ef0c18e781f (@mrdoob, @claude)
- Added WebGPURenderer support. #32842 (@mrdoob, @claude)
- Improve UI layout. 293ed86238d8563af70a4ddab51067891c7188ee (@mrdoob, @claude)
- Fix camera move error. #32843 (@linbingquan)
- Clean up Viewport.Controls. a97401bca9c0bbacbb931aa0f8a446ad161c1ae2 (@mrdoob, @claude)
- Add morph target support. #32844 (@Mugen87)
- Fix canvas reference for video rendering. #32864 (@ycw)
- Retain viewport color when rendering images/videos. #32866 (@Mugen87)
- Deprecate ServiceWorker. 3ab79b8334a6c905f7ab54ef02ed3e82884aad6a (@mrdoob, @claude)
- fix app publishing for project using WebGPURenderer. #32897 (@ycw)
- Refine eslint config: limited exclusion and lint fixes. #32917 (@ycw)
- Cleanup. #32965 (@linbingquan)
- Add Animation panel. #32869 (@mrdoob, @claude)
Tests
- Quaternion - Support extrapolation in slerp methods. #32541 (@WestLangley)
- Puppeteer: Remove express dependency. #32649 (@mrdoob)
- Removed rollup-plugin-filesize dependency. #32650 (@mrdoob)
- Puppeteer: Replaced jimp with jpeg-js and pngjs. #32652 (@mrdoob, @claude)
- Puppeteer: Removed pixelmatch dependency. #32656 (@mrdoob)
Utils
- Replaced servez with custom server.js. #32654 (@mrdoob)
- Replaced concurrently with custom preview.js. #32655 (@mrdoob)
- Update utils/server.js to selfsigned 5.0.0. 5b5594a161c3c41f6e1fc9aa58e96949bbc5c2d8 (@mrdoob)
- server.js: removed redundant call to path.normalize(). 7cc18054c7fa5e438b9a6cd648b1d4296282920d (@mrdoob)
- server.js: simplified code. 7cd43e066a725ea6b2349e52911a01613a9cbeaa (@mrdoob)
- Remove dev-ssl and preview-ssl. #32672 (@mrdoob)
- utils/server.js: cross-platform isMain check. #32674 (@ycw)
- Add changelog generator. #32781 (@mrdoob, @claude)
- Fix loading of sites without .html extension. #32970 (@Mugen87)
- build-llms: Clean up stale .md files before generating new ones. f45d6f94de70d6f8351a0e0a17628979718044dc (@mrdoob, @claude)
- build-docs: Clean up stale .html files before generating new ones. ed98cc4aa1f5decd9b23f54aa5ca2865e95fa56a (@mrdoob, @claude)
- Improve changelog.js. 2cc37c2bdab8318bdb14033bdbe6763b695d21b2 (@mrdoob, @claude)
- Improve changelog.js. 8863cdbd3aa3f66df4c5e5385f717adaf8b06ada (@mrdoob, @claude)
r182
https://github.com/mrdoob/three.js/wiki/Migration-Guide#181--182 https://github.com/mrdoob/three.js/milestone/95?closed=1
- BatchedMesh
- Fix index and attribute updates in
optimize(). #32185 (@querielo)
- Fix index and attribute updates in
- BatchNode
- Optimize generated shader code. #32203 (@Mugen87)
- BufferGeometry
- Add
indirectOffsetparameter for indirect drawing. #32392, #32413 (@holtsetio, @RenaudRohlinger)
- Add
- ExtrudeGeometry
- Honor
closedproperty ofCatmullRomCurve3. #32410 (@Mugen87)
- Honor
- InstanceNode
- Add support for
StorageInstancedBufferAttribute. #32240 (@RenaudRohlinger)
- Add support for
- Light
- Unify
toJSON()implementations. #32414 (@Mugen87)
- Unify
- LightProbe
- Remove
fromJSON(). #32415 (@Mugen87)
- Remove
- Line2NodeMaterial
- Align wide lines with
WebGLRendererversion. #32234 (@Mugen87)
- Align wide lines with
- Material
- Fix
copy()to includeallowOverride. #32269, ba1655cf3587349768665c442a4f7cc0ecd23759 (@crazylogic03, @Mugen87)
- Fix
- Matrix4
- Optimize
determinant()calculation. #32157 (@mrdoob)
- Optimize
- MeshPhysicalMaterial
- Fix iridescence energy conservation for mixed materials. #32309 (@mrdoob)
- Improve Sheen energy conservation and analytic approximation. #32356, #32397 (@mrdoob)
- MeshStandardMaterial
- Fix furnace test energy loss for intermediate metalness values. #32190, #32201 (@mrdoob)
- Improve physical accuracy. #32330 (@mrdoob)
- NodeBuilder
- Add missing vector types to
generateConst(). #32162 (@cmhhelgeson) - Cache node attributes for vertex stage only. #32189 (@Mugen87)
- Ignore events for shared context. #32492 (@sunag)
- Add missing vector types to
- NormalMapNode
- Add basic support for normal unpacking. #31695 (@castano)
- PMREMGenerator
- Improve GGX VNDF accuracy and match Blender roughness. #32311 (@mrdoob)
- Reduce DFG LUT resolution to 16x16. #32358 (@mrdoob)
- PointShadowNode
- Refactor to use native cube depth texture. #32379 (@mrdoob)
- PolyhedronGeometry
- Fix typo in
fromJSON(). #32475 (@Ayush123-e)
- Fix typo in
- ShaderMaterial
- Fix
copy()to include missing properties. #32219 (@NssGourav)
- Fix
- Source
- Guard reference to VideoFrame. #32301 (@Mugen87)
- StructTypeNode
- Fix memory length calculations. #32377 (@holtsetio)
- TSL
- Add renderer context node (global). #32295 (@sunag)
- Check for
undefinedinuniform(). #32183 (@Mugen87) - Add
texture3DLoad()andtexture3DLevel(). #32171 (@RenaudRohlinger) - Add bitcount related functions. #31990 (@cmhhelgeson)
- Add support for
mat3andmat4usingbufferAttribute(). #32204 (@sunag) - Do not auto-generate tangent attribute. #32220 (@Mugen87)
- Pre-pass using global context. #32276, #32345 (@sunag)
- Introduce float packing / unpacking intrinsics. #32329 (@Ne0nWinds)
- Introduce
builtinShadowContext()andbuiltinAOContext(). #32384, #32378 (@sunag, @querielo) - Renamed
DFGApproxtoDFGLUT. #32399 (@mrdoob) - Fix non-stack function call with loops. #32420 (@sunag)
- Prevent memory leaks in
ShadowNode. #32395 (@querielo)
- Vector3
- Clean up. #32363 (@MOHITKOURAV01)
- WebGLRenderer
- Support more EAC texture formats. #32308 (@castano)
- Modernized shadow mapping. #32181, #32303, #32407, #32443 (@mrdoob)
- Align transmission render target samples with canvas. #32444 (@mrdoob)
- Remove
SUPPORTS_VERTEX_TEXTURES. #32455 (@mrdoob) - Clean up
setupRenderBufferStorage(). #32456 (@mrdoob) - Use Map for O(1) program lookup. #32463 (@mrdoob)
- Move point light shadow logic from
PointLightShadow. #32473 (@mrdoob)
- WebGPURenderer
- Support more EAC texture formats. #32308 (@castano)
- Fix textured backgrounds with ortho cameras. #32313 (@Mugen87)
- Improve StorageTexture3D support. #32150 (@RenaudRohlinger)
- Optimize VSM shadow code. #32209 (@mrdoob)
- Fix shadowing of error function. #32245 (@Methuselah96)
- Improve cache bindings from node uniforms. #32244 (@sunag)
- Set opaque blend mode for secondary MRT targets. #32265 (@sunag)
- Add update ranges for bindings. #32248 (@sunag)
- Buffer labeling adjustment. #32247 (@cmhhelgeson)
- Relates MRT for RenderContext in obtaining a unique context. #32264 (@sunag)
- Fix VSM shadow artifacts. #32327 (@mrdoob)
- Fix point light shadows. #32365 (@mrdoob)
- PCF shadow filtering with Vogel disk sampling and IGN. #32381, #32407 (@mrdoob)
- Use correct cache for default cube textures. #32425 (@SE7EN2028)
- Refine video texture warning. #32439 (@Mugen87)
- Improve resource disposal. #32446 (@querielo)
- Skip invalid frame of video textures. #32441 (@whatisor)
- Improve Bind Group Layout cache system. #32451, #32249 (@cmhhelgeson, @Mugen87)
Docs
- Clean up. d70adae523c1b3c67defbe9fdf3a69c153cbd454, 9e94632cb90fc22f0b32f1461d625439b9db47e8, 72f91e3cf64eee7f392c8b15bddbc36bc56247d5 (@Mugen87)
- Add missing @private annotation. #32165 (@Mugen87)
- Fix external links. #32161 (@mrdoob)
- Fix ShadowNode JSDoc. #32166 (@Mugen87)
- Improved search with category matching. #32164 (@mrdoob)
- Fix JSDoc of inspector. #32192 (@Mugen87)
- Remove unused parameter from
BatchedMesh.optimize(). #32186 (@querielo) - Improve
ShaderMaterial.fog. #32224 (@Mugen87) - Fix return type in
compileAsync(). #32205 (@querielo) - Fix
optionsofPMREMGenerator. #32285 (@ycw) - Improve
SkyMesh. #32289 (@jwheare) - Open panel on mobile when no page is selected. #32261 (@mrdoob)
- Fix typo in
MaterialLoader. #32316 (@michael-erskine) - Replace
[name]in docstring. #32332 (@ycw) - Update default anisotropy value in
Texture. #32346 (@thibka) - Fix restitution param desc in physics addons. #32341 (@SollyBunny)
- Fix typo in
DecalGeometry. #32366 (@rotu) - Improve Bloom radius description. #32450 (@Mugen87)
- Fix
RendererWebGPU convention. #32457 (@sunag) - Fixed typo in
BufferGeometry. #32477 (@Magnus1X)
Manual
- Update OffscreenCanvas support details. #32184 (@aganders3)
- Fix formatting in
prerequisites.html. #32217 (@Mugen87) - Add guide about Post-Processing with
WebGPURenderer. #32279 (@Mugen87) - Add guide about WebGPURenderer. #32260 (@Mugen87)
Examples
- Add radial blur demo. #32297 (@Mugen87)
- Fix chromatic aberration type usage of caustics example. #32169 (@sunag)
- Improve BPCEM demo. #32172 (@Mugen87)
- Fix thumbnail of backdrop demo. #32178 (@Mugen87)
- Simplify render bundle demo. #32215 (@Mugen87)
- Cleanup
stats-gl. #32242 (@RenaudRohlinger) - Improve ray marching in volume rendering examples. #32235 (@mrdoob)
- Move
webgpu_struct_drawindirectto TSL. #32222 (@cmhhelgeson) - Add WebGPU Contact Shadows. #32262 (@querielo)
- Renamed “external” tag to “community”. #32232 (@mrdoob)
- Open panel on mobile when no example is selected. #32261 (@mrdoob)
- Update credit link in
webgl_animation_skinning_ik. #32259 (@abernier) - Add model selector to glTF loader examples. #32364, 1296afb199e2420f322bd5d45701fd686cfe2f38, #32406 (@mrdoob)
- Made shadows soft in webgl_shadowmap_pointlights. 56838ce12c409fdf24992932839490d7ab58877f (@mrdoob)
- Added
webgpu_shadowmap_pointlightexample. 3b0c9cd4760c0b75f3fa4ce1ac5f882e37f68fd3, 645e0898bdbf6992cbd24c016e6a539d68181873 (@mrdoob) - Migrate
royal_esplanadeexamples toUltraHDRLoader. #32380 (@mrdoob) - Use real-world scale in stereo demo. #32403 (@Mugen87)
- Fix WebGPU water simulation on mobile GPUs. #32411 (@mrdoob)
- Update Compute Fluid to use
IndirectStorageBuffer. #32176 (@cmhhelgeson) - Update
webgl_loader_texture_ktxexample with new formats. #32448 (@castano) - Improved
RectAreaLightexamples. #32493 (@mrdoob) - Unify import path for WebGPU related classes. #32494 (@Mugen87)
Addons
-
AmmoPhysics
- Support restitution. #32347 (@SollyBunny)
-
BloomNode
- Implement disposal of materials to prevent memory leaks. #32452 (@querielo)
-
Controls
- Fix stuck state when releasing mouse outside window. #32323 (@mrdoob)
-
CSM
- Reuse origin vector. #32331 (@Mugen87)
-
Inspector
- Fix Viewer aspect ratio. #32194 (@sunag)
- Fix slider dimensions. #32177 (@Mugen87)
- Improve UX. #32197, a6ca2537932e47510b2542990f6033d9f794454a (@sunag)
- Add window/panel boundary constraints. #32208 (@sunag)
- Mini-panel for parameters. #32257 (@sunag)
- Fix value update of number and checkbox elements. #32355 (@Mugen87)
- Fix cube depth texture error. #32412 (@sunag)
- Update checkmark internal box size. 7ad089e773167ed7a7da33dc13ee7fd05280bc36 (@sunag)
- Add warn if the inspected node outside of frame scope. #32458 (@sunag)
-
MapControls
- Improve panning accuracy. #32324 (@mrdoob)
-
Octree
- Add
Box3interface. #32343, 6e006b29964ff6facb832690d3e38918d8434b64 (@Mugen87, @mrdoob)
- Add
-
Physics
- Add errors when trying to use getShape() for unsupported geometry types. #32372 (@SollyBunny)
-
PixelationPassNode
- Fix zero normal processing. #32159 (@Mugen87)
-
SkyMesh
- Add
isSkyMeshflag and deprecateisSky. #32263 (@querielo)
- Add
-
SSRNode
- Ensure boolean value for isPerspectiveCamera uniform. #32218 (@FarazzShaikh)
-
SVGLoader
- Add stylesheet jsName vs svgName fix. #32119 (@jhlggit)
-
SVGRenderer
- Add depth sorting for Sprites and SVGObjects. #32212 (@mrdoob)
- Add near/far plane clipping support. #32210 (@mrdoob)
-
TRAANode
- Improve motion factor and disocclusion. #32296 (@shotamatsuda)
- Replace MSAA sample pattern with Halton sequence. #32319 (@shotamatsuda)
- Reduce smearing. #32322 (@shotamatsuda)
-
TSL Transpiler
- Support struct definitions and declarations. #32300 (@Ne0nWinds)
- Fix Fn layout generation when generating a function with no input parameters. #32272 (@Ne0nWinds)
-
UltraHDRLoader
- Fix incorrect alpha channel values. #32464 (@mrdoob)
- Improve parsing performance. #32468, 4b110fe4c39799672f1d1de51fc013d5f2930989, d7f67fafff6eaa4871963b14baeff060f2f13102 (@mrdoob)
-
VOXLoader
- Added scene graph support. #32488 (@mrdoob)
- Implemented greedy meshing. #32489 (@mrdoob)
- Accept version 200 files. #32490 (@mrdoob)
- Replace
VOXMeshandVOXData3DTextureclasses with functions. #32491 (@mrdoob)
Editor
- Save and restore controls state. #32408 (@mrdoob)
- Scale
PointLightHelperbased on camera distance. b7c9099db9d7e6a959d2bf46b2e5fb807e91dbcf (@mrdoob) - Cycle through overlapping objects on click. c745aee7c0b5297a986818235d2f2ffae029223c (@mrdoob)
- Scale down touchscreen zoom speed #32454 (@TylerSelden)
Tests
- Removed todo()s. #32483 (@mrdoob)
r181
https://github.com/mrdoob/three.js/wiki/Migration-Guide#180--181 https://github.com/mrdoob/three.js/milestone/94?closed=1
- Global
- Use internal log, warn and error functions instead of the system ones. #31790 (@sunag)
- Earcut
- Updated to latest version. #31956 (@tonybart1337)
- InstanceNode
- Honor
updateRanges. #31816 (@Mugen87)
- Honor
- LoadingManager
- Lazily instantiate abort controller. #32120 (@NuroDev)
- MeshMatcapMaterial
- Support wireframe. #31917 (@WestLangley)
- NodeBuilder
- Add hints in comments. #32004 (@cmhhelgeson)
- NodeFrame
- Simplify caching. #31896 (@cmhhelgeson)
- NodeMaterial
- Fix alpha discard. #31927 (@Mugen87)
- Honor aoNode in
clone(). #32084 (@querielo)
- PassNode
- Ensure clear of internal render target. #31993 (@Mugen87)
- PhysicalLightingModel
- Fix
Favgassignment. #32094 (@sunag)
- Fix
- PMREMGenerator
- Implement GGX VNDF importance sampling. #32114, #32134, #32148, #32154 (@mrdoob)
- Quaternion
- Rewrite
slerp()andslerpFlat(). #31875 (@WestLangley)
- Rewrite
- RenderTarget
- Fix resize of 3D textures. #31854 (@Mugen87)
- Sampler
- Don't set
_texturetonull. #31874 (@Mugen87)
- Don't set
- ShadowNode
- Fix shadows in first frame. #32021 (@Mugen87)
- TextureNode
- Manage y-flip as a uniform. #31929 (@Mugen87, @sunag)
- TSL
- Clone
PassMultipleTextureNodewithoffsetNode. #31849 (@shotamatsuda) - Fix
onDisposelistener not being removed inSampler. #31868 (@shotamatsuda) - Minor fixes. #31808 (@Mugen87)
- Fix coordinate types for
load()on 3D texture nodes. #31775 (@shotamatsuda) - Add member type support for layout function parameter. #31838 (@sunag)
- Fix conditional cache and introduce
isolate(). #31973, 594893f13ea9f252a2e918d2c3755878157220cb (@sunag) - Forces assignment of a function call if a loop is detected. #31974 (@sunag)
- Fix auto type conversion for layout parameters. #32059 (@sunag)
- Resolve some name collision. #32032 (@sunag)
- Move Interleaved Gradient Noise into PostProcessingUtils. #32074 (@Mugen87)
- Fix recursive cache key. #32070 (@sunag)
- Fix size computations in FX/RTT nodes. #32077 (@Mugen87)
- Ensure
nodeProxyIntentalways setsintent: true. #32092 (@querielo) - Refactor
positionViewDirectionto handle orthographic camera cases. #32088 (@querielo) - Fix
overloadingFnreturn type. #32112 (@sunag) - Add active stack and improve "node block" support. #32109 (@sunag)
- Assign stack for nodes after remove stack. #32137 (@sunag)
- Add
OnBefore*events. #32144, 1d9c5a0859ac357488443d62b44ed2c457915fc1 (@sunag) - Fix get element through an output
Fnvalue. #32143 (@sunag)
- Clone
- VideoTexture
- Reset internal state rVFCId on dispose. #32082 (@ycw)
- WebGLRenderer
- Fix WebXR Depth Sensing. #31831 (@cabanier)
- Use DFG LUT instead of analytical approximation. #32054, 9b0d0937c75eab4d46f5f66b3e0c18bcb1f8c07b, 5e3cd6c52b3151a7243a0dd639334c7ce4d9c320, 361853114a24b7df70df907d3f38d1997a24b34d, e225530224722d9df1e392dbfcffc7dbdbe46a4a (@mrdoob)
- Clean up. 39b05002504a06b6a58a07570b0a6231f9390417 (@mrdoob)
- Remove WebGL 1.0 compatibility code. #32071, 62e6f436cec8bae9a55f47f7fca16629ea0eb679 (@mrdoob)
- Add multi-scattering energy compensation for direct lighting. #32072 (@mrdoob)
- Improve rough reflection mixing for IBL. #32102 (@mrdoob)
- WebGPURenderer
- Guard reference to
VideoFrame. #31864 (@Mugen87) - Prevent dispose of default textures. #31860 (@Mugen87)
- Fix renderer not being garbage collected. #31798 (@shotamatsuda)
- Properly delete compute node bindings in
dispose(). #31832 (@cmhhelgeson) - Properly delete bind groups when render objects are disposed. #31879 (@cmhhelgeson)
- Align
copyTextureToTexture()withWebGLRenderer. #31810 (@shotamatsuda) - Fix shadow's
alphaTestif usedmaterial.map. #31803 (@sunag) - Add cache for shadow nodes. #31880 (@sunag)
- Decouple samplers from textures. #31899 (@Mugen87)
- Introduce
Inspector. #31869, #31928, #31958, #31963, #31962, #31982, #31997, #32003, #32007 (@sunag) - Fix rendering morphed meshes. #31904 (@Mugen87)
- Skip resolving anti-aliasing twice. #31743, #31924 (@sunag)
- Introduce
CanvasTarget. #31919 (@sunag) - Make Render Bundle work with MRT. #31906 (@Berthur)
- Fix tone mapping mode detect. #31957 (@sunag)
- Fix binding sampler update. #31971 (@sunag)
- Fix logs in WebGL backend. #31978 (@Mugen87)
- Fix compressed texture feature detection for WebGL backend. #31980 (@Mugen87)
- Adjustments and Polyfill in
GLSLNodeBuilder. #31999 (@cmhhelgeson) - Fix functions with struct layouts cannot resolve struct types. #32000 (@shotamatsuda)
- Allow manual mipmap creation with StorageTexture. #31983, #32039 (@RenaudRohlinger)
- Deprecate
renderAsync(),computeAsync()and related async methods. #32022, #32026, #32029, #32033, #32042, #32063 (@Mugen87, @sunag) - Remove
waitForGPU(). #32024 (@Mugen87) - Fix transmission flicker. #32043 (@Mugen87)
- Add multi-scattering energy compensation for direct lighting. #32089 (@mrdoob)
- Improve rough reflection mixing for IBL. #32108 (@mrdoob)
- Fix material transparent assignment. #32110 (@sunag)
- Enable dynamic shadowMap type switching. #32105 (@querielo)
- Introduce dispatchWorkgroupsIndirect #31488 (@Spiri0)
- Improve shader validation #32130 (@sunag)
- Fix dispose RenderTarget textures. #32131 (@sunag)
- Fix types for indirect compute and modify example to show usage. #32129 (@TheBlek)
- Improve cache key verification. #32138 (@sunag)
- Guard reference to
- XRManager
- Reset
XRWebGLBindingon session end. #31835 (@harryhjsh)
- Reset
Docs
- Document animation loop parameter. #31853 (@Mugen87)
- Add
PLYLoaderpage. #31848 (@mmjinglin163) - Improve
AnimationClippage. #31915 (@kang-git) - Improve Chinese translation. #31806, #31817, #31828, #32041 (@mmjinglin163, @pangda9527)
- Improve JSDoc. #31822, #31819, #32017 (@s-rigaud)
- Update link to packLDrawModel script extension. #31938 (@jjohnson5253)
- Improve translation accuracy and consistency. #31960 (@puxiao)
- Added redirects for old docs URL. #31986 (@mrdoob)
- Reduce folder size of new docs. #31992 (@mrdoob)
- Updated templates with old design. #32002 (@mrdoob)
- Generate old docs system and design. #32036, 28dcaf5f9db3326dc40eb98d377b48e72afbf771, 64d3d974170722d303d49b77b48d7e466da2608d, ed360e81958bbebd4a4c0bf4ae254dc884aa5593, a02ba14525946ce991a6a119449b7ea9c04f358e, 4b510dfb7df38ac8aa1e0a7f64a2b3550dbc7615, 1ef293278f707f7f715c0313772bc86d10d3216c, a4777982c4b1c1ba3106fd59a10393172bfd63cb (@mrdoob)
- New Docs: Add translation disable flags. #32048 (@mrdoob)
- Add type annotations for dispatch size in
ComputeNode. #32068 (@shotamatsuda) - Improve
GLTFLoaderpage. #32096 (@marwie) - Removed legacy docs. #32117
- Added new docs generated with JSDocs. #32118, 96fe466f8edce6e90f7c48a6fe252a2b22f7b667 (@mrdoob)
- Update JSDoc links for better readability. #32132 (@marwie)
- Fixed properties layout. #32156 (@mrdoob)
Manual
- Don’t open external URLs in iFrame. #31856 (@xjh22222228)
- Manual: Improve
Responsiveguide. #31942 (@davcri)
Examples
- Clean up. #31830, #31829, #31823, #31855, #31843, #31811, #31842, #31844, #31824, #31898, #31887, #31914, #32011, #32018, #32051, #32057 (@WestLangley, @s-rigaud, @Methuselah96, @Mugen87)
- Use instancing in
webgpu_compute_birdsexample. #31766 (@cmhhelgeson) - Add WebGPU HDR example. #31893 (@RenaudRohlinger)
- Update with the new style and inspector. #31907, #31951, #31954, #31964, #31976, #31984, #31995, #32060 (@sunag, @Mugen87)
- Set
OrthographicCameranear plane >= 0. #31912 (@WestLangley) - Use
globalIdin compute water demo, updateIndexNodecomments. #31941 (@cmhhelgeson) - Add shadow intensity to spotlight examples. #31972 (@WestLangley)
- Don’t use
property()for creating variables. #32028 (@shotamatsuda) - Improve
webgl_watchexample. b61441df2e92a487f3063cd44cc614be8bbd9a4a (@mrdoob) - Improve
webgl_postprocessing_unreal_bloomexample. 2cff1474de2e0037c12bc46c1d9d472f14b04637 (@mrdoob) - Apply camera constraint immediately in WebGPU bloom demo. #32081 (@ycw)
- Fix output control in SSS demo. #32083 (@ycw)
- Add bloom strength to
webgl_postprocessing_unreal_bloom_selective. #32125 (@querielo) - Visualize normal as color in
webgpu_postprocessing_ao. #32141, #32153 (@ycw, @sunag)
Addons
-
AfterImageNode
- Fix swap. #32140 (@Mugen87)
-
AsciiEffect
- Remove noise from black texture. #31858 (@s-rigaud)
-
BitonicSort
- Add new bitonic sort addon. #31852, #31949 (@cmhhelgeson)
-
CSS2DRenderer
- Add
sortObjects. #31946 (@Konseyy)
- Add
-
CSSRenderer
- Ensure element exists when execute remove. #31905 (@xiaoliyooo)
-
DRACOLoader
- Implement data alignment for WebGPU. #31991 (@donmccurdy)
-
FontLoader
- Add text direction. #31683, #32078 (@Rikahei)
-
GlitchPass
- Fix
heightMapmember name. #32047 (@joey8angelo)
- Fix
-
GTAONode
- Optimize render target format. #31883 (@Mugen87)
- Add basic support for temporal filtering. #32076 (@Mugen87)
-
HTMLMesh
- Fix dimensions of canvas drawing. #31931 (@pvtech-adam)
-
KTX2Loader
- Fix ETC1S/UASTC prioritization. #31871 (@zeux)
- Honor
setRequestHeader(). #32115 (@LR17)
-
MaterialXLoader
- Use ImageBitmapLoader to prevent blocking. 154e14558021d0aae2770eafb621741ac25680e4, bca53e60926c4afb05c6d16672c00554d9c8bbde (@mrdoob)
-
ProgressiveLightMap
- Make normals mandatory. #31825 (@Mugen87)
-
SelectionBox
- Add support for
BatchedMesh. #32052 (@sunjiang0018)
- Add support for
-
SSGINode
- New node for screen-space global illumination. #31839, #31865, #31867, #31863, #31873, #31881, #31890, #31882 (@Mugen87, @zalo)
-
SSSNode
- Add new node for Screen-Space Shadows. #32050 (@Mugen87)
-
SVGLoader
- Make node transform parsing more robust. #31985 (@Mugen87)
-
TRAANode
- Reduce Ghosting/Smearing. #31895 (@zalo)
- Make depth copy more robust. #31908 (@Mugen87)
- Add adaptive blend weights. #32139 (@Mugen87)
-
TSL Transpiler
- Fix immutable to dynamic parameter conversion and shadertoy example. #31996 (@sunag)
-
TubePainter
- Improved generated geometry and added caps. #32025 (@mrdoob)
- Fixed end caps and removed object allocations. #32030, 21009ebc442a3566e76ba0f4d9b8b19a5c910c7d (@mrdoob)
-
UnrealBloomPass
- Backported blur improvements. 057d341afde09e38c59037e39fc81198b241258d (@mrdoob)
-
USDZExporter
- Improve material prop types and setup. #32008 (@mkeblx)
-
ViewHelper
- Add OffscreenCanvas support. #32128, f957f0b2adada81cb7c1de6fe34a79ead0026a93, babe7f2cc2946b87cdf5e6958fb660bc8ba5d8a3 (@Mugen87)
-
WaterMesh
- Fix incorrect resolution scale assignment. #32056 (@jonsmithers)
-
XRHandModelFactory
- Fix inverted hand models. #31634 (@jorodi)
Tests
- Remove obsolete material callbacks. #31876 (@codyjasonbennett)
- Improved E2E robustness. #32091, #32090, b3dde01ebb2509893dc41a9d29bd6dfba1794731, 3a987fad398939a7b6a2c4e9b7d2dd5df99ffa50 (@mrdoob)
Editor
- Fix material reference in
SetMaterialRangeCommand. #32080 (@ycw)
Node Editor
- Fix usage of
timerLocal. #31889 (@Mugen87)
r180
https://github.com/mrdoob/three.js/wiki/Migration-Guide#179--180 https://github.com/mrdoob/three.js/milestone/93?closed=1
- Global
- Clean up. #31719, #31564, #31671, #31732, #31734, #31726 (@Methuselah96, @WestLangley, @s-rigaud)
- Remove deprecated code. #31632, #31555 (@Mugen87)
- AnimationClip
- Add
userDataand honor in glTF loader and exporter. #31586 (@repalash)
- Add
- Bindings
- Fix caching of texture bindings. #31755 (@Mugen87)
- ClippingNode
- Move uniforms into
rendergroup. #31716 (@Mugen87)
- Move uniforms into
- ExternalTexture
- Support
copy(),clone(). #31731 (@donmccurdy)
- Support
- GLSLNodeBuilder
- Fix
texelFetch*()code generation with depth textures. #31760 (@shotamatsuda) - Fix
texture()code generation for depth texture. #31770 (@shotamatsuda)
- Fix
- Material
- Add missing map properties to
toJSON(). #31578 (@Mugen87)
- Add missing map properties to
- NodeBuilderState
- Fix type of
bindingsReferenceincreateBindings(). #31678 (@cmhhelgeson)
- Fix type of
- PointsNodeMaterial
- Fix scaling bugs. #31627, #31707 (@WestLangley)
- Fix broken point primitive rendering. #31702 (@Mugen87)
- Improve JSDoc. #31703 (@Mugen87, @WestLangley)
- Renderer
- Make
dispose()more robust. #31681 (@Mugen87)
- Make
- RenderObject
- Honor sampler data in material cache key. #31633 (@Mugen87)
- Fix cache key for instanced meshes. #31783 (@Mugen87)
- Sampler
- Fix dispose. #31751 (@Mugen87)
- Sprite
- Improve JSDoc. #31642 (@cmhhelgeson)
- SpriteNodeMaterial
- Honor
sizeAttenuationfor perspective camera only. #31628 (@WestLangley)
- Honor
- TSL
- Add texture offset feature. #31715 (@shotamatsuda)
- Refine pow2/3/4 and remove polyfill for Windows. #31720 (@shotamatsuda)
- Improve camera array support and introduce
cameraViewport. #31615 (@RenaudRohlinger) - Replace
Proxyapproach with prototypes. #31691 (@sunag) - Fix update type of
screenDPR. #31706 (@Mugen87) - Fix type propagation in members. #31699 (@sunag)
- Fix member type in function layout. #31609 (@sunag)
- Fixed persistent reference of the first stack. #31717 (@sunag)
- Uniformly implement resolution scale. #31697 (@Mugen87)
- Fix performance of
viewportTexture(). #31591, #31599 (@sunag, @Mugen87) - Add
SubgroupFunctionNodewith compute reduction demo. #31378 (@cmhhelgeson) - Introduce
uniformFlow(). #31531 (@cmhhelgeson) - Fix instance buffer size in
instance(). #31608 (@ahaensler) - Fix missing
getMemberType()incontext(). #31601 (@sunag) - Use dynamic parameters eval for
Fn(). #31592 (@sunag) - Improve error message for operators with void values. #31593 (@sunag)
- Improve warnings. #31562 (@sunag)
- Add AA-samples parameter to reflector-node. #31542 (@NoxDawnsong)
- Improve
Fn()warning if not invoked. #31552 (@sunag) - Fix assignment to swizzled for var intent. #31647 (@sunag)
- Show an error message if no stack defined for assign operation. #31756 (@sunag)
- Fix bitcast type resolver. #31746 (@cmhhelgeson)
- Fix primitive vector conversion,
vec*withivec*. #31793 (@sunag)
- WebGLBackend
- Fix manual clear with MSAA render targets. #31705 (@Mugen87)
- Cache WebGL buffer when updating UBOs. #31684 (@Mugen87)
- Honor layerUpdates for array textures. #31582 (@ahaensler)
- WebGPUBackend
- Remove redundant dispose handlers. #31603 (@Mugen87)
- Align
frontFaceandcullModevalues to WebGL backend. #31769 (@Mugen87)
- WebGPURenderer
- Fix broken worker support. #31607 (@Mugen87)
- Fix
rgb9e5ufloatusage andrg11b10ufloatconstant value. #31698 (@Mugen87) - Add HDR support. #29573 (@RenaudRohlinger, @donmccurdy)
- Support
ExternalTexturewithGPUTexture#31653 (@donmccurdy) - Fix rendering into mips. #31645 (@Mugen87)
- Add support for manual mipmaps for regular textures. #31637 (@Mugen87)
- Add support for manual mipmaps for cube textures. #31639 (@Mugen87)
- Add warning when video textures with invalid color spaces are used. #31569 (@ycw)
- Fix MSAA using mipmap levels. #31544 (@NoxDawnsong)
- Add missing
rgba8unorm-srgbtoWebGPUTextureUtils. #31655 (@Mugen87) - Add support for BC4 and BC5 texture compression. #31737 (@Mugen87)
- Fix
Texture.onUpdate()call. #31752 (@Berthur) - Fix timestamp query conflict. #31762 (@sunag)
- Align
frontFaceandcullModesetup. #31784, #31769 (@sunag, @Mugen87)
- WebGPUTextureUtils
- Fix readback buffer size. #31765 (@Mugen87, @greggman)
- XRManager
- Lazily initialise
XRWebGLBindingin XR managers. #31648 (@harryhjsh) - Fix typo in getBinding JSDoc. #31656 (@vincentfretin)
- Lazily initialise
Docs
- Improve JSDoc. #31733, #31742, #31754, #31773 (@s-rigaud, @Mugen87)
- Improve Chinese translation. #31616 (@IanDingMing)
- Improve
WebXRManagerpage. #31657 (@harryhjsh)
Manual
- Improve Chinese translation. #31635, #31574, #31575, #31589, #31590 (@HappyColour, @yuangang123)
- Fix missing
hrefparameters formanual/#xx/lights. #31763 (@Rikahei) - Fix double open hyperlink by open in new tab. #31780 (@Rikahei)
Examples
- Clean up. #31725, #31700, #31696, #31643, #31623, #31651, #31736, #31738 (@Methuselah96, @linbingquan, @Mugen87, @WestLangley)
- Add
webgpu_multiple_elementsexample. #31724, #31782 (@sunag) - Add WebGPU KTX2 test demo. #31714 (@Mugen87)
- Add reflector
resolutionScaletowebgl_mirrorexample. #31692 (@WestLangley) - Add GLTF progressive example. #31625 (@marwie)
- Add WebGPU check to some compute demos. #31685 (@Mugen87)
- Improve comments in
webgpu_custom_fog_backgroundexample. #31626 (@WestLangley) - Fix
webgpu_compute_particles_fluidGUI. #31570 (@ycw) - Rename reversed depth buffer example. #31563 (@WestLangley)
- Align
webgpu_camerawith WebGL demo. #31594 (@WestLangley) - Add TSL Procedural Wood Material. #31640, #31786 (@SeeleyLogan, @bhouston)
- Add KHR animation pointer example page. #31761 (@marwie)
Addons
-
DepthOfFieldNode
- New implementation. #31547, #31554 (@Mugen87)
-
DragControls
- Fix firing events when actions are disabled. #31612 (@ahaensler)
-
FirstPersonControls
- Fix dispose not release listener. #31606 (@314159265358x)
-
GLTFExporter
- Make
getToBlobPromise()more robust. #31598 (@boggan)
- Make
-
GTAONode
- Add comments to TSL. #31676 (@Mugen87)
-
KTX2Loader
- Fix WebGPU feature detection. #31721 (@Mugen87)
- Add
VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT. #31689 (@hybridherbst) - Support
generateMipmaps=true. #31621 (@donmccurdy) - Support RGB9E5. #31611 (@donmccurdy)
- Support R11G11B10 in loader and renderers. #31613 (@donmccurdy)
- Support for BC4, BC5. #31713 (@donmccurdy)
- Add PVRTC1 RGBA support. #31771 (@donmccurdy)
-
RGBELoader
- Rename to
HDRLoader. #31604 (@mrdoob)
- Rename to
-
RGBMLoader
- Removal. #31566 (@mrdoob)
-
ShadowMapViewerGPU
- Fix
DepthTextureusage. #31673 (@sunag)
- Fix
-
SSRPass
- Add
resolutionScale. #31629 (@Mugen87)
- Add
-
SSRNode
- Use linear filtering and half float for reflection buffer. #31646 (@Mugen87)
- Improve performance and add quality setting. #31576 (@Mugen87)
- Add blurred mipmaps and honor roughness for ssr(). #31649, #3166 (@Mugen87, @sunag)
-
TSL
- Add
boxBlur(). #31556 (@Mugen87) - Align API of blur filters and deprecated
premultipliedGaussianBlur(). #31557, #31559, #31741 (@Mugen87, @sunag, @s-rigaud)
- Add
-
TSL Transpiler
- Add grouped precedence levels. #31581 (@sunag)
- Remove the need for
toVar(). #31580 (@sunag) - Fix addition of
Beforefor non++or–. #31579 (@sunag)
Tests
- Run addons unit tests. #31664 (@mkeblx)
- Add an USDZ E2E test. #31662 (@mkeblx)
r179
https://github.com/mrdoob/three.js/wiki/Migration-Guide#178--179 https://github.com/mrdoob/three.js/milestone/92?closed=1
- Global
- Optimize CI workflow by eliminating redundant setup steps. #31383 (@souhailaS)
- BatchedMesh
- Fix
setInstanceCount(). #31458 (@andreas-hilti)
- Fix
- PassNode
- Add
compileAsync(). #31501 (@Mugen87) - Provide viewport and scissor API. #31390, #31428 (@Mugen87)
- Add
- ProjectorLight
- Fix back-projection. #31473, #31474 (@Mugen87)
- Line2NodeMaterial
- Remove unused
lineWidthproperty. #31401 (@Jenychen1996)
- Remove unused
- Line3
- Add method for computing closest squared distance between line segments. #31384 (@TheBlek, @Mugen87)
- Loader
- Add
abort(). #31276 (@Mugen87, @gkjohnson)
- Add
- MaterialXNodes
- Improved MaterialX import support to align with Blender's MaterialX exporter. #31439 (@bhouston, @sunag)
- Matrix4
- Rewrite
makeOrthographic()for clarity. #31451 (@WestLangley)
- Rewrite
- NodeMaterial
- Make sure fog is applied only once. #31463 (@Mugen87)
- NodeMaterialObserver
- Add checking the lights. #31440 (@sunag)
- NodeUtils
- Ignore private sub properties in
getNodeChildren(). #31523 (@Mugen87, @sunag)
- Ignore private sub properties in
- Renderer
- Make info log evaluation more robust. #31438 (@Mugen87)
- SkeletonHelper
- Add
setColors(). #31484 (@lukehorvat)
- Add
- StorageTexture
- Add
.setSize(). #31502 (@sunag)
- Add
- Timer
- Move into core. #31385 (@Mugen87)
- TSL
- Double-check on the parents of the atomic functions to prevent errors. #31509 (@sunag)
- Add
load()function totexture(). #31510 (@sunag) - Introduce boolean for
uniform(). #31507 (@sunag) - Sequential object as parameters for Fn( { .. } ). #31498 (@sunag)
- Rename
label()tosetName(). #31490 (@Mugen87) - Add
debug()for the stack when running outside the code flow. #31486 (@sunag) - Introduce automatic use of
toVar()toassign(). #31459 (@sunag) - Introduce
computeKernel(). #31402 (@Spiri0, @sunag) - Fix
pass()build duringsample()call usingMesh. #31431 (@sunag) viewportTexture()cacheFramebufferTextureaccording toRenderTarget. #31343 (@sunag)- Introduce events. #31514 (@sunag)
- VideoTexture
- Cancel rVFC on Dispose. #31375 (@ycw)
- WebGLRenderer
- Improve reversed depth buffer support. #31508, #31495, #31499, #31496, #31500, #31464, #31481, #31466, #31370, #31391, #31426, #31410, #31405, #31407, #31512 (@WestLangley, @CodyJasonBennett, @sunag)
- Support MRT for 2d array textures. #31476 (@mrxz)
- WebGPUBackend
- Remove obsolete argument from
getDrawingBufferSize(). #31460 (@Mugen87) - Fix manual
clear()regression. #31388 (@Mugen87)
- Remove obsolete argument from
- WebGPURenderer
- Improve and fix texture bindings manager. #31497 (@sunag)
SampledTextureextends ofSamplerfor bindings. #31494 (@sunag)- Persistent video texture approach. #31416, #31425, #31423 (@sunag, @Mugen87)
- Avoid hardcoding color spaces. #31519 (@Mugen87)
- WebGPUUtils
- Ensure sample count is valid. #31352 (@ycw)
- WebXRManager
- Set glBinding separately from layer creation. #31443 (@mikeskydev)
- Disable left eye layer for right eye camera and vice versa. #31437 (@mrxz)
Docs
- Clean up. #31447, #31450 (@s-rigaud)
- Add
KTX2Exporterpage. #31441 (@mkeblx) - Add
USDZExporterpage #31417 (@mkeblx) - Improve
AnimationClippage. #31415 (@Mugen87) - Improve
KeyframeTrackpage. #31373 (@floriandotorg) - Improve
Texturepage. #31477 (@agargaro) - Improve Korean translation. #31344 (@sonwonjae)
- Improve JSDoc. #31475, #31380, #31341, #31529 (@powah, @Mugen87, @WestLangley)
Examples
- Clean up. #31504, #31483, #31485, #31412, #31411, #31379 (@Mugen87, @WestLangley, @linbingquan)
- Improved
webgpu_reflectionexample. #31409, #31372 (@mrdoob, @Mugen87) - Add
webgpu_postprocessing_dof_basic. #31445 (@Mugen87) - Upgrade meshopt_decoder.module.js to 0.22. #31449 (@zeux)
- Switch to
OrbitControlsinwebgl_shadowmapexample. #31406 (@WestLangley) - Improve AA approach in WebGPU water demo. #31354 (@Mugen87)
- Use
onLoad()inwebgpu_materials. #31362 (@andyleiserson) - Add
webgpu_compute_texture_3dexample. #31337 (@RenaudRohlinger) - Rename import from
threetothree/webgpuin WebGPU demos. #31518 (@sunag) - Add GUI to
webgpu_loader_materialxexample. #31530 (@WestLangley)
Addons
-
EXRLoader
- Added lossyDctChannelDecode. #31482 (@mrdoob)
- Introduces output-format API. #31511 (@sciecode)
- Set color space to linear-sRGB. #31525 (@WestLangley)
-
FBXLoader
- Fix vertex color check. #31420 (@Mugen87)
-
GTAOPass
- Improve cache performance. #31454 (@querielo)
- Exclude
Line2objects from AO calculation #31422 (@wyc001122)
-
HTMLMesh
- Add support for email and password inputs. #31345 (@HuangLinBao)
-
LensflareMesh
- Use
colorNodeinstead offragmentNode. #31433 (@Mugen87)
- Use
-
LightProbeGenerator
- Support
FloatTypeinfromCubeRenderTarget(). #31349 (@Mugen87)
- Support
-
OutlinePass
- Exclude Line2 objects from outline computation. #31503 (@pwlviolet)
-
RapierPhysics
- Support
RoundedBoxGeometry. #31351 (@linbingquan)
- Support
-
RoomEnvironment
- Set
emissiveIntensityinstead. #31348 (@WestLangley)
- Set
-
RoundedBoxGeometry
- Add type, parameters and
toJSON(). #31340 (@vis-prime)
- Add type, parameters and
-
SSAOPass
- Improve cache performance. #31453 (@querielo)
-
TRAANode
- New TRAA implementation. #31421 (@Mugen87, @sunag)
-
TTFLoader
- Fix when TTF has different unicode assign to same glyph index. #31386 (@Rikahei)
-
TSL Transpiler
- Fix operator precedence of GLSLDecoder. #31515 (@sunag)
-
USDZExporter
- Add option for
onlyVisible. #31489 (@mkeblx) - Export scene hierarchy. #31448 (@mkeblx)
- Use object names #31442, #31444 (@mkeblx)
- Refactor to use two stages. #31400 (@mkeblx)
- Add option for
Tests
- Clean up
Frustumtests. #31456 (@WestLangley) - Add test for
USDZExporter. #31435 (@mkeblx)
Editor
- Fix crash when geometry lacks position attribute. #31334 (@AlexRynas)
- Add support for EXR files. 01d3c943f0452ff856b4bdd162f4c86bd67dc2ee (@mrdoob)
- Load image loaders only when needed. 2f3dd3822cb270b422dae55153f69dfffd08ff85 (@mrdoob)
r178
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r177--r178 https://github.com/mrdoob/three.js/milestone/91?closed=1
- Global
- Remove deprecated code. #31254 (@Mugen87)
- Correct the blending formulas in all renderers. #31246 (@WestLangley)
- Upgrade monaco-editor. #31300 (@linbingquan)
- Initial support for
Float16Arrayin renderers. #31305 (@Mugen87)
- Clock
- Inline
performance.now(). #31295 (@linbingquan)
- Inline
- Frustum
- Honor sprite offset in
intersectsSprite(). #31307 (@Mugen87)
- Honor sprite offset in
- GLBufferAttribute
- Add
normalizedproperty. #31268 (@Rtwo-Dtwo)
- Add
- ImageLoader
- Optimize caching. #31258 (@Mugen87)
- Loader
- Use unique cache keys per loader type. #31315, ac07a8accb1228707e694a221d9ed8ab71d694f6, ee327fd8e13ae7d6e5fbcd6506a4006405aa5232 (@Mugen87, @mrdoob)
- NodeBuilder
- Fix interpolation specifier. #31222 (@cmhhelgeson)
- NodeMaterial
- Honor
material.premultipliedAlphain the shader. #31166 (@WestLangley)
- Honor
- Quaternion
- Update epsilon in
setFromUnitVectors(). #31302 (@Mugen87)
- Update epsilon in
- RenderObject
- Check attributes version of the geometry. #31227 (@sunag)
- SampleNode
- Remove PURE annotation. #31293 (@Mugen87)
- TSL
- Fix
Fnas parameter. #31214 (@sunag) - Introduce
sample(). #31287 (@sunag) - Introduce
textureBicubicLevel(). #31288 (@sunag) - Move
TriplanarTexturesNodetotriplanarTextures()Fn. #31285 (@sunag) - Move
EquirectUVNodetoequirectUV()Fn. #31283 (@sunag) - Move
MatcapUVNodetomatcapUVFn constant. #31284 (@sunag) - Remove transformed* prefix. #31271 (@sunag)
- Fix
convertToTexture()auto resize. #31277 (@sunag) - Fix
outgoingLightredeclaration. #31266 (@sunag) - Introduce Chromatic Aberration. #31236 (@pashaydev)
- Fix inconsistent chaining for
step()(Parameter order). #31241 (@sunag) - Rename
premulttopremultiplyAlpha. #31240 (@sunag) - Introduce
tangentViewFrameandbitangentViewFrame. #31282 (@sunag) - Use
node.nodeTypeinstead ofsafeGetNodeType(). #31328 (@sunag)
- Fix
- WebGLPrograms
- Don't use flat shading with enabled wireframe. #31242 (@Mugen87)
- Fix cache key with gradient maps. #31292 (@Mugen87)
- WebGLRenderer
- Correctly restore render target during transmission pass. #31320 (@Mugen87)
- WebGPUConstants
- Add missing features. #31323 (@cmhhelgeson)
- WebGPURenderer
- Use correct invalidation array in WebGL backend. #31255 (@cabanier)
- Make MSAA with MRT work with WebGL backend. #31228 (@Mugen87)
- Honor depth/stencil in
blitFramebuffer(). #31219 (@Mugen87) - Add
Storage3DTextureandStorageArrayTexture. #31175, #31327 (@Spiri0, @sunag)
- XRManager
- Silence opaque framebuffer warning. #31201 (@cabanier)
- XRRenderTarget
- Clean up. #31210 (@Mugen87)
Docs
- Improve JSDoc. #31261, #31224, #31317 (@linbingquan, @SamJB123)
Manual
- Open external links in new tab. #31273 (@Mugen87)
- Fix code typo in scene graph page. #31289 (@MeirArani)
- Improve French translation. #31252 (@AlexandreGagne10)
- Fix links to homepage. #31301 (@Mugen87)
Examples
- Clean up. #31265, #31303 (@zeevick10, @Methuselah96)
- Improve water demo. #31291 (@Mugen87)
- Add BatchedMesh LOD and BVH example page. #31239 (@agargaro)
- Merge geometry demos. #31253 (@Mugen87)
- Fix GUI colors in
webgpu_compute_clothexample. #31232 (@WestLangley) - Fix
instancedArray()usage ofwebgpu_compute_birds. #31230 (@sunag) - Fix texture path of
webgpu_sandbox. #31217 (@sunag) - Merge OBJ demos. #31216 (@Mugen87)
- Add new path demo. #31209 (@Mugen87)
- Add
webgpu_reflection_roughness. #31294, c06fa765243ce8379b539d73e6690914bec2039a (@sunag) - Improve lottie example. #31321 (@linbingquan)
- Add window resize event to
webgl_geometry_extrude_shapes. #31324 (@linbingquan)
Addons
-
ArcballControls
- Add
passive: falsefor wheel event. #31259 (@juji)
- Add
-
FBXLoader
- Gracefully handle missing color data. #31248 (@Mugen87)
-
RapierPhysics
- Add
removeMesh(). #31296, #31298 (@linbingquan)
- Add
-
RoundedBoxGeometry
- Fix parameters of the parent class. #31319 (@linbingquan)
-
TransformControls
- Make gizmo colors configurable. #31262 (@Mugen87)
-
TSL Transpiler
- Add support for
switchstatements. #31272 (@cmhhelgeson) - Fix unary negate after arithmetic operator. #31297 (@sunag)
- Add simplified
Fn()layout. #31299 (@sunag) - Introduce Linker and improvements. #31314 (@sunag)
- Introduce
WGSLEncoder. #31329 (@sunag)
- Add support for
Editor
- Fix typo in comment. #31264 (@vtjl10)
r177
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r176--r177 https://github.com/mrdoob/three.js/milestone/90?closed=1
- Global
- Increase version of Object/Scene format. #31096 (@repalash)
- Fix exports in
src/three.tsl.js. #31109 (@ycw)
- AudioListener
- Set the proper up-direction. #31054 (@WestLangley)
- Box3
- Add
toJSON()andfromJSON()methods. #31028 (@gkjohnson)
- Add
- ColorManagement
- Improve Nomenclature. #31152 (@WestLangley)
- HemisphereLightNode
- Change
normalViewtonormalWorld. #31074 (@vitro-mod)
- Change
- ImageBitmapLoader
- Make error handling more robust. #31088 (@Mugen87)
- LightsNode
- Fix
castShadowregression. #31106 (@Mugen87)
- Fix
- MaterialNode
- Fix
dashOffsetwithLineDashedMaterial. #31008 (@Mugen87)
- Fix
- Mesh
- Add
countproperty. #31091 (@sunag)
- Add
- NodeMaterial
- Cleanup
alphaTest. #31147 (@sunag) - Introduce
maskNodeand improveshapeCircle(). #31127 (@sunag) - Execute
setupVertex()ifvertexNodeis defined. #31136 (@sunag)
- Cleanup
- NodeMaterialObserver
- Fix missing intensity uniform updates. #31120 (@Mugen87)
- PMREMGenerator
- Fix usage with
PMREMNode. #31001 (@Mugen87)
- Fix usage with
- ShadowMaskModel
- Fix usage with non shadow casting light. #31081 (@Mugen87)
- ShadowNode
- Fix VSM with point lights. #31103 (@Mugen87)
- Clean up. #31104 (@Mugen87)
- Sphere
- Add
toJSON()andfromJSON()methods. #31028 (@gkjohnson)
- Add
- SpotLightNode
- Add custom attenuation using
spotLight.attenuationNode. #31013 (@sunag)
- Add custom attenuation using
- SpotLightShadow
- Introduce
aspectproperty. #31020 (@sunag)
- Introduce
- Sprite
- Add
countproperty. #31091 (@sunag)
- Add
- StorageBufferNode
- Add
getMemberType(). #31139 (@HongchengZhao)
- Add
- Texture
- Add
setValues(). #31087 (@CodyJasonBennett) - Texture: Introduce width, height, depth. #31025 (@sunag)
- Add
updateRanges. #30998 (@CodyJasonBennett)
- Add
- TSL
- Improve build stages #31156 (@sunag)
- Ensure memory alignment for
struct(). #31151 (@sunag) - Fix
mat2boundary size. #31162 (@sunag) - Ensure 4 byte alignment for
instancedArray()andattributeArray(). #31146 (@sunag) - Add
premult()andunpremult(). #31114 (@sunag) - Fix
reflector()clear texture and stop update if bounce isfalse. #31110 (@sunag) - Add
hashBlur()options{repeats,mask,premultipliedAlpha}. #31115 (@sunag) - Fix
getBitangent(). #31059 (@Mugen87) - Fix
lightShadowMatrix()ifrenderer.shadowMap.enabledisfalse. #31024 (@sunag) - Fix
.toVarying()analyze for optimization. #31090 (@sunag) - Fix auto-cache if using multiple conditionals. #31076 (@sunag)
- Introduce namespace. #31168 (@sunag)
- Fix object-as-parameter checking for
Fn(). #31176 (@sunag)
- WebGPURenderer
- Honor
Texture.premultiplyAlphain WebGPU backend. #31157 (@Mugen87) - Fix generate mipmaps when using
copyFramebufferToTexture()in WebGPU backend. #31163 (@sunag) - Apply color management changes from #26644. #31142 (@Mugen87)
- Fix runtime errors introduced by texture array refactor. #31108, #31099 (@cabanier)
- Rename
XRResetState()to_resetXRState(). #31105 (@cabanier) - Introduce
ProjectorLight. #31022 (@sunag) - Array-Based RenderTarget Refactor. #30959 (@RenaudRohlinger)
- Cache pipeline per render/compute pass. #31066 (@Mugen87)
- Optimize WebXR render path. #31134, #31189 (@cabanier)
- Fix blend factor nomenclature. #31188 (@WestLangley)
- Honor
- WGSLNodeBuilder
- Fix use of sampler for vertex stage. #31052 (@sunag)
- XRManager
- Fix layer color correction. #31124 (@cabanier)
Docs
- Clean up. #31046 (@Mugen87)
- Improve
LoaderUtilspage. #31082 (@ycw) - Improve
SkeletonHelperJSDoc. #31113 (@upisfree) - Improve
XRManagerJSDoc. #31101 (@Mugen87)
Manual
- Fix primitives page. #30997 (@Mugen87)
Examples
- Clean up. #31130, #31138, #31030, #31107 (@WestLangley, @linbingquan, @ycw)
- Add
webgpu_compute_particles_fluid. #31148, #31159 (@holtsetio) - Add
webgpu_compute_cloth. #31123 (@holtsetio) - Improve
noise.png. #31137 (@Mugen87) - Improve
webgpu_compute_particles. #31092 (@mrdoob) - Add
webgpu_reflection_blurred. #31116, #31118 (@sunag) - Add textured assets to
webgl_loader_fbx. #31117 (@tatsuya-ogawa) - Integrate
lookAt()into therotateTowards()demo. #31063 (@Mugen87) - Fix memory leak in FBX demo. #31068 (@Mugen87)
- Make dynamic instancing demo more interesting. #31058 (@Mugen87)
- WebGPU Compute Water Adjustment. #30985, #31011 (@cmhhelgeson, @sunag)
- Update shadow opacity in
webgpu_shadowmap_opacity. #30984 (@sunag) - Cleanup
webgl_reverse_depth_buffer. #30989 (@CodyJasonBennett) - Fix shadows in physics instancing demos. #30988 (@Mugen87)
- Fix
webgpu_waterGUI. #31014 (@sunag) - Add resize event listener for
physics_rapier_instancing. #31012 (@linbingquan) - Clean up XR examples browser notices. #31053 (@mkeblx)
- Make point lights demo more interesting. #31040 (@Mugen87)
- Remove
webgl_geometry_dynamic. #31047 (@Mugen87) - Make tone mapping demos more interesting. #31045 (@Mugen87)
- Make layers example a bit more interesting. #31036 (@Mugen87)
- Add GUI to normal and bump map demo. #31077 (@Mugen87)
- Fix memory leak in SVG demo. #31170 (@Mugen87)
Addons
-
AfterimagePass
- Add
dampaccessor. #31035 (@neilrackett)
- Add
-
ArcballControls
- Fix state data for reset. #31184 (@Mugen87)
-
CSMShadowNode
- Fix toggle of castShadow. #31186 (@Mugen87)
-
FBXLoader
- Improve error handling. #31017 (@Mugen87)
- Use
getHandler()for custom texture loaders. #31032 (@tatsuya-ogawa) - Add
webpMIME type. #31098 (@Altrozero)
-
FXAAPass
- Add pass class for FXAA post processing shader. #31044 (@neilrackett)
-
GLTFExporter
- Push nodes parent-first instead of child-first. #31125 (@aaronfranke)
-
GLTFLoader
- Clone node associations. #31051 (@nkrajina)
-
HTMLMesh
- Add support for input of type text and number in VR. #31160 (@vincentfretin)
-
KTX2Loader
- Support ETC2, BCn, and ASTC 4x4 sRGB. #31155 (@donmccurdy)
-
LDrawLoader
- Don't clear already-loaded materials onload. #31150 (@Floppy)
- Improve docs. #31153 (@Mugen87)
-
LineMaterial
- Fix clipping planes. #31144 (@rtortajada)
-
Octree
- Improve configurability. #31097 (@Mugen87)
-
PCDLoader
- Parse header without
TextDecoder. #31069 (@F-loat) - Implement data type dependent binary parsing. #31061 (@F-loat)
- Parse header without
-
PeppersGhostEffect
- Remove addon. #31037 (@Mugen87)
-
SkyMesh
- Improve varyings declaration. #31133 (@sunag)
-
USDZExporter
- Fix object indentation level. #31126 (@mkeblx)
- Fix JSDoc to match default value. #31119 (@mkeblx)
Editor
- Fix minor bugs. #31050 (@Mugen87)
r176
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r175--r176 https://github.com/mrdoob/three.js/milestone/89?closed=1
- Global
- Remove legacy code. #30821 (@Mugen87)
- Remove Luminance and LuminanceAlpha format. #30934 (@gkjohnson)
- ArrowHelper
- Replace cylinder with cone geometry. #30867 (@shlomnissan)
- Animation
- Fix ReferenceError in non-broswer environment. #30835 (@chirsz-ever)
- Background
- Make sure background nodes can be disposed of. #30938 (@Mugen87)
- BatchedMesh
- Fix
toJSON(),ObjectLoaderintegration. #30965 (@gkjohnson)
- Fix
- CapsuleGeometry
- Add
heightSegmentsparameter. #30868 (@mkeblx) - Change length param to height, fix UVs. #30915 (@mkeblx)
- Add
- ExtrudeGeometry
- Fix regression introduced with last release. #30822 (@mlasala45)
- LightsNode
- Honor spotlight maps in cache key. #30940 (@Mugen87)
- NodeMaterial
- Fix alpha of vertex-color. #30974 (@sunag)
- NodeMaterialObserver
- Force refresh when rendering velocity. #30840 (@Mugen87)
- RenderTarget
- Fix depth texture assignment regression. #30921 (@Spiri0)
- ShadowNode
- Inherit camera.layers only if shadow.camera.layers is not set. #30877 (@RenaudRohlinger)
- TSL
- Don't flip normals when using flat shading. #30823 (@Mugen87, @sunag)
- Fix
frontFacingwhen usingmaterial.flatShading. #30828 (@sunag) - Add
dFdxanddFdywarnings. #30831 (@sunag) - Show shader stage in
debug()message. #30833 (@sunag) - Fix
blur()on Framebuffer. #30845 (@RenaudRohlinger) - Fix
bitangent*when usingmaterial.flatShading. #30837 (@sunag) - Fix
instance()optional parameter. #30848 (@sunag) - Introduce
varying.setInterpolation(). #30582 (@cmhhelgeson, @sunag) - Fix optional
Fnparameters. #30884 (@sunag) - Fix
texture()matrix sync. #30893 (@sunag) - Fix early-z rejection. #30891 (@sunag)
- Add
increment()anddecrement()and fix unsualfor()expression syntax for transpiler. #30912 (@Mugen87, @sunag) - Fix
dispose()when usingreflector(). #30933 (@Mugen87) - Fix and improve
bvecoperators. #30922 (@sunag) - Fix
debug()changes the compiled code. #30944 (@sunag) - Add switch/case. #30935 (@Mugen87)
- Add expression support for
loop( { update: ... } ). #30947 (@sunag) - Add
Stack()and.toStack(). #30956 (@sunag) - Cache
getShadowRenderObjectFunction(). #30969 (@sunag) - Fixes the return value of
atomic*nodes. #30971 (@sunag) - Auto-cache
atomic*nodes. #30972 (@sunag) - Fix
denoise()sampler texture. #30975 (@sunag) - Improve
debug()callback changing to( builder, code )signature. #30976 (@sunag)
- VelocityNode
- Fix initial value of previous model matrix. #30839 (@Mugen87)
- WebGLRenderer
- Fix binding
__webglFramebufferwhen mipmaps are used. #30746 (@haxiomic) - Support
alphaToCoveragewith shadows. #30871 (@Mugen87)
- Fix binding
- WebGPURenderer
- Introduce Shadow Map Array. #30830 (@RenaudRohlinger)
- Introduce compatibilityMode. #30854, #30869, #30875 (@sunag)
- Disable draw call when
object.count = 0. #30881 (@cmhhelgeson) - Make
material.transparent behave as in WebGLRenderer. #30862 (@rkreis-v) - Add Multiview support. (@cabanier)
- Introduce
renderer.highPrecision. #30970 (@sunag)
- WGSLNodeBuilder
- Improve
isCustomStruct()checking. #30525 (@Spiri0)
- Improve
- XRManager
- Request reference space for both layers and non layers. #30902 (@danrossi)
Docs
- Clean up. #30888, #30927, #30978 (@rizzler329842, @notgod6, @arcs-)
- Simplify JSDoc output directory. #30815 (@Mugen87)
- Fix typos and types. #30843, #30874, #30880, #30879 (@s-rigaud)
- Improve
SkinningNode. #30852 (@Mugen87) - JSDoc: Add import section for addons. #30853, #30860 (@Mugen87)
- Improve Chinese translation. #30887 (@linzhou559)
Examples
- Clean up. #30820, #30979 (@Mugen87, @Methuselah96)
- Added additional Rapier physics examples. #30818 (@NikLever)
- Fix AR hit-test. #30866 (@mkeblx)
- Use
InstancedMeshinwebgl_clipping_advanced. 2cb9218b049b93c0b412e4b1e73ab340bf87e6ba (@mrdoob) - Fix WebXR Haptics example when entering VR from Oculus Browser button. #30859 (@arturitu)
- Add external "3d tiles" globe example. #30883, #30907 (@gkjohnson)
- Use post-processing and improve description in reverse depth buffer demo. #30941 (@CodyJasonBennett)
- Add
webgpu_causticsexample and shadow revisions. #30962 (@sunag) - Call
ImageBitmap.close()inwebgl_loader_imagebitmap. #30977 (@Mugen87)
Addons
-
Global
- Fix SSAA/TRAA state reset. #30838 (@Mugen87)
- Clean up. #30917, #30918, #30953 (@satelllte, @Mugen87)
-
AfterImageNode
- Fix usage of multiple nodes. #30834 (@Makio64)
-
GLTFLoader
- Remove support detection for WebP and AVIF. #30864 (@Mugen87)
-
IFFParser
- Fix missing Debbuger attribute declarations #30946 (@s-rigaud)
-
ImprovedNoise
- Use
MathUtils.lerp(). #30905 (@satelllte)
- Use
-
LottieLoader
- Deprecated loader, inline library usage. #30896 (@Mugen87)
-
MD2CharacterComplex
- Fix
frontDecelerationattribute name. #30817 (@s-rigaud)
- Fix
-
OutlinePass
- Fix using with BatchedMesh. #30952 (@luigidenora)
-
PointerLockControls
- Constant for mouse sensitivity #30966 (@satelllte)
-
RapierPhysics
- Add heightfield support. #30906 (@andytriboletti)
-
RoomEnvironment
- Use
InstancedMesh. df3b15e5f4a35aa083138d71965b1352f4102685 (@mrdoob)
- Use
-
TileShadowNode
- Fix shadow manual update. #30863 (@RenaudRohlinger)
-
TSLTranspiler
- Add valid
!=. #30890 (@s-rigaud) - Fix typo. 2edea69e6e6bb213198a9864034824b856aa9c09 (@sunag)
- Add valid
-
Water2Mesh
- Fix missing
material.transparent=true. #30892 (@sunag)
- Fix missing
Editor
- Fix selection box update when reparenting objects in hierarchy. #30904 (@lixinde)
r175
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r174--r175 https://github.com/mrdoob/three.js/milestone/88?closed=1
- Global
- Remove deprecated code. #30621 (@Mugen87)
- AnalyticLightNode
- Fix call of
setupShadowNode(). #30713 (@s-rigaud)
- Fix call of
- AnimationClip
- Deprecate
parseAnimation(). #30625 (@Mugen87)
- Deprecate
- ArrayElementNode
- Optimize indexes. #30741 (@sunag)
- AtomicFunctionNode
- Add inline support. #30732 (@sunag)
- Attributes
- Fix
nullcheck. #30694 (@Mugen87)
- Fix
- Backend
- Move
trackTimestampto parent class. #30714 (@s-rigaud)
- Move
- BufferGeometry
- Fix clone index data copy. #30680 (@s-rigaud)
- Controls
- Require
elementinconnect(). #30772 (@mrdoob)
- Require
- Earcut
- Copy mapbox/earcut file into core libs. #30756 (@gkjohnson)
- ExtrudeGeometry
- Automatically clean shape data. #30750 (@mlasala45)
- FileLoader
- Avoid
undefinedfor members. #30622 (@Mugen87)
- Avoid
- ImageUtils
- Add optional
typeparameter togetDataURL(). #30751 (@Mugen87)
- Add optional
- Material
- Add
allowOverride. #30753 (@Mugen87)
- Add
- MorphNode
- Improve performance. #30742 (@sunag)
- NodeBuilder
- Add abstract reference for
buildFunctionCode(). #30712 (@s-rigaud)
- Add abstract reference for
- NodeMaterial
- Add support for
compute()integrated into the material. #30768 (@sunag)
- Add support for
- OperatorNode
- Fix
notEqual()redundant bool conversion. #30740 (@sunag)
- Fix
- Renderer
- Disallow render target resizing while in XR. #30738 (@cabanier)
- ShadowMaskModel
- Fix signatures. #30764 (@Mugen87)
- TextureNode
- Add
blur()check and warning. #30722 (@sunag)
- Add
- TSL
- Simplify expression output. #30691 (@RenaudRohlinger)
- Add
samplerComparison. #30734 (@sunag) - Fix
equal()inconsistent. #30777 (@sunag) - Allow
max()/min()to take an arbitrary number of arguments. #30780 (@sunag) - Avoid name collisions. #30785 (@sunag)
- Improve warnings. #30783 (@sunag)
- Deprecated
modInt()and minor fixes. #30790, #30796 (@sunag) - Add
debug(). #30797 (@sunag) - Add while to
Loop(). #30807 (@sunag) - Simplified
Fn()layout. #30810 (@sunag) - Improve
vec*checks and warnings. #30811 (@sunag)
- WebGLBackend
- Bring back 3D functionality for
copyTextureToTexture(). #30584, #30644 (@zonkypop, @Mugen87)
- Bring back 3D functionality for
- WebGLRenderer
- Refactor
setRenderTargetTextures(). #30628 (@cabanier) - Fixed
readRenderTargetPixelsAsync()readability check. #30672 (@greyb1t) - Fix reference to
drawingBufferColorSpace. #30707 (@s-rigaud) - Fix
setReversed()soreverseDepthBuffer: trueworks. #30809 (@haxiomic, @CodyJasonBennett)
- Refactor
- WebGPUAttributeUtils
- Use correct buffer offset for
updateRanges. #30617 (@zonkypop) - Add int8/uint8 patch. #30749 (@sunag)
- Use correct buffer offset for
- WebGPUBackend
- Make
copyTextureToTexture()work with 3D textures. #30618 (@zonkypop)
- Make
- WebGPUConstants
- Fix name of
RG11B10UFloat. #30717 (@s-rigaud)
- Fix name of
- WebGPURenderer
- Fix texture view caching and dispose event stacking #30647 (@RenaudRohlinger)
- Honor
material.outputNodeif used with MRT. #30659 (@sunag) - RenderBundle support transparent objects. #30689 (@RenaudRohlinger)
- RenderBundle use correct LightsNode. #30700 (@RenaudRohlinger)
- Revisions for release. #30803 (@sunag)
- WebGPUTextureUtils
- Fix reference for
BC4RSnorm. #30678 (@s-rigaud)
- Fix reference for
- XRManager
- Fix up AA for WebXR and use multisample extension only when needed. #30724 (@cabanier)
- Add more integrated support for WebXR Layers. #30730 (@cabanier)
Manual
- Move guides from old docs to manual. #30736, 49f25c6e5ee731e1daf0c3978bd59cda62f76c74 (@Mugen87, @mrdoob)
Docs
- Add more JSDoc. #30620, #30624, #30629, #30631, #30633, #30638, #30641, #30642, #30646, #30649, #30651, #30656, #30658, #30662, #30675, #30686, #30692, #30702, #30705, #30719, #30727, #30733, #30752, #30793 (@Mugen87)
- Fix typings and typos. #30626, #30632, #30664, #30665, #30677, #30711, #30723, #30721, #30776, #30789, #30791 (@s-rigaud, @omahs)
- Improve Chinese translation. #30683 (@kang-git)
Examples
- Clean up. #30798, #30799 (@s-rigaud)
- Cleanup volumetric lighting examples. #30660 (@sunag)
- Improve
webgpu_compute_geometryexample. #30699 (@cmhhelgeson) - Avoid relying on implicit event parameter. #30792 (@s-rigaud)
- Add new examples. #30695 (@lo-th)
Addons
-
AMFLoader
- Fix materialId reference. #30668 (@s-rigaud)
-
AnimationClipCreator
- Default to empty string for clip name. #30666 (@s-rigaud)
-
AsciiEffect
- Avoid useless split operations. #30667 (@s-rigaud)
- Fix values types. #30710 (@s-rigaud)
-
CSMShader
- Add missing
getPointShadow()argument. #30771 (@brentyi)
- Add missing
-
EXRLoader
- Fix string comparison. #30709 (@s-rigaud)
-
GLTFExporter
- Delete invalid and outdated fallback. #30744 (@Bajdzis)
-
GLTFLoader
- Fix bad reference to
PATH_PROPERTIES. #30669 (@s-rigaud)
- Fix bad reference to
-
LDrawLoader
- Wrong call to
parseModel(). #30670 (@s-rigaud) - Fix error message. #30801 (@s-rigaud
- Wrong call to
-
LUTImageLoader
- Harmonize ctor. #30720 (@Mugen87)
-
LWOLoader
- Fix method calls. #30802 (@s-rigaud)
-
MD2Loader
- Clip creation requires additional argument. #30671 (@s-rigaud)
-
OculusHandModel
- Fix reference to path attribute. #30679 (@s-rigaud)
-
ProgressiveLightMapGPU
- Disclove potpack hidden behavior. #30716 (@s-rigaud)
-
PointerLockControls
- Add
unadjustedMovementoptiontolock(). #30687 (@james090500)
- Add
-
USDZExporter
- Reuse instantiated material for
buildXform(). #30661 (@zphr)
- Reuse instantiated material for
-
USDZLoader
- Fix Blob options. #30708 (@s-rigaud)
-
ViewHelper
- Adjust viewport position for WebGPU renderer. #30735 (@Child-qjj)
-
VolumeSlice
- Comment out broken code path. #30715 (@s-rigaud)
Editor
- Fix publish. #30690 (@Mugen87)
- Improve Chinese translation. #30787 (@linbingquan)
- Add color space options for background textures. #30794 (@Mugen87)