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()
,ObjectLoader
integration. #30965 (@gkjohnson)
- Fix
- CapsuleGeometry
- Add
heightSegments
parameter. #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
frontFacing
when usingmaterial.flatShading
. #30828 (@sunag) - Add
dFdx
anddFdy
warnings. #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
Fn
parameters. #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
bvec
operators. #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
__webglFramebuffer
when mipmaps are used. #30746 (@haxiomic) - Support
alphaToCoverage
with 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.transparen
t 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
InstancedMesh
inwebgl_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_caustics
example 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
frontDeceleration
attribute 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
null
check. #30694 (@Mugen87)
- Fix
- Backend
- Move
trackTimestamp
to parent class. #30714 (@s-rigaud)
- Move
- BufferGeometry
- Fix clone index data copy. #30680 (@s-rigaud)
- Controls
- Require
element
inconnect()
. #30772 (@mrdoob)
- Require
- Earcut
- Copy mapbox/earcut file into core libs. #30756 (@gkjohnson)
- ExtrudeGeometry
- Automatically clean shape data. #30750 (@mlasala45)
- FileLoader
- Avoid
undefined
for members. #30622 (@Mugen87)
- Avoid
- ImageUtils
- Add optional
type
parameter 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: true
works. #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.outputNode
if 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_geometry
example. #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
unadjustedMovementoption
tolock()
. #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)
r174
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r173--r174 https://github.com/mrdoob/three.js/milestone/87?closed=1
- Global
- Improve ESLint setup. #30509, #30513, #30580 (@s-rigaud)
- Animation
- Rename
frame
parameter toxrFrame
. #30558 (@Mugen87)
- Rename
- BatchedMesh
- Deprecate old instancing render paths. #30550 (@gkjohnson)
- GLSLNodeBuilder
- Check texture type when declaring usampler3D/sampler3D uniforms. #30608 (@zonkypop)
- MeshNormalNodeMaterial
- Convert packed normal to working color space. #30590 (@WestLangley, @cmhhelgeson)
- PMREMGenerator
- Add size and position options to
fromScene()
. #30477 (@Mugen87, @Spiri0)
- Add size and position options to
- PMREMNode
- Manage own generator, fix caching. #30504 (@Mugen87)
- Renderer
- Disable autoClear in the output pass. #30454 (@Mugen87)
- Return self in
init()
. #30556 (@CodyJasonBennett)
- RenderTarget
- Fix copy of images. #30585 (@Mugen87)
- SpriteNodeMaterial
- Set
transparent=true
as default. #30435 (@sunag) - Fix
scaleNode
type conversion. #30545 (@sunag)
- Set
- StructTypeNode
- Fix inclusion when added to the layout. #30439 (@sunag)
- TSL
- Introduce
RaymarchingBox
andraymarchingTexture3D
. #30495 (@sunag)
- Introduce
- WebGLBackend
- Configure scissor/viewport before clear. #30452 (@Mugen87)
- Fix depth regression. #30527 (@Mugen87)
- Optimize vertex state definition. #30562 (@Mugen87)
- Only invalidate framebuffers on supported devices. #30606 (@Mugen87)
- WebGLRenderer
- Assign
currentRenderState
inrenderer.compile()
. #30607 (@cmhhelgeson)
- Assign
- WebGPUBackend
- Add support for
setStencilReference()
. #30470 (@Mugen87) - Fix clear(). #30485 (@Mugen87)
- Add support for
- WebGPURenderer
- Fix clear for default framebuffer. #30457 (@RenaudRohlinger)
- Add
setOutputRenderTarget()
#30459 (@sunag) - Fix info metrics. #30483 (@Mugen87)
- Simplify clear color generation. #30486 (@Mugen87)
- Fix color space of clear colors. #30488 (@Mugen87)
- Honor polygonOffset with WebGPU backend. #30496 (@Mugen87)
- Add tone-mapping/output color space support for WebXR. #30499 (@sunag)
- Fix output depth struct. #30514 (@sunag)
- Fix storage buffer binding update and 4 bytes alignment. #30529 (@RenaudRohlinger)
- Support rotation of env maps. #30528 (@Mugen87, @sunag)
- Fix storage buffer update range. #30532 (@RenaudRohlinger)
- Fix
mat2()
arguments. #30543 (@RenaudRohlinger) - Add volumetric lighting. #30530 (@sunag)
- Harmonize clear of MRT textures. #30586 (@Mugen87)
- XRManager
- Simplify MSAA setup. #30500 (@Mugen87)
- Mark XR rendertarget as needing a resolve for depth or stencil. #30565 (@cabanier)
Manual
- Clean up. #30480 (@fengT-T)
Docs
- Improve JSDoc setup. #30430, #30443, #30449, #30453, #30460, #30461, #30466, #30542, #30611 (@Mugen87)
- Fix typos and types. #30510, #30511, #30546, #30548, #30555, #30557, #30559, #30602, #30603 (@s-rigaud, @Mugen87)
- Improve dispose guide. #30441, #30524 (@Mugen87, @catalin-enache)
- Add more JSDoc. #30442, #30534, #30541, #30547, #30552, #30573, #30574, #30579, #30588, #30592, #30601, #30610, #30614, #30615 (@Mugen87)
- Add instructions for improving editor auto-completion. #30444 (@Makio64)
- Add
Mattercraft
toWrappers and Frameworks
guide. #30465 (@nyan-left) - Improve Chinese translation. #30475 (@haiyoucuv)
- Improve
LOD
page. #30591 (@guiseek) - Improve
Raycaster
page. #30478 (@trusktr) - Improve
displacementBias
description. #30564 (@s-rigaud)
Examples
- Clean up. #30432 (@Mugen87)
- Update particle count to 500k in WebGPU compute example. #30455 (@Makio64)
- Adjust volume instances demo to write to depth. #30464 (@gkjohnson)
- Fix time usage. #30498 (@Mugen87)
Addons
-
3MFLoader
- Fix parsing of assets with sub models. #30491 (@Jack-J-Young)
-
AfterImageNode
- Refactor code and improve demo. #30433 (@Mugen87)
-
CCDIKSolver
- Add
blendFactor
support. #30415 (@anishwij)
- Add
-
DDSLoader
- Fix incorrect alpha when loading 24-bit uncompressed textures. #30598 (@miere43)
-
FBXLoader
- Handle out-of-bounds material assignments. #30581 (@hybridherbst)
-
MTLLoader
- Add support for displacement maps. #30508 (@krotalias)
-
OutlinePass
- Honor original
overrideMaterial
. #30578 (@Mugen87)
- Honor original
-
Raymarching
- Move
raymarchingTexture3D
to example and updatewebgpu_volume_perlin
. #30531 (@sunag)
- Move
-
Reflector
- Add
forceUpdate
. #30569 (@Shane-oo)
- Add
-
SelectionHelper
- Ensure DOM cleanup. #30473 (@trusktr)
-
Timer
- Add
connect()
/disconnect()
. #30551 (@Mugen87)
- Add
-
TSL Transpiler
- Support matrix types. #30501 (@Mugen87)
- Support varying. #30506 (@Mugen87)
- Support more matrix types, bool vectors. #30517 (@CodyJasonBennett)
- Basic texture support. #30521 (@Mugen87)
- Add support for
discard
. #30538 (@Mugen87)
r173
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r172--r173 https://github.com/mrdoob/three.js/milestone/86?closed=1
- Global
- Clean up. #30383 (@s-rigaud)
- BatchedMesh
- Fix bug in
deleteGeometry()
. #30304 (@jonathanzopes)
- Fix bug in
- ChainMap
- Avoid a redundant internal weak map. #30258 (@ycw)
- ConstNode
- Optimize indexes. #30388 (@sunag)
- EventDispatcher
- Obtain
_listeners
beforeif
block. #30328 (@erasta)
- Obtain
- Geometries
- Reuse
arrayNeedsUint32()
from core. #30408 (@Mugen87)
- Reuse
- ImageUtils
- Always use
image/png
ingetDataURL()
. #30336 (@Mugen87)
- Always use
- Line
- Fix index on intersection. #30424 (@jonathanzopes)
- NodeBuilder
- Rename
.monitor
to.observer
. #30354 (@sunag)
- Rename
- NodeBuilderState
- Update description. #30355 (@sunag)
- Nodes
- Optimize
getCacheKey()
. #30259 (@Mugen87) - Fix recursion with environment nodes. #30277 (@Mugen87, @sunag)
- Optimize
- NodeMaterialObserver
- Detect geometry exchange. #30409 (@Mugen87)
- NodeUtils
- Simplify
getCacheKey()
. #30303 (@Mugen87)
- Simplify
- PMREMGenerator
- Don't pollute node material scope. #30324 (@Mugen87)
- PointsNodeMaterial
- Improve implementation, replace
InstancedPointsNodeMaterial
. #30300 (@sunag)
- Improve implementation, replace
- PostProcessing
- Allow usage with more than one instance. #30279 (@Mugen87)
- RenderContexts
- Introduce
getForClear()
. #30256 (@Mugen87) - Add missing properties. #30286 (@Mugen87)
- Introduce
- Renderer
- Fix viewport configuration of
ArrayCamera
. #30298 (@Mugen87) - Remove outdated comment. #30306 (@Mugen87)
- Introduce
colorBufferType
. #30425 (@Mugen87)
- Fix viewport configuration of
- RenderObject
- Fix geometry key for morph targets. #30302 (@Mugen87)
- Improve cache key computation when rendering shadows. #30316 (@Mugen87)
- TSL
- Fix optional parameter in
Fn()
. #30293 (@sunag) - Rename
varying()
totoVarying()
,vertexStage()
totoVertexStage()
. #30356 (@sunag) - Add
mat2
support. #30364, #30368 (@RenaudRohlinger) - Add missing
atomicLoad
support. #30371 (@RenaudRohlinger) - Add matrix operations support for floats. #30370 (@RenaudRohlinger)
- Introduce
array()
. #30386 (@sunag) - Introduce
struct()
. #30394, #30426 (@sunag, @Spiri0)
- Fix optional parameter in
- VarNode
- Fix
getMemberType()
reference. #30427 (@sunag)
- Fix
- VideoFrameTexture
- Add new class for WebCodecs API. #30270 (@Mugen87, @maddanio)
- Add
isVideoFrameTexture
flag. #30381 (@ycw)
- WebGLBackend
- Fix
ArrayCamera
pixel ratio. #30338 (@sunag) - Fix context parameter. #30413 (@Mugen87)
- Fix depth formats. #30422 (@Mugen87, @cabanier)
- Fix
- WebGLBackground
- Reset meshes in
dispose()
. #30257 (@Mugen87)
- Reset meshes in
- WebGPUAttributeUtils
- Fix i16a/u16a patch. #30264 (@ycw)
- WebGPUBackend
- Fix Timestamp Query. #30299 (@ycw)
- WebGPURenderer
- Reduce memory churn when using chain maps. #30249 (@Mugen87)
- Introduce
.toConst()
,Const()
,Var()
. #30251 (@RenaudRohlinger, @sunag) - Rename
timeStampQuerySet
totimestampQuerySet
. #30289 (@ycw) - Derives timestamp buffer size from
BigUint64Array
. #30290 (@ycw) - Fix Occlusion Query logic. #30288 (@ycw, @sunag)
- Fix shadow regression. #30307 (@RenaudRohlinger)
- Add
.outputType
backend parameter. #30320 (@donmccurdy) - Fix clear alpha in
WebGLBackend
. #30329 (@RenaudRohlinger) - Improve
ArrayCamera
performance and fix uniforms. #30313, #30337 (@sunag) - Enable dynamic resizing of the cameras array of
ArrayCamera
. #30353 (@sunag) - Introduce
TimestampQueryPool
. #30359, #30375, #30393 (@RenaudRohlinger)
- WebGPUTextureUtils
- Improve
_copyImageToTexture()
. #30260 (@ycw)
- Improve
- WebXRManager
- Do not try to init
WebXRDepthSensing
with cpu-optimized depth. #30241 (@dli7319) - Further improvements to WebXR layers feature testing. #30282 (@toji)
- Safely check for
XRWebGLBinding
. #30319 (@zonkypop)
- Do not try to init
- XRManager
- Add XR manager for
WebGPURenderer
. #30346, #30348, #30349, #30358 (@Mugen87) - Add layers support. #30365, #30417 (@Mugen87)
- Add MSAA support. #30378, #30418 (@Mugen87)
- Add XR manager for
- XRRenderTarget
- Add new render target type for XR. #30369 (@Mugen87)
Manual
- Fix
OrbitControls
usage in Offscreen Canvas demo. #29983 (@Arecsu) - Improve Chinese translation. #30294 (@evolify)
Docs
- Add documentation of
WebGPURenderer
and related modules. #30244, #30246, #30250 (@Mugen87) - Improve
BatchedMesh
andInstancedMesh
page. #30362 (@gkjohnson) - Improve
BlendModes
module. #30322 (@Mugen87) - Improve
ConvexGeometry
page. #30399 (@erasta) - Improve
LineMaterial
page. #29864 (@nyan-left) - Improve
Matrix4
page. #30276 (@Mugen87) - Improve
Scene
page. #30357 (@Serum0017) - Improve
Texture
page. #30285 (@jirihon) - Improve
Color Management
guide. #30281 (@donmccurdy) - Make use of
@deprecated
tag in JSDoc. #30284 (@s-rigaud) - Improve JSDoc types. #30271, #30272, #30317, #30318, #30323, #30325, #30280, #30372, #30287, #30382 (@Mugen87, @s-rigaud)
Examples
- Clean up. #30248, #30331, #30332, #30419 (@Methuselah96, @Mugen87)
- Improve
webgpu_lights_ies_spotlight
example. #30243 (@mrdoob, @sunag) - Fix glossy material in
webgl_geometry_teapot
example. #30253 (@erich666) - Add raycaster helper external demo. #30262 (@Mugen87, @abernier, @gsimone)
- Add
webgpu_camera_array
example. #30296, #30297 (@Mugen87) - Fix video decoder stalls issue in
webgpu_video_frame
example. #30385 (@ycw) - Combine LUT with coffee smoke demo. #30390 (@Mugen87)
Addons
-
CCDIKSolver
- Fix algorithm broken link. #30266 (@satelllte)
-
GLTFLoader
- Remove redundant decay assignment. #30411 (@s-rigaud)
- Improve existing JSDoc. #30412 (@s-rigaud)
-
InteractiveGroup
- Add
disconnect()
. #29975 (@bbsimong, @Mugen87)
- Add
-
MeshGouraudMaterial
- Deprecate module. #30314 (@Mugen87)
-
OutputPass
- Support
THREE.CustomToneMapping
. #30335 (@samposoft)
- Support
-
TextGeometry
- Remove deprecated code. #30315 (@Mugen87)
-
TSLEncoder
- Fix transpilation issues. #30410 (@Mugen87)
-
WaterMesh
- Improve lighting support. #30247 (@sunag)
r172
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r171--r172 https://github.com/mrdoob/three.js/milestone/85?closed=1
- Global
- Remove deprecated code. #30004 (@Mugen87)
- Clean up. #30078, #30119, #30138, #30143, #30176 (@s-rigaud, @ycw)
- CameraHelper
- Fix usage with WebGPU. #30136 (@AlaricBaraou)
- PropertyBinding
- Fix versioning scheme determination. #30054 (@Mugen87)
- LightsNode
- Fix cache key. #30045 (@Mugen87, @sunag)
- Line2NodeMaterial
- Fix usage of optional nodes. #30107 (@s-rigaud)
- LineDashedNodeMaterial
- Fix node references. #30175 (@ycw)
- Node
- Add
customCacheKey()
. #30062 (@sunag)
- Add
- Nodes
- Ensure
getBackgroundNode()
andgetEnvironmentNode()
only return nodes. #30169 (@Mugen87)
- Ensure
- NodeUtils
- Add
getDataFromObject()
. #30171 (@sunag)
- Add
- PMREMGenerator
- Fix
fromScene()
back-side materials. #30063 (@sunag)
- Fix
- ReflectorNode
- Force
autoClear
. #30199 (@sunag)
- Force
- RendererUtils
- Honor fog. #30178 (@Mugen87)
- ShadowBaseNode
- Fix CSM
shadowWorldPosition
. #30060 (@sunag)
- Fix CSM
- ShadowNode
- Fix
updateMatrices
sequence. #30064 (@sunag) - Ensure background does not influence shadow map. #30170 (@Mugen87)
- Fix
- SkinningNode
- Fix previousBoneMatrices. #30161 (@sunag)
- TextureNode
- Rename
uv()
tosample()
. #30061 (@sunag) - Fix matrix update. #30200 (@sunag)
- Improve error message. #30215 (@sunag)
- Rename
- TSL
- Improve fog approach. #30080, #30092 (@sunag)
- Add
texture_depth_multisampled_2d
forwgslFn
. #30082 (@sunag) - Fix
positionWorld
used inmaterial.positionNode
andfragment-stage
. #30105 (@sunag) - Vertex shader revision. #30108, #30147 (@sunag)
- Add missing export. #30129 (@Methuselah96)
- Overloaded
atan2
toatan
. #30131 (@sunag) - More consistent names
shadowPositionWorld
,materialAO
. #30152 (@sunag) - GLSL alias functions. #30150 (@sunag)
- Add
vertexStage()
function. #30173 (@sunag)
- UniformArrayNode
- Add support for
mat2
,mat3
andmat4
types. #30051 (@holtsetio) - Fix
getNodeType()
. #30058 (@sunag)
- Add support for
- UniformGroup
- Delete unused file. #30002 (@Mugen87)
- WebGLRenderer
- Add transmission render target scale. #30018 (@michaeldll)
- Allow for binding and rendering into a 2d render target mipmap. #29844 (@gkjohnson)
- WebGPURenderer
- Fix filterable depth textures. #30023 (@sunag)
- Revert
onSubmittedWorkDone
usage in timestamp queries. #30031 (@RenaudRohlinger) - Add
onBeforeShadow()
andonAfterShadow()
. #30032 (@RenaudRohlinger) - Fix blending opacity in shadows. #30081 (@sunag)
- Fix support for non-indexed
BatchedMesh
. #30084 (@RenaudRohlinger) - Fix hardware clipping issues. #30083 (@RenaudRohlinger)
- Fix
getArrayBufferAsync()
inWebGPUBackend
. #30132 (@RenaudRohlinger) - Rename
PostProcessingUtils
toRendererUtils
. #30172 (@sunag) - Fix and improve the dynamic updating of the scene nodes cache. #30180 (@sunag)
- Introduce
RenderTarget3D
andRenderTargetArray
. #30155 (@RenaudRohlinger) - Disable fog in shadow-material. #30204 (@sunag)
- Fix
depthTest
with enabled logarithmic depth buffer. #30214 (@sunag) - Respect TypedArray in
StorageInstancedBufferAttribute
. #30218 (@RenaudRohlinger)
- WebXRManager
- Improve WebXR layers feature testing. #30112 (@toji)
- WGSLNodeBuilder
- Sampler for compute shader. #30033 (@Spiri0)
Manual
- Improve post processing guide. #30098 (@ChenKuan1110)
- Update material feature table. #30164 (@s-rigaud)
Docs
- Add JSDoc config. #29984, #30076 (@Mugen87, @s-rigaud)
- Improve documentation of the new node material. #29984, #30000, #30001, #30009, #30013, #30012, #30020, #30025, #30027, #30037, #30041, #30038, #30046, #30049, #30055, #30067, #30075, #30079, #30087, #30093, #30095, #30100, #30103, #30109, #30110, #30115, #30117, #30123, #30135, #30137, #30142, #30153, #30157, #30159, #30163, #30167, #30162 (@Mugen87, @s-rigaud, @sunag, @cmhhelgeson)
- Improve documentation of
WebGPURenderer
and related modules. #30182, #30188, #30194, #30213, #30221, #30224 (@Mugen87) - Improve
Loader
page. #29999 (@NeelDigonto) - Improve
Material
page. #30043, #30059, #30121, #30118 (@borisghidaglia, @Mugen87) - Improve Chinese translation. #30205 (@puxiao)
- Improve French translation. #30019 (@s-rigaud)
- Fix code blocks occasionally lacking white-space in Firefox. #30036 (@mrxz)
Examples
- Clean up. #29997, #30015, #30106, #30146, #30145, #30144 (@s-rigaud)
- Remove MMD modules. #30003 (@Mugen87)
- Add
webgpu_lines_fat_raycasting
example. #30030 (@RenaudRohlinger) - Add background to
webgpu_pmrem_scene
. #30116 (@Spiri0) - Restore
webgpu_compute_audio
. #30139 (@sunag) - Removing antialias from
webgpu_backdrop_water
. #30206 (@sunag)
Addons
-
DDSLoader
- Add 24 bit uncompressed RGB support. #30010 (@sam6321)
-
LineSegments2
- Fix
raycast()
. #30016 (@Samsy)
- Fix
-
OrbitControls
- Add
keyRotateSpeed
. #29988 (@bbsimong)
- Add
-
TiledLightsNode
- Fix cache-key performance. #30130 (@sunag)
Tests
Node Editor
- Improve imports. #29998 (@linbingquan)
Editor
- Editor: Fix vertex normals helper regression. #30069 (@Mugen87)
r171
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r170--r171 https://github.com/mrdoob/three.js/milestone/84?closed=1
- Global
- Codesplit WebGL/WebGPU entrypoints. #29404, #29644 (@CodyJasonBennett, @RenaudRohlinger)
- Introduce
three.tsl.js
. #29948 (@sunag) - Improve import style of
MathUtils
. #29943 (@WestLangley)
- AnalyticLightNode
- Reset
shadowNode
after dispose. #29939 (@sunag)
- Reset
- Audio
- Ensure progress is reset in
onEnded()
. #29930 (@Jian-Nam) - Override
copy()
andclone()
to include missing properties. #2996 (@Byongho96)
- Ensure progress is reset in
- BatchedMesh
- Better error handling. #29790 (@Makio64)
- BlendModes
- Added
blend*
prefix. #29897 (@sunag)
- Added
- BufferGeometry
- Fix
setFromPoints()
when updating with smaller point sets. #29956 (@rotu)
- Fix
- ColorManagement
- Support treeshaking. #29816 (@linbingquan)
- GLSLNodeBuilder
- Fix color space regression. #29945 (@Mugen87)
- Fix varying
color
type. #29950 (@sunag)
- Line2NodeMaterial
- Fix broken dash. #29835 (@Mugen87)
- Add opacity support using backdrop. #29979 (@sunag)
- Materials
- Revert static types of builtins materials. #29789 (@RenaudRohlinger)
- NodeMaterial
- Only call
setupDepth()
with active depth buffer. #29799 (@Mugen87) - Add
.castShadowNode
and.receivedShadowNode
. #29840 (@sunag) - Fix
getAlphaHashThreshold()
properties conflict. #29977 (@sunag)
- Only call
- PMREMGenerator
- Add
fromSceneAsync()
. #29951 (@sunag) - Add optional renderTarget in
fromScene()
. #29959 (@sunag)
- Add
- PostProcessing
- Fix
PostProcessingUtils
import. #29801 (@Mugen87) - Harmonize node type. #29823 (@Mugen87)
- Fix
- Renderer
- Fix
getShaderAsync()
. #29832 (@Mugen87) - Add
hasInitialized()
. #29937 (@Mugen87) - Add
initTexture()
. #29947 (@Mugen87)
- Fix
- RenderObjects
- Force update if geometry has changed. #29807, #29836, #29873 (@sunag)
- Spherical
- Use
MathUtils.clamp()
formakeSafe()
. #29824 (@linbingquan)
- Use
- TSL
- Add
shadows
. #29838 (@sunag) - Introduce
instance()
for custom use #29911 (@sunag) - Introduce
attributeArray()
andinstancedArray()
. #29881 (@sunag) - Return
pass()
texture if available inconvertToTexture()
. #29957 (@sunag) - Deprecated
storageObject()
. #29982 (@sunag)
- Add
- Vector2/3/4
- Use
MathUtils.clamp()
internally. #29812, #29929 (@satelllte, @mrdoob)
- Use
- WebGLBackground
- Add
dispose()
. #29858 (@Mugen87)
- Add
- WebGLGeometries
- Don't upload morph target attributes. #29915 (@mrxz)
- WebGLRenderer
- Add support for copying mipmap data between textures. #29769 (@gkjohnson)
- WebGPUAttributeUtils
- Fix
updateAttribute()
when using range. #29967 (@holtsetio)
- Fix
- WebGPUBackend
- Simplify Timestamp Queries and ensure work done. #29970 (@RenaudRohlinger)
- WebGPURenderer
- Make sure default instance of
CompressedTexture
works. #29788 (@Mugen87) - Implement
ClippingGroup
object. #28237, #29833 (@aardgoose) - Make
Animation
WebXR compatible. #29783 (@Mugen87) - Hardware clipping support. #28578 (@aardgoose)
- Added support for
.wrap*
usingbiquadraticTexture
. #29828, #29846 (@sunag) - Handle
OutOfMemory
in timestamp tracking. #29857 (@RenaudRohlinger) - Fix
OffscreenCanvas
support in WebGL. #29867 (@RenaudRohlinger) - Per "texture set" bindGroup caching. #29845 (@aardgoose)
- Logarithmic Depth Buffer rename/revision. #29870 (@PoseidonEnergy)
- Fix
ImageBitmap
flip inWebGLBackend
. #29866 (@RenaudRohlinger, @sunag) - Fix
shadowPositionNode
cache. #29921 (@sunag) - Add
PointShadowNode
. #29849 (@sunag) - Fix globals usage to improve node support. #29919 (@whatisor)
- Fix integer uniforms. #29976 (@holtsetio)
- Fix viewport/scissor after
copyFramebufferToTexture()
. #29978 (@sunag)
- Make sure default instance of
- WebGPUTextureUtils
- Fix
dispose()
ofVideoTexture
. #29944 (@Mugen87)
- Fix
- WGSLNodeBuilder
- Improve
NearestFilter
support. #29910 (@sunag)
- Improve
Documentation
- Improve
BatchedMesh
page. #29803 (@s-rigaud) - Improve
Clock
page. #29805 (@s-rigaud) - Improve
GLTFExporter
page. #29809 (@Mugen87) - Improve
Renderer
page. #29804 (@s-rigaud) - Fix typo in loader pages. #29848 (@satelllte)
- Improve French translation. #29901, #29902 (@satelllte)
- Improve Korean translation. #29885, #29918 (@mmjinglin163)
Manual
- Fix
loaderArrayLoadRE
regex to allow spaces before square bracket. #29820 (@mrxz)
Examples
- Clean up. #29792, #29877, #29932, #29936, #29972 (@linbingquan, @Mugen87)
- Improve DOM building in
index.html
. #29791 (@linbingquan) - Improve
webgpu_postprocessing_ao
example. #29843 (@Mugen87) - Improve
webgpu_postprocessing_ssr
example. #29878 (@Mugen87) - Improve
webgpu_postprocessing_sobel
example. #29934 (@Mugen87)
Addons
-
ArcballControls
- Add
enableFocus
. #29871 (@kxxhan)
- Add
-
CSMShadowNode
- Remove name collision. #29811 (@Mugen87)
-
DecalGeometry
- Add default parameters. #29868 (@Mugen87)
-
GTAONode
- Add
resolutionScale
. #29826 (@Mugen87)
- Add
-
KTX2Loader
- Fix
minFilter
default for untranscoded compressed textures. #29904 (@donmccurdy)
- Fix
-
LineGeometry
- Override
setFromPoints()
. #29681 (@felixwri)
- Override
-
OrbitControl
- Fixed rotation toggle in
KeyDown
handler. #29834 (@i3ene, @Mugen87)
- Fixed rotation toggle in
-
PointerLockControls
- Remove vendor prefixes for
MouseEvent.movement
props. #29802 (@satelllte)
- Remove vendor prefixes for
-
SceneOptimizer
- Fix
toBatchedMesh()
materials. #29935 (@AlaricBaraou)
- Fix
-
SSRNode
- Add temporary fix for Chrome. #29875 (@Mugen87)
- Support logarithmic depth. #29941 (@Mugen87)
-
StereoCompositePassNode
- Fix state reset/restore. #29806 (@Mugen87)
-
TiledLightsNode
- Fix reflectedLight declaration sequence. #29874 (@sunag)
-
TSL Transpiler
- Adding various fixes. #29958 (@sunag)
-
UVsDebug
- Clean up. #29794 (@linbingquan)
-
WebGPU
- Remove
GPUShaderStage
hack. #29933 (@Mugen87) - Fix navigator usage. #29965 (@Mugen87)
- Remove
Tests
- Use absolute delta value when comparing against tolerance. #29946 (@mrxz)
r170
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r169--r170 https://github.com/mrdoob/three.js/milestone/83?closed=1
- Global
- Move some WebGPU modules from core to addons. #29511 (@Mugen87)
- BatchedMesh
- Add
deleteGeometry()
. #29523 (@gkjohnson) - Add
optimize()
. #29527 (@gkjohnson) - Fix
renderer.info.render
when using multidraw. #29532 (@agargaro) - Add support for resizing instance count, geometry size. #29577 (@gkjohnson)
- Fix cases where calling
optimize()
can result in inconsistent state. #29624 (@gkjohnson) - Consolidate internal geometry information. #29687 (@gkjohnson)
- More cleanup. #29695 (@gkjohnson)
- Add
- BufferGeometry
- Check for existing attribute in
setFromPoints()
. #29696 (@Mugen87)
- Check for existing attribute in
- CDLNode
- Add node class for ASC Color Decision List (CDL) v1.2. #29510 (@donmccurdy)
- ColorManagement
- Add
ColorManagement.define( { ... } )
. #29450 (@donmccurdy) - Fix rendering to linear spaces. #29543 (@donmccurdy)
- Add
- CompressedArrayTexture
- Fix failing on Android and Meta Quest. #29566 (@RenaudRohlinger)
- CylinderGeometry
- Fix case where triangles are missing with multiple height segments. #29728 (@gkjohnson)
- Nodes
- Avoid vector reuse in
luminance()
input. #29540 (@donmccurdy) - Fixes and improvements for
reflector
andgaussianBlur
. #29619 (@sunag)
- Avoid vector reuse in
- NodeMaterial
- Introduce
.geometryNode
and jelly example. #29551 (@sunag) - Add support for
alphaHash
. #29757 (@Mugen87)
- Introduce
- NodeMaterialObserver
- Fix buffer resize when transmission is used. #29735, #29737 (@sunag)
- PassNode
- Clean up. #29733 (@linbingquan)
- PostProcessing
- Only request depth buffer when necessary. #29563 (@Mugen87)
- Harmonize node update type. #29564 (@Mugen87)
- Add
getScreenPosition()
. #29599 (@Mugen87) - Add method for normal reconstruction. #29703 (@Mugen87)
- PhysicalLightingModel
- Cleanup
evalIridescence
. #29702 (@sunag)
- Cleanup
- RectAreaLightNode
- Fix
update()
. #29771 (@Mugen87)
- Fix
- ReflectorNode
- Remove
getTextureNode()
. #29609 (@Mugen87) - Add
getDepthNode()
. #29621 (@Mugen87) - Added missing
nodeObject
. #29627 (@sunag) - Fix projection matrix computation for WebGL. #29630 (@Mugen87)
- Remove
- Renderer
- Added sync
compute()
support. #29547 (@sunag)
- Added sync
- ScriptableNode
- Rename
global
toScriptableNodeResources
. #29736 (@scottmas, @sunag)
- Rename
- ShadowNode
- Separate the shadow map creation and use from
AnalyticLightNode
. #29567 (@aardgoose)
- Separate the shadow map creation and use from
- SpriteNodeMaterial
- Size attenuation support orthographic camera. #29517 (@RenaudRohlinger)
- Texture
- Always generate mipmaps when
generateMipmaps
istrue
. #29677 (@gkjohnson)
- Always generate mipmaps when
- TSL
- Deprecated
temp()
. #29516 (@sunag) - Introduce pointer | WGSL ptr support. #29552 (@sunag)
- Introduce
time
. #29557 (@sunag) - Fix exponential float conversion. #29562 (@sunag)
- Support defined color spaces in
ColorSpaceNode
. #29694 (@donmccurdy) - Add function for BPCEM. #29773 (@Mugen87)
- Deprecated
- Vector4
- Add
divide()
. #29759 (@Mugen87)
- Add
- WebGLBackend
- Fix type conversion in transform feedback. #29554 (@sunag)
- WebGLRenderer
- sRGB decoding for
VideoTexture
emissiveMap
. #29657 (@donmccurdy) - Correctly generate mipmaps for 3D & Array RenderTargets. #29678 (@gkjohnson)
- Support render target textures in
copyTextureToTexture()
. #29662 (@Mugen87) - Copy set of layers when copying 3d texture data. #29699 (@gkjohnson)
- Stable reversed Z buffer implementation. #29579 (@eXponenta)
- Allow for copying 2d targets to and from layers of 3d textures. #29710 (@gkjohnson)
- sRGB decoding for
- WebGLTextures
- Ensure depth texture properties are deleted. #29697 (@Mugen87)
- WebGPURenderer
- Fix
NodeLibrary
logic for minified builds. #29501 (@RenaudRohlinger) - Fixed shadows not rendering correctly with
logarithmicDepthBuffer
. #29447, #29561 (@PoseidonEnergy) - Instance sprite example. #29503 (@RenaudRohlinger)
- Ignore
diagnostic()
method in Deno. #29522 (@Mutefish0) - Add support for renderer without depth and stencil buffers. #29533 (@RenaudRohlinger)
- Fix premultiplied alpha with clear colors. #29538 (@Mugen87)
- Add support for geometry without attributes. #29576 (@RenaudRohlinger)
- Introduce
PostProcessingUtils
. #29595, #29598 (@sunag) - Remove obsolete code. #29596 (@aardgoose)
- Fix missing updates to geometry attributes. #29589 (@RenaudRohlinger)
- Introducing
IndirectStorageBufferAttribute
. #29594 (@Spiri0, @sunag) - Introduce indirect drawing support. #29615 (@sunag)
- Fix uniform/texture index allocation for WebGL backend. #29622 (@aardgoose)
- Remove useless call in WebGL fallback. #29631 (@aardgoose)
- Introduce
TiledLighting
. #29642, #29701, #29722, #29723 (@sunag) - Fix pipeline cache key. #29685 (@sunag)
- Introduce waitForGPU. #29686 (@RenaudRohlinger)
- Add double-side transmission. #29705, #29718 (@sunag)
- Add
wgsl
comment tag. #29709 (@linbingquan) - Support
Scene.backgroundRotation
. #29762 (@Mugen87) - Improve post-rendering usage of
copyFramebufferToTexture()
. #29729 (@sunag)
- Fix
- WebGPUTextureUtils
- Fix usage of
Texture.anisotropy
. #29654 (@Mugen87)
- Fix usage of
- WGSLNodeFunction
- Ignore convertion of unknown types. #29724 (@sunag)
- WebXRManager
- Inherit active layers from camera. #29742 (@mrxz)
Documentation
- Improve documentation about color management. #29545 (@donmccurdy)
- Improve Chinese translation. #29620, #29643 (@ShanHaiSiLu, @puxiao)
- Improve Korean translation. #29649, #29731 (@sungpaks, @seopyoon)
- Docs: Improve Japanese translation. #29665 (@sawa-zen)
- Upgrade
prettify.js
. #29633 (@Mugen87) - Fix typos. #29716 (@s-rigaud)
- Add copy button to non-inline code snippets. #29700 (@snowiewdev)
Manual
- Improve
Prerequisites
page. #29616 (@DevinCLane) - Improve
Lights
page. #29756 (@Nokic233)
Examples
- Clean up. #29513, #29600, #29672, #29738, #29743, #29748 (@linbingquan, @Mugen87)
- Fix shadow map enabled in
webgpu_shadowmap
example. #29520 (@sunag) - Improve
webgl_postprocessing_fxaa
example. #29525 (@linbingquan) - Fix shadow map enabled in
webgpu_instancing_morph
example. #29553 (@sunag) - Fix node imports. #29556 (@sunag)
- Fix
webgpu_particles
example. #29555 (@sunag) - Improve anti-aliasing quality of FXAA implementations. #29524 (@swift502)
- Fix shadows in outline demo. #29565 (@Mugen87)
- Fix
webgpu_tsl_procedural_terrain
warning. #29574 (@sunag) - Added hashBlur and improve
webgpu_backdrop_area
example. #29606, #29614 (@sunag) - Removed unused textures. #29618 (@mrdoob)
- Clean up TSL editor example. #29669 (@donmccurdy)
- Add
*Node
suffix. #29719 (@sunag) - Deprecate MMD modules. #29698 (@Mugen87)
- Remove
CinematicCamera
. #29750 (@Mugen87) - Remove raymarching GLSL demo. #29774 (@Mugen87)
Addons
-
3MFLoader
- Add preliminary support for loading Implicit Functions. #29667 (@zalo)
-
AfterimagePass
- Use copy shader. #29691 (@Mugen87)
-
BloomNode
- Remove redundant clears. #29704 (@Mugen87)
-
CSM
- Add WebGPU version. #29610 (@aardgoose, @Mugen87)
-
CSSRenderer
- Ensure removing CSS objects works within iFrames. #29663 (@yomotsu)
-
DecalGeometry
- Support geometries without normals. #29536 (@Mugen87)
-
FBXLoader
- Improve transparency handling. #29544 (@Mugen87)
-
GaussianBlurNode
- Introduce
premultipliedGaussianBlur
. #29604 (@sunag) - Remove useless check. #29611 (@Mugen87)
- Introduce
-
GLTFExporter
- Add support for
WebGPURenderer
. #29509 (@donmccurdy) - Better defaults for metallic and roughness factors. #29692, 48e6e2ee4e769013b911a079a433aecc2686d5b2 (@Mugen87, @mrdoob)
- Add support for
-
GLTFLoader
- Add KTX2 mime type support in
getImageURIMimeType()
. #29746 (@puxiao)
- Add KTX2 mime type support in
-
GTAONode
- Fix AO with WebGL backend. #29593 (@Mugen87)
-
KTX2Exporter
- Fix metadata, add example. #29541 (@donmccurdy)
-
KTX2Loader
- Support transcoding UASTC HDR to BC6H and RGBA16. #29730 (@donmccurdy)
-
LDrawLoader
- Add WebGPU support. #29752 (@Mugen87)
-
LensflareNode
- Add FX class for bloom-based lens flare effects. #29715 (@Mugen87)
-
NURBSCurve
- Add
toJSON()
andfromJSON()
. #29514 (@canxerian)
- Add
-
OutlineNode
- Add FX class for rendering selective outlines. #29575, #29583 (@Mugen87, @sunag)
-
ProgressiveLightMap
- Remove usage of
THREE
namespace. #29747 (@Mugen87) - Add WebGPU version. #29749 (@Mugen87)
- Remove usage of
-
RectAreaLightTextureLib
- Fix
DataTexture
usage. #29717 (@s-rigaud)
- Fix
-
SMAANode
- Add FX class for Subpixel Morphological Anti-Aliasing. #29559 (@Mugen87)
-
SSAAPassNode
- Clean up. #29647 (@Mugen87)
-
SSRNode
- Add FX class for Screen Space Reflections. #29597, #29605 (@Mugen87)
-
SSRPass
- Ensure metalness pass is not affected by fog and background. #29585 (@Mugen87)
-
TextureHelper
- Add WebGPU version. #29518 (@Mugen87)
-
TRAAPassNode
- Add FX class for Temporal Reprojection Anti-Aliasing. #29636, #29671 (@Mugen87)
-
TransformControls
- Fix
dispose()
. #29512 (@Mugen87) - Add min/max constraints. #29602 (@Makio64)
- Fix
-
USDZExporter
- Add support for WebGPURenderer. #29507 (@Mugen87)
-
WaterMesh
- Fix planar offset - WebGPU. #29626 (@sunag)
-
WebGPUTextureUtils
- Disable uv transform. #29680, #29684 (@Mugen87)
-
Wireframe
- Add WebGPU version. #29534 (@Mugen87)
Node Editor
- Update
flow.module.js
- fix zoom. #29508 (@sunag) - Add
normalMap
node. #29652 (@hybridherbst)
Editor
- Fixed editor not loading on Chrome 129.0.6668.100 due to import maps definitions location. e754fce13603bd7c6d982cb76374722df7e37ce2 (@mrdoob)
r169
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r168--r169 https://github.com/mrdoob/three.js/milestone/82?closed=1
- Global
- Clean up. #29355, #29383 (@linbingquan, @s-rigaud)
- Audio
- Add
delay
parameter tostop()
. #29376 (@tatsmaki)
- Add
- BatchedMesh
- Add
setGeometryIdAt()
andgetGeometryIdAt()
. #29343 (@Makio64) - Add
deleteInstance()
. #29449 (@JordanLane-Veerum) - Add
getGeometryRangeAt()
. #29409 (@agargaro)
- Add
- CacheNode
- Fix parent reference. #29369 (@Mugen87)
- Clock
- Drop fallback to
Date.now()
. #29233 (@satelllte)
- Drop fallback to
- Controls
- Add
null
as default parameter fordomElement
. #29368 (@Mugen87)
- Add
- CylinderGeometry
- Don't add degenerate triangles. #29460 (@gkjohnson)
- InstancedPoints
- Fix texture coordinates. #29396 (@RenaudRohlinger)
- Loader
- Unpack colors to working color space. #29448 (@donmccurdy)
- LOD
- Add
removeLevel()
. #29359 (@JaimeTorrealba, @Mugen87)
- Add
- Node
- Introduce static type. #29282 (@sunag)
- Add
AtomicFunctionNode
. #29385 (@cmhhelgeson) - Access remaining compute builtins. #29469 (@cmhhelgeson)
- NodeBuilder
- Introduce
addFlowCodeHierarchy()
/NodeBlock
. #29495 (@sunag)
- Introduce
- NodeMaterial
- Clean up
Line2NodeMaterial
andInstancedPointsNodeMaterial
. #29319 (@aardgoose)
- Clean up
- PMREMGenerator
- Fix compile methods and background usage. #29297 (@Mugen87)
- Raycaster
- Add barycoord to intersection result, make attribution interpolation more convenient. #29340 (@gkjohnson)
- ReferenceNode
- Fix
null
reference usinggetNodeType()
. #29498 (@sunag)
- Fix
- SpriteMaterial
- Simplify shader. #29397 (@WestLangley)
- SpriteNodeMaterial
- Add
sizeAttenuation
. #29394 (@RenaudRohlinger)
- Add
- StorageArrayElementNode
- Remove check for non-existent property. #29276 (@cmhhelgeson)
- ToonOutlinePassNode
- Add FX pass for toon outlines. #29483 (@Mugen87)
- TSL
- Export color space, tone mapping methods. #29288 (@sunag)
- Remove redundancy in
Normal.js
. #29300 (@sunag) - Introduce
screenUV
,screenSize
,screenCoordinate
andviewport
revision. #29347 (@sunag) - Add
workingToColorSpace
,colorSpaceToWorking
. #29378 (@sunag) - Support
uniformArrays
fromuserData()
and.label()
foruserData()
andreference()
. #29430 (@aardgoose)
- WebGPURenderer
- Sort objects in clip space. #29271 (@RenaudRohlinger)
- Added basic
three.webgpu.nodes.js
. #29273 (@sunag) - Add
BundleGroup
. #29277 (@aardgoose) - Fix material arrays and geometry groups. #29278 (@RenaudRohlinger)
- Fix
normalView
normalize applied at vertex stage. #29280 (@sunag) - Fix
getArrayBufferAsync()
race condition and ensure proper buffer sequencing. #29293 (@RenaudRohlinger) - Sort bind groups and minimize
setBindGroup()
commands. #29256 (@aardgoose) - Compute
modelViewMatrix
using GPU. #29299, #29312 (@sunag) - Ignore
diagnostic()
method in Firefox. #29306 (@sunag) - Add cube face to
readRenderTargetPixelsAsync()
parameters. #29323 (@aardgoose) - Fix
viewportCoordinate
inWebGLBackend
. #29326 (@sunag) - Add support for VSM. #29225 (@Mugen87, @sunag)
- Extract common draw call logic from backends. #29358 (@aardgoose)
- Add depth/layer support to
copyTextureToTexture()
. #29364 (@Spiri0) - Support stencil and depth config parameters. #29371 (@aardgoose)
- Workgroup Arrays and Barrier support. #29192 (@cmhhelgeson)
- Fix
InstancedMesh
init with zero instance. #29399 (@RenaudRohlinger) - Introduce
NodeMaterialObserver
and updates. #29386, #29421 (@sunag, @aardgoose) - Fix
renderGroup.needsUpdate
logic. #29402 (@aardgoose) - Fallback for
alphaToCoverage
ifantialias
is disabled #29395 (@RenaudRohlinger) - Use shared UBOs for common uniform groups for WebGL fallback. #29420 (@aardgoose)
- Add geometry in material cache key. #29427, #29465 (@sunag)
- Add rectangle parameter to
copyFrameBufferTexture()
. #29384 (@aardgoose) - Correct
texelFetch()
texel coordinates in WebGL fallback. #29400 (@aardgoose) - Prevent out of bounds textureLoad access in WGSL. #29470 (@aardgoose)
- Reuse
LightNode
when available. #29480 (@RenaudRohlinger) - Introduce hash-based cache key. #29479 (@sunag)
- Respect the
renderer.shadowMap.enabled
property. #29492 (@aardgoose)
- WebGLRenderer
- Merge update ranges before issuing updates to the GPU. #29189 (@HunterLarco)
- Remove deprecated code. #29298 (@aardgoose)
- Fix feedback loop with RTT read pixels async. #29320 (@gkjohnson)
- Reduce
readRenderTargetPixelsAsync()
latency. #29339 (@aardgoose) - Only compile renderable objects. #29345 (@vanruesc)
- Improve support of integer formats. #29392 (@Mugen87)
- Add reverse-z depth buffer via
EXT_clip_control
. #29445, #29461 (@CodyJasonBennett)
Documentation
- Clean up. #29296 (@Mugen87)
- Add Giro3D to libraries and plugins. #29304 (@vpicavet)
- Improve Chinese translation. #29314, #29406, #29506 (@puxiao, @fengT-T)
- Improve French translation. #29305 (@vpicavet)
- Improve Korean translation. #29290, #29316, #29313 (@appache163, @mym0404)
- Improve
How to update things
guide. #29318 (@Red1C3) - Improve VR guide. #29456 (@Mugen87)
- Improve
WebGLRenderer
page. #29459 (@Mugen87) - Add pages for wide line modules. #29381 (@tommie)
- Fix white flash on iframe load for Safari. #29419 (@JeremyJaydan)
- Added pointer cursor to summary tags. #27837 (@Therobo77)
Manual
- Improve French translation. #29329 (@lhapaipai)
Examples
- Clean up. #29310, #29422, #29431, #29209, #29438, #29473 (@linbingquan, @Mugen87, @WestLangley)
- Improve
webgpu_lights_custom
example. #29279 (@sunag) - Clean up
webgpu_performance_renderbundle
example. #29289 (@sunag) - Fix
webgpu_materials
example using node materials lib. #29291 (@sunag) - Fix some warning messages in physics addons. #29315 (@puxiao)
- Add exposure control to
webgl_tonemapping
example. #29311 (@WestLangley) - Added helpers to light probe examples. #29309 (@WestLangley)
- Improve
webgpu_compute_birds
example. #29334, #29366, #29380 (@mrdoob) - Add
webgpu_animation_retargeting
example. #29338, #29387 (@sunag) - Add
webgpu_compute_water
example. #29147 (@cmhhelgeson) - Add
webgpu_tsl_vfx_linkedparticles
example. #29354 (@ULuIQ12) - Add
webgpu_tonemapping
example. #29363 (@WestLangley) - Remove WebGPU modules from
Addons.js
. #29373 (@Mugen87) - Add underwater transition
webgpu_backdrop_water
example. #29377 (@sunag) - Add
webgpu_animation_retargeting_readyplayer
example. #29428, #29485 (@sunag) - Fix
NodeMaterial
imports. #29477 (@donmccurdy) - Add decal as a child of mesh in
webgl_decals
example. #29486 (@WestLangley) - Improve shadow map size in
webgpu_tsl_angular_slicing
. #29499 (@sunag)
Addons
-
CurveModifier
- Add WebGPU version. #29453 (@aardgoose)
-
DecalGeometry
- Transform normal with normal matrix. #29476 (@WestLangley)
-
Exporters
- Convert from working color space. #29472 (@donmccurdy)
-
EXRExporter
- Add support for
WebGPURenderer
. #29302 (@Mugen87)
- Add support for
-
FBXLoader
- Fix incorrect joint orientation for animated FBX models exported from Maya. #29307 (@mwhirls)
- Remove support for orthographic cameras. #29425 (@Mugen87)
-
GLTFLoader
- Fix sparse normalized. #29330 (@stephomi)
- Remove deprecated code. #29502 (@Mugen87)
-
GPUStatsPanel
- Remove addon. #29317 (@Mugen87)
-
KTX2Exporter
- Add support for WebGPURenderer. #29308 (@Mugen87)
-
KTX2Loader
- Update
ktx-parse
dependency to v0.7.1. #29060 (@yue4u) - Upgrade to Basis Universal v1.50. #29418 (@donmccurdy)
- Add support for
VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT
. #29441 (@donmccurdy)
- Update
-
Lensflare
- Add WebGPU version. #29451, #29458 (@aardgoose, @Mugen87)
-
LightProbeGenerator
- Add support for WebGPURenderer. #29335 (@aardgoose)
-
LightProbeHelper
- Add WebGPU version. #29301, #29303 (@Mugen87)
-
MaterialXLoader
- Implement separate(2|3|4) nodes. #29437 (@aardgoose)
- Add
invert
implementation. #29433 (@beersandrew) - Add
extract
implementation #29443 (@beersandrew)
-
PackedPhongMaterial
- Remove addon. #29382, #29493 (@Mugen87, @eugenehp)
-
SDFGeometryGenerator
- Remove addon. #29281 (@Mugen87)
-
ShadowMapViewer
- Simplify code. #29322 (@Mugen87)
- Add WebGPU version. #29331 (@Mugen87)
-
SkeletonUtils
- Add
getBoneName()
. #29416 (@sunag) - Add
hipInfluence
. #29423 (@sunag) - Add
trim
. #29424 (@sunag)
- Add
-
TextureUtils
- Add WebGPU version. #29348 (@Mugen87)
-
TiltLoader
- Remove addon. #29471 (@Mugen87)
-
Timer
- Drop fallback to
Date.now()
. #29233 (@satelllte)
- Drop fallback to
-
TrackballControls
- Separate mouse action and state logic. #29442 (@Mugen87)
-
TransformControls
- Derive from
Controls
. #29146, #29398 (@Mugen87)
- Derive from
-
XRControllerModelFactory
- Prevent hand input source processing. #29179 (@jorodi)
r168
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r167--r168 https://github.com/mrdoob/three.js/milestone/81?closed=1
- Global
- Clean up. #29050, #29057, #29080, #29088, #29104 (@linbingquan, @aardgoose, @WestLangley)
- Simplify tone mapping nomenclature. #29093 (@WestLangley)
- Background
- Fix update when changing env map. #28966 (@Mugen87)
- BatchedMesh
- Fix
colorsTexture
size. #29061 (@agargaro) - Fix bounding volume calculation. #29243 (@gfodor)
- Fix
- BleachBypassNode
- Add FX class for bleach color effects. #28974 (@cmhhelgeson)
- ContextNode
- Rename
context
tovalue
. #29131 (@sunag)
- Rename
- Controls
- Move into core. #29136 (@Mugen87)
- CubeMapNode
- Add class for auto-conversion of environment maps. #29073 (@Mugen87)
- GLSLNodeBuilder
- Add
enableExtension()
. #28952, #29102 (@cmhhelgeson)
- Add
- InstancedPointsNodeMaterial
- Simplify extension. #29122 (@aardgoose)
- Don't rebuild every frame. #29222 (@aardgoose)
- Add
pointWidthNode
. #29236 (@cmhhelgeson) - Support opacity. #29252 (@RenaudRohlinger)
- LightProbeNode
- Add node class for supporting
LightProbe
withWebGPURenderer
. #29068 (@Mugen87)
- Add node class for supporting
- Material
- Add
onBeforeRender()
back. #29043 (@Mugen87)
- Add
- MaterialX
- Add basic support for
time
andframe
. #29149 (@sunag) - Fix
mx_hsvtorgb
andbrick_procedural
. #29150 (@sunag)
- Add basic support for
- MotionBlurNode
- Add FX class for per-object motion blur. #29058 (@Mugen87, @sunag, @gkjohnson)
- NodeBuilder
- Optional comparison methods. #29049 (@sunag)
- NodeMaterial
- Use
materialReference()
for env maps. #28982 (@Mugen87, @sunag) - Added support to custom MRT depth. #29117 (@sunag)
- Does not crash if there is no
colorNode
. #29141 (@sunag)
- Use
- Nodes
- Remove keywords. #29129 (@sunag)
- Add anaglyph and parallax barrier pass nodes. #29184, #29201 (@Mugen87, @cmhhelgeson)
- Add
invocationLocalIndex
. #29202 (@cmhhelgeson)
- OperatorNode
- Maintain variable types in comparison. #29194 (@cmhhelgeson)
- PassNode
- Support for access previous frame textures. #29069 (@sunag)
- PMREMNode
- Only generate PMREM with ready image data. #28970, #29044 (@Mugen87)
- SepiaNode
- Add FX class for sepia effect. #28961, #28991, #29130 (@cmhhelgeson, @sunag, @WestLangley)
- ShaderNode
- Remove
isArrayInput
. #29205 (@wcandillon)
- Remove
- SSAAPassNode
- Add FX class for Super-Sampling Anti-Aliasing. #29106, #29119 (@Mugen87, @sunag)
- StereoPassNode
- Add FX class for stereoscopic rendering. #29173 (@Mugen87)
- ToneMappingNode
- Properly handle alpha. #29076 (@WestLangley)
- Adhere to consistent capitalization. #29091 (@WestLangley)
- Remove the default value for
toneMapping
. #29101 (@WestLangley)
- TSL
- Add
spherizeUV()
. #28976 (@sunag) - Rename
uniforms()
touniformArray()
. #28910, #28979 (@cmhhelgeson, @Mugen87) - Introduce
billboarding()
. #29011 (@sunag) - Introduce
viewportSafeUV()
. #29025, #29067 (@sunag) - Flow control function names revision. #29064, #29090 (@sunag, @aardgoose)
- Remove
stack
parameter ofFn()
. #29070 (@sunag) - Rename
remainder()
tomodInt()
. #29092 (@cmhhelgeson) - Deferred function call and
once()
. #29121 (@sunag) - Support instancing and skinning without normals. #29134 (@RenaudRohlinger)
- Use TSL approach in more modules. #29178, #29188 (@sunag)
- Introduce
flip*()
syntax. #29208 (@sunag) - Rename
viewportTopLeft
toviewportUV
. #29211, #29241 (@sunag) - Prevent
viewportBottomLeft
breaking change and cleanup. #29223 (@RenaudRohlinger) - Color space revision. #29248, #29259 (@sunag)
- Add
- VelocityNode
- Add component for rendering motion vectors per fragment. #29058 (@Mugen87, @sunag, @gkjohnson)
- ViewportDepthNode
- Fix
material.depthNode=depth
assign. #29116 (@sunag)
- Fix
- WebGLRenderer
- Add support for changing the assigned render target depth texture. #28584 (@gkjohnson)
- WebGPUPipelineUtils
- Fix blending with premultiplied alpha. #29100 (@Mugen87)
- WebGPURenderer
- Add
debug.getShaderAsync()
. #28997, #29001, #29010 (@Mugen87, @sunag) - Apply
Scene.environment
only on PBR materials. #29033 (@Mugen87) - Fix instance meshes that shares the same count. #29066 (@RenaudRohlinger)
- Enable subgroup directives/builtins. #29053 (@cmhhelgeson)
- Only use PMREM for background when blurriness is configured. #29089 (@Mugen87)
- Avoid using proxy in rendering cycle. #29094 (@sunag)
- Premultiply alpha for clear color. #29103 (@Mugen87)
- Manual shadow update control via
shadow.needsUpdate
. #29110 (@RenaudRohlinger) - WebGL State improvements. #29132 (@RenaudRohlinger)
- Don't create duplicate shader programs in the WebGL fallback renderer. #29135 (@aardgoose)
- New normal nodes approach. #29137 (@sunag)
- Fix scissor with MSAA for WebGL backend. #29148 (@aardgoose)
- Fix
generateMipmaps()
in texture layers for WebGPU backend. #29151 (@sunag) - Fix occlusion when rendering to a texture with WebGL backend. #29154 (@aardgoose)
- Fix linear filter textures w/o mipmaps. #29172 (@RenaudRohlinger)
- Fix
BatchedMesh
with indexed geometry. #29174 (@RenaudRohlinger) - Remove redundant code. #29176, #29186 (@aardgoose)
- Align WebGL backend extensions initialization with
WebGLRenderer
. #29177 (@RenaudRohlinger) - Cache
GPUBindGroupLayouts
. #29158 (@aardgoose, @sunag) - Support filterable Float32 textures in WebGPU. #29175 (@RenaudRohlinger)
BatchedMesh
colors support. #29203 (@RenaudRohlinger)- Reduce
bindingGroup
creation for data texture content updates. #29183 (@aardgoose) - Use material name or type to label WebGPU pipelines, add names to Nodes internal materials. #29217 (@aardgoose)
- Get fallback approach. #29218 (@sunag)
- Use
getPreferredCanvasFormat()
. #29221 (@sunag) - Fix sync
NodeFrame
state if render call tree are used. #29230 (@sunag) - Improve
clippingContext
cache key. #29232 (@aardgoose) - Support Compressed Texture Array. #29231 (@RenaudRohlinger)
- Remove duplicate const. #29237 (@aardgoose)
- Improve Tree-shaking. #29187, #29250 (@sunag)
- Add signature to shader. #29240 (@WestLangley)
getCache()
&trackTimestamp
check optimization. #29245 (@aardgoose)- Rework to use a single renderBundle per
Group.static
object. #29239 (@aardgoose) - Move viewport and scissor to WebGPU convention - top-left. #29249 (@sunag)
- Fix wrong color space for video textures in WebGL backend. #29254 (@RenaudRohlinger)
- Ensure correct pixel storage parameters in WebGL backend. #29255 (@RenaudRohlinger)
- Add
- WebXRManager
- Avoid invalid projection matrices when using depth sensing. #29120 (@mrxz)
- WGSLNodeBuilder
- Fix
pow()
with negative base on Windows. #28971 (@sunag) - Fix WGSL vertex code directive typo. #29023 (@cmhhelgeson)
- Fix
Documentation
- Improve
Audio
page. #29099 (@mrxz) - Improve Chinese translation. #28965, #29107, #29123, #29229 (@Uiwzen, @puxiao, @appache163)
- Improve
Creating a scene
guide. #29118 (@KURELLANAVEEN)
Examples
- Clean up. #29014, #29086, #29157 (@WestLangley, @0b5vr, @Mugen87)
- Add
webgpu_tsl_vfx_flames
example. (@brunosimon) - Update
webgpu_mrt_mask
imports. #28972 (@sunag) - Add
webgpu_shadowmap_opacity
example. #28973 (@sunag) - Add
webgpu_tsl_coffee_smoke
example. #28967 (@brunosimon) - Add
webgpu_tsl_compute_attractors_particles
example. #28983 (@brunosimon) - Add
webgpu_tsl_halftone
example. #28998 (@brunosimon) - Add
webgpu_tsl_raging_sea
example. #29000 (@brunosimon) - Fix flickering/black screen on Apple devices with
webgpu_mesh_batch
. #29002 (@Mugen87) - Add
webgpu_tsl_earth
example. #29003 (@brunosimon) - Add
webgpu_tsl_procedural_terrain
example. #28999 (@brunosimon) - Add
webgpu_postprocessing_masking
example. #29016 (@sunag) - Add
webgpu_tsl_angular_slicing
example. #29007 (@brunosimon) - Add
webgpu_tsl_vfx_tornado
example. #29020 (@brunosimon) - Revert "scroll to currently selected example in the sidebar". #29042 (@Mugen87)
- Improve
webgpu_morphtargets_face
example. #29047 (@Mugen87) - Add performance comparison examples for WebGL and WebGPU renderers. #29077 (@RenaudRohlinger)
- Use
FullScreenQuad
in effect addons. #29126 (@Mugen87) - Add
webgpu_compute_birds
example. #29081 (@cmhhelgeson) - Update tags. #29155 (@cmhhelgeson)
- Remove curvature estimation demo. #29171 (@Mugen87)
- Improve
webgl_texture2darray_layerupdate
example. #29190 (@HunterLarco) - Simplify bloom emissive demo. #29215 (@Mugen87)
- Remove
LogLuvLoader
. #29144 (@mrdoob)
Addons
-
AnimationClipCreator
- Fix timeStep logic in
CreateMaterialColorAnimation()
. #29111 (@JiDW)
- Fix timeStep logic in
-
ArcballControls
- Derive from
Controls
. #29109 (@Mugen87)
- Derive from
-
BleachBypassShader
- Use
luminance()
. #29056 (@Mugen87)
- Use
-
DragControls
- Refactor API. #29079 (@Mugen87)
-
FirstPersonControls
- Derive from
Controls
. #29097 (@Mugen87)
- Derive from
-
FlyControls
- Derive from
Controls
. #29095 (@Mugen87)
- Derive from
-
GLTFExporter
- Preventing to write
null
forattenuationDistance
. #29035 (@Cold5tar)
- Preventing to write
-
KTX2Loader
- Add
parse()
method for direct buffer processing. #28936 (@laddish)
- Add
-
LightProbeHelper
- Clean up. #29166 (@WestLangley)
-
OrbitControls
- Derive from Controls. #29142 (@Mugen87)
-
OutlinePass
- Improve performance of
VisibilityChangeCallBack()
. #29220 (@Barokoli, @Mugen87)
- Improve performance of
-
PCDLoader
- Fix regex to match header fields at line start. #29196 (@lenville)
-
PointerLockControls
- Derive from
Controls
. #29085 (@Mugen87)
- Derive from
-
RapierPhysics
- Add triangular mesh collider. #28993 (@ferminLR)
-
RoomEnvironment
- Remove obsolete
renderer
parameter. #29048 (@Mugen87)
- Remove obsolete
-
SkyMesh
- Add
WebGPURenderer
version ofSky
. #29013, #29015 (@Mugen87, @sunag) - Rename
up
property to avoid name collision. #29199 (@Methuselah96)
- Add
-
SSAARender
- Add property to control the stencil buffer. #29082 (@gdu041)
-
StereoEffect
- Handle clear differently. #29125 (@Mugen87)
-
TrackballControls
- Derive from Controls. #29124 (@Mugen87)
-
USDZExporter
- Improve material export. #29216 (@LynX39)
-
WaterMesh
- Add
WebGPURenderer
version ofWater
. #29019, #29029 (@Mugen87)
- Add
-
Water2Mesh
- Add
WebGPURenderer
version ofWater
. #29027 (@Mugen87)
- Add
-
WebGL
- Deprecate
isWebGLAvailable()
andgetWebGLErrorMessage()
. #29153 (@Mugen87)
- Deprecate
Node Editor
- Fix imports. #28987 (@Mugen87)
- Make sure scene is properly resetted. #28992 (@Mugen87)
Editor
- Add Korean language. #29022 (@shinjeongmin)
- Remove unused method
moveObject()
. #29078 (@s-rigaud)
r167
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r166--r167 https://github.com/mrdoob/three.js/milestone/80?closed=1
- Global
- Add
three.webgpu.js
andthree.webgpu.min.js
builds. #28650, #28769 (@sunag) - Fix code style. #28888, #28891, #28899, #28907 (@linbingquan, @Mugen87, @sunag, @aardgoose)
- Add
- BatchedMesh
- Correctly clone data textures. #28805 (@lanvada)
- Box2, Box3
- Escape ternary condition in
containsPoint()
andintersectsBox()
. #28871, #28872 (@satelllte)
- Escape ternary condition in
- BloomNode
- Add FX class for Unreal bloom. #28903 (@Mugen87)
- ColorAdjustmentNode
- Correct
lumaCoeffs
. #28861 (@Mugen87)
- Correct
- ColorManagement
- Add
getLuminanceCoefficients()
. #28880 (@donmccurdy)
- Add
- CubeTextureNode
- Support
CubeRefractionMapping
. #28823, #28935 (@Mugen87, @sunag)
- Support
- DepthOfFieldNode
- Update API and and example. #28772 (@sunag)
- DenoiseNode
- Add FX class for applying poisson denoise. #28879, #28882, #28886 (@Mugen87)
- DotScreenNode
- Fix
updateBefore()
. #28885 (@Mugen87)
- Fix
- FilmNode
- Add FX class for film grain effects. #28770 (@Mugen87)
- FXAANode
- Add FX class for Fast approximate anti-aliasing. #28859 (@Mugen87)
- GLSLNodeBuilder
- Remove
Int16Array
check fromgetTypeFromAttribute()
. #28920 (@Mugen87)
- Remove
- GTAONode
- Add FX class for Ground Truth Ambient Occlusion. #28844, #28851, #28852, #28883 (@Mugen87)
- InstancedMesh
- Add initial value to
setColorAt()
method. #28854 (@lanvada)
- Add initial value to
- LightingModel
- Refactor indirect lighting. #28824 (@sunag)
- Lut3DNode.
- Add FX class for using 3D LUTs for color grading. #28779 (@Mugen87)
- MathNode
- Add
rand()
. #28765 (@Mugen87)
- Add
- Matrix2
- Add new class. #28923 (@gkjohnson)
- MeshBasicNodeMaterial
- Add
envMap
support. #28795, #28798 (@Mugen87, @sunag) - Add
lightMap
support. #28821 (@Mugen87) - Fix
transformedNormalView
. #28839 (@Mugen87)
- Add
- MRTNode
- Remove array support and add
getNode()
. #28914 (@sunag)
- Remove array support and add
- NodeMaterial
- Fix
envMap
for lambert and phong. #28812 (@Mugen87) - Honor
lightMapIntensity
. #28814 (@Mugen87) - Honor
aoMapIntensity
. #28817 (@Mugen87) - Honor
ambientOcclusion
in basic, lambert, phong and toon. #28819, #28822 (@Mugen87) - Honor
emissiveIntensity
. #28924 (@Mugen87) - Add
setupOutgoingLight()
. #28941 (@Mugen87)
- Fix
- Nodes
- Add missing export. #28760 (@RenaudRohlinger)
- Fix serialization/deserialization. #28944, #28946 (@Mugen87)
- ObjectLoader
- Add missing call in
parseAsync()
. #28777 (@Mugen87)
- Add missing call in
- PixelationNode
- Add FX class for pixelation effects. #28802 (@cmhhelgeson)
- PostProcessing
- Introduce
renderOutput()
. #28781 (@sunag) - Add MSAA support. #28784 (@RenaudRohlinger)
- Share context between RTT. #28811 (@sunag)
- Auto-MRT. #28833 (@sunag)
- Add missing
dispose()
methods in effects. #28892 (@Mugen87) - Honor pixel ratio in effects. #28895 (@Mugen87)
- Cache linear depth and
viewZ
of depth textures inPassNode
. #28922 (@cmhhelgeson)
- Introduce
- Renderer
- Move
quad
out of module scope. #28800 (@Mugen87) - Use output color space conversion only when rendering to screen. #28909 (@Mugen87)
- Move
- RGBShiftNode
- Clean up. #28764 (@Mugen87)
- RTTNode
- Introduce
node.toTexture()
andrtt()
. #28773, #28778 (@sunag, @Mugen87)
- Introduce
- ScriptableNode
- Fix
getCacheKey()
. #28964 (@sunag)
- Fix
- Shaders
- Improve packing. #28789 (@WestLangley)
- TextureNode
- Add
biasNode
. #28786, #28787, #28792 (@Mugen87, @sunag, @RenaudRohlinger) - Fix texture matrix reference. #28801 (@sunag)
- Rename
_matrixValue
to_matrixUniform
. #28809 (@sunag)
- Add
- TransitionNode
- Add FX class for scene transitions. #28847 (@cmhhelgeson)
- TSL
- Add matrix conversion. #28890 (@z4122)
- Add missing types in
wgslFn
. #28928 (@sunag)
- WebGLRenderer
- Revert the removal of redundant clear in transmission pass. #28806 (@Mugen87)
- Use
warnOnce()
for deprecation log. #28904 (@davcri) - Support
GLBufferAttribute
withInterleavedBufferAttribute
. #28956 (@nkallen)
- WebGLUniformsGroups
- Fix buffer offset calculation. #28834 (@Mugen87)
- WebGPUBindingUtils
- Define sampleType for all data textures consistently. #28940 (@Mugen87)
- WebGPURenderer
BatchMesh
support for instanced rendering with sorting, frustum culling. #28753 (@RenaudRohlinger)- Fix individual bind group cache. #28790 (@sunag)
- Extend max workgroups capabilities. #28846 (@RenaudRohlinger)
- Fix calculation of
instanceIndex
in compute shaders. #28865 (@RenaudRohlinger) - Fix shadows on objects with
receiveShadow=false
. #28874 (@RenaudRohlinger) - Correct shadows on material rebuilding. #28889 (@aardgoose)
- Fix edge case when video data is unavailable. #28894 (@aardgoose)
- Remove deprecated
Node.construct()
method. #28902 (@aardgoose) - Introduce
renderer.transparent
andrenderer.opaque
. #28900 (@sunag) - Add enable Directive, enable extension support. #28615 (@cmhhelgeson)
- Add background names. #28911 (@sunag)
- Fix render target dispose and MRT. #28912 (@sunag)
- Align integer attribute check of WebGL backend. #28918 (@Mugen87)
- Instance mesh use binding group instead of attribute. #28726 (@z4122)
- Add
PCFShadowMap
support. #28926 (@Mugen87, @sunag) - Support to dynamic
light.castShadow
. #28945 (@sunag)
Documentation
- Remove redundant definitions. #28860 (@Mugen87)
- Expand
aoMapIntensity
description. #28917 (@donmccurdy)
Examples
- Clean up. #28808, #28832, #28864, #28925, #28929, #28943 (@tomhsiao1260, @WestLangley, @Mugen87, @Methuselah96)
- Add
webgpu_refraction
example. #28761, #28766 (@Mugen87, @RenaudRohlinger) - Restore look of particle snow demo. #28799 (@Mugen87)
- Improve the slider in the wide gamut example. #28810 (@WestLangley)
- Fix wrong color space in
webgpu_equirectangular
example. #28828 (@Mugen87) - Scroll to currently selected example in the sidebar. #28837 (@aardgoose)
- Update exports in
Addons
. #28916 (@Methuselah96) - Add
webgpu_tsl_galaxy
example. #28955 (@brunosimon)
Addons
-
GLTFExporter
- Set
willReadFrequently
totrue
when using Canvas 2d. #28893 (@myznikovgleb) - Remove unnecessary early return. #28938 (@POPOBE97)
- Set
-
SimplifyModifier
- Fix missing import. #28763 (@yfunk)
-
SSAOPass
- Fix debug output. #28762 (@Mugen87)
-
Transpiler
- Fix
shader_toy
example and updatethree/tsl
import. #28788 (@sunag)
- Fix
-
UltraHDRLoader
- Add new loader for loading UltraHDR textures. #28825, #28845, #28932 (@mjurczyk, @Methuselah96)
-
VTKLoader
- Add support for
AppendedData
. #28816 (@Mt-Youya)
- Add support for