Releases: mrdoob/three.js
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
- BatchedMesh
- Fix
toJSON()
,ObjectLoader
integration. #30965 (@gkjohnson)
- Fix
- CapsuleGeometry
- ExtrudeGeometry
- Fix regression introduced with last release. #30822 (@mlasala45)
- LightsNode
- NodeMaterial
- NodeMaterialObserver
- RenderTarget
- 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
- WebGLRenderer
- 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
- XRManager
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
. 2cb9218 (@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
-
AfterImageNode
-
GLTFLoader
-
IFFParser
-
ImprovedNoise
- Use
MathUtils.lerp()
. #30905 (@satelllte)
- Use
-
LottieLoader
-
MD2CharacterComplex
-
OutlinePass
- Fix using with BatchedMesh. #30952 (@luigidenora)
-
PointerLockControls
- Constant for mouse sensitivity #30966 (@satelllte)
-
RapierPhysics
- Add heightfield support. #30906 (@andytriboletti)
-
RoomEnvironment
-
TileShadowNode
- Fix shadow manual update. #30863 (@RenaudRohlinger)
-
TSLTranspiler
-
Water2Mesh
Editor
r175
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r174--r175
https://github.com/mrdoob/three.js/milestone/88?closed=1
- Global
- AnalyticLightNode
- AnimationClip
- ArrayElementNode
- AtomicFunctionNode
- Attributes
- Backend
- BufferGeometry
- Controls
- Earcut
- Copy mapbox/earcut file into core libs. #30756 (@gkjohnson)
- ExtrudeGeometry
- Automatically clean shape data. #30750 (@mlasala45)
- FileLoader
- ImageUtils
- Material
- MorphNode
- NodeBuilder
- NodeMaterial
- OperatorNode
- Renderer
- ShadowMaskModel
- TextureNode
- 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
- WebGLRenderer
- WebGPUAttributeUtils
- WebGPUBackend
- WebGPUConstants
- 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
- XRManager
Manual
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
-
AnimationClipCreator
-
AsciiEffect
-
CSMShader
-
EXRLoader
-
GLTFExporter
-
GLTFLoader
-
LDrawLoader
-
LUTImageLoader
-
LWOLoader
-
MD2Loader
-
OculusHandModel
-
ProgressiveLightMapGPU
-
PointerLockControls
- Add
unadjustedMovementoption
tolock()
. #30687 (@james090500)
- Add
-
USDZExporter
-
USDZLoader
-
ViewHelper
- Adjust viewport position for WebGPU renderer. #30735 (@Child-qjj)
-
VolumeSlice
Editor
r174
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r173--r174
https://github.com/mrdoob/three.js/milestone/87?closed=1
- Global
- Animation
- BatchedMesh
- Deprecate old instancing render paths. #30550 (@gkjohnson)
- GLSLNodeBuilder
- MeshNormalNodeMaterial
- Convert packed normal to working color space. #30590 (@WestLangley, @cmhhelgeson)
- PMREMGenerator
- PMREMNode
- Renderer
- Disable autoClear in the output pass. #30454 (@Mugen87)
- Return self in
init()
. #30556 (@CodyJasonBennett)
- RenderTarget
- SpriteNodeMaterial
- StructTypeNode
- TSL
- WebGLBackend
- WebGLRenderer
- Assign
currentRenderState
inrenderer.compile()
. #30607 (@cmhhelgeson)
- Assign
- WebGPUBackend
- 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
Manual
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
-
CCDIKSolver
-
DDSLoader
-
FBXLoader
- Handle out-of-bounds material assignments. #30581 (@hybridherbst)
-
MTLLoader
- Add support for displacement maps. #30508 (@krotalias)
-
OutlinePass
-
Raymarching
-
Reflector
-
SelectionHelper
-
Timer
-
TSL Transpiler
r173
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r172--r173
https://github.com/mrdoob/three.js/milestone/86?closed=1
- Global
- BatchedMesh
- Fix bug in
deleteGeometry()
. #30304 (@jonathanzopes)
- Fix bug in
- ChainMap
- ConstNode
- EventDispatcher
- Geometries
- GLSLNodeBuilder
- ImageUtils
- Line
- Fix index on intersection. #30424 (@jonathanzopes)
- NodeBuilder
- NodeBuilderState
- Nodes
- NodeMaterialObserver
- NodeUtils
- PMREMGenerator
- PointsNodeMaterial
- PostProcessing
- RenderContexts
- Renderer
- RenderObject
- 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
- VideoFrameTexture
- WebGLBackend
- WebGLBackground
- WebGPUAttributeUtils
- WebGPUBackend
- 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
- WebXRManager
- XRManager
- XRRenderTarget
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
RawShaderMaterial
page. #30431 (@atul-mourya) - 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
-
InteractiveGroup
-
MeshGouraudMaterial
-
OutputPass
- Support
THREE.CustomToneMapping
. #30335 (@samposoft)
- Support
-
TextGeometry
-
TSLEncoder
-
WaterMesh
r172
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r171--r172
https://github.com/mrdoob/three.js/milestone/85?closed=1
- Global
- CameraHelper
- Fix usage with WebGPU. #30136 (@AlaricBaraou)
- ConditionalNode
- GaussianBlurNode
- Fix custom uv #30232 Merged
- LightsNode
- Line2NodeMaterial
- LineDashedNodeMaterial
- Node
- Nodes
- NodeUtils
- PMREMGenerator
- PropertyBinding
- ReflectorNode
- RendererUtils
- ShadowBaseNode
- ShadowNode
- SkinningNode
- TextureNode
- 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) - Use correct
elementType
withWorkgroupInfoNode
. #30222 (@RenaudRohlinger
- UniformArrayNode
- Add support for
mat2
,mat3
andmat4
types. #30051 (@holtsetio) - Fix
getNodeType()
. #30058 (@sunag)
- Add support for
- UniformGroup
- WebGLRenderer
- Add transmission render target scale. #30018 (@michaeldll)
- Allow for binding and rendering into a 2d render target mipmap. #29844 (@gkjohnson)
- WebGLTextureUtils
- 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
- WGSLNodeBuilder
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
ConvexHull
page. #30239 (@ycw) - Improve
Loader
page. #29999 (@NeelDigonto) - Improve
Material
page. #30043, #30059, #30121, #30118, #30233, #30235 (@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
-
LineSegments2
-
OrbitControls
- Add
keyRotateSpeed
. #29988 (@bbsimong)
- Add
-
TiledLightsNode
Tests
Node Editor
- Improve imports. #29998 (@linbingquan)
Editor
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
- 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
- BlendModes
- BufferGeometry
- ColorManagement
- Support treeshaking. #29816 (@linbingquan)
- GLSLNodeBuilder
- Line2NodeMaterial
- Materials
- Revert static types of builtins materials. #29789 (@RenaudRohlinger)
- NodeMaterial
- PMREMGenerator
- PostProcessing
- Renderer
- RenderObjects
- Spherical
- Use
MathUtils.clamp()
formakeSafe()
. #29824 (@linbingquan)
- Use
- TSL
- Vector2/3/4
- Use
MathUtils.clamp()
internally. #29812, #29929 (@satelllte, @mrdoob)
- Use
- WebGLBackground
- WebGLGeometries
- 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) - Add
SpotLight.map
support. #29989 (@sunag) - Shadow fixes. #29991 (@sunag)
- Add missing export
NodeAccess
. #29993 (@RenaudRohlinger) - Add video and storage 2D Texture
textureLoad()
support. #29992 (@RenaudRohlinger)
- Make sure default instance of
- WebGPUTextureUtils
- WGSLNodeBuilder
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
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) - Fix loader config in
webgl_renderer_pathtracer
. #29987 (@Zelif)
Addons
-
ArcballControls
-
CSMShadowNode
-
DecalGeometry
-
GTAONode
-
KTX2Loader
- Fix
minFilter
default for untranscoded compressed textures. #29904 (@donmccurdy)
- Fix
-
LineGeometry
-
OrbitControl
-
PointerLockControls
- Remove vendor prefixes for
MouseEvent.movement
props. #29802 (@satelllte)
- Remove vendor prefixes for
-
SceneOptimizer
- Fix
toBatchedMesh()
materials. #29935 (@AlaricBaraou)
- Fix
-
SSRNode
-
StereoCompositePassNode
-
TiledLightsNode
-
TSL Transpiler
-
UVsDebug
- Clean up. #29794 (@linbingquan)
-
WebGPU
Tests
r170
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r169--r170
https://github.com/mrdoob/three.js/milestone/83?closed=1
- Global
- 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
- 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
- NodeMaterialObserver
- PassNode
- Clean up. #29733 (@linbingquan)
- PostProcessing
- PhysicalLightingModel
- RectAreaLightNode
- ReflectorNode
- Renderer
- ScriptableNode
- 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
- Vector4
- Add
divide()
. #29759 (@kristiker)
- Add
- WebGLBackend
- 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
- 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) - WebGPURenderer: Handle Device Lost Event. #29767 (@RenaudRohlinger)
- Fix
- WebGPUTextureUtils
- WGSLNodeFunction
- WebXRManager
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
-
AfterimagePass
-
BloomNode
-
CSM
- Add WebGPU version. #29610 (@aardgoose, @Mugen87)
-
CSSRenderer
-
DecalGeometry
-
FBXLoader
-
GaussianBlurNode
-
GLTFExporter
-
GLTFLoader
-
GTAONode
-
KTX2Exporter
- Fix metadata, add example. #29541 (@donmccurdy)
-
KTX2Loader
- Support transcoding UASTC HDR to BC6H and RGBA16. #29730 (@donmccurdy)
-
LDrawLoader
-
LensflareNode
-
NURBSCurve
- Add
toJSON()
andfromJSON()
. #29514 (@canxerian)
- Add
-
OutlineNode
-
ProgressiveLightMap
-
RectAreaLightTextureLib
-
SMAANode
-
SSAAPassNode
-
SSRNode
-
SSRPass
-
TextureHelper
-
TRAAPassNode
-
TransformControls
-
USDZExporter
-
WaterMesh
-
WebGPUTextureUtils
-
Wireframe
Node Editor
- Update
flow.module.js
- fix zoom. #29508 (@sunag) - Add
normalMap
node. #29652 (@hybridherbst)
Editor
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
- BatchedMesh
- CacheNode
- Clock
- Drop fallback to
Date.now()
. #29233 (@satelllte)
- Drop fallback to
- Controls
- 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
- NodeMaterial
- Clean up
Line2NodeMaterial
andInstancedPointsNodeMaterial
. #29319 (@aardgoose)
- Clean up
- PMREMGenerator
- Raycaster
- Add barycoord to intersection result, make attribution interpolation more convenient. #29340 (@gkjohnson)
- ReferenceNode
- SpriteMaterial
- Simplify shader. #29397 (@WestLangley)
- SpriteNodeMaterial
- Add
sizeAttenuation
. #29394 (@RenaudRohlinger)
- Add
- StorageArrayElementNode
- Remove check for non-existent property. #29276 (@cmhhelgeson)
- ToonOutlinePassNode
- 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
-
FBXLoader
-
GLTFLoader
-
GPUStatsPanel
-
KTX2Exporter
-
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
-
MaterialXLoader
- Implement separate(2|3|4) nodes. #29437 (@aardgoose)
- Add
invert
implementation. #29433 (@beersandrew) - Add
extract
implementation #29443 (@beersandrew)
-
PackedPhongMaterial
-
SDFGeometryGenerator
-
ShadowMapViewer
-
SkeletonUtils
-
TextureUtils
-
TiltLoader
-
Timer
- Drop fallback to
Date.now()
. #29233 (@satelllte)
- Drop fallback to
-
TrackballControls
-
TransformControls
-
XRControllerModelFactory
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
- BatchedMesh
- BleachBypassNode
- Add FX class for bleach color effects. #28974 (@cmhhelgeson)
- ContextNode
- Controls
- CubeMapNode
- 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
- Material
- MaterialX
- MotionBlurNode
- Add FX class for per-object motion blur. #29058 (@Mugen87, @sunag, @gkjohnson)
- NodeBuilder
- NodeMaterial
- 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
- PMREMNode
- SepiaNode
- Add FX class for sepia effect. #28961, #28991, #29130 (@cmhhelgeson, @sunag, @WestLangley)
- ShaderNode
- Remove
isArrayInput
. #29205 (@wcandillon)
- Remove
- SSAAPassNode
- StereoPassNode
- 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
- WebGLRenderer
- Add support for changing the assigned render target depth texture. #28584 (@gkjohnson)
- WebGPUPipelineUtils
- 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)
- Cache
textureViews
for reuse inbindGroup
. #29257, #29261 (@aardgoose, @sunag)
- Add
- WebXRManager
- 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) - Fixed smoothstep usage failing to compile in Chrome Beta. #29265 (@mrdoob)
Addons
-
AnimationClipCreator
-
ArcballControls
-
BleachBypassShader
-
DragControls
-
FirstPersonControls
-
FlyControls
-
GLTFExporter
-
KTX2Loader
-
LightProbeHelper
- Clean up. #29166 (@WestLangley)
-
OrbitControls
-
OutlinePass
-
PCDLoader
-
PointerLockControls
-
RapierPhysics
-
RoomEnvironment
- Remove obsolete `render...
r167
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r166--r167
https://github.com/mrdoob/three.js/milestone/80?closed=1
- Global
- BatchedMesh
- Box2, Box3
- Escape ternary condition in
containsPoint()
andintersectsBox()
. #28871, #28872 (@satelllte)
- Escape ternary condition in
- BloomNode
- ColorAdjustmentNode
- ColorManagement
- Add
getLuminanceCoefficients()
. #28880 (@donmccurdy)
- Add
- CubeTextureNode
- DepthOfFieldNode
- DenoiseNode
- DotScreenNode
- FilmNode
- FXAANode
- GLSLNodeBuilder
- GTAONode
- InstancedMesh
- LightingModel
- Lut3DNode.
- MathNode
- Matrix2
- Add new class. #28923 (@gkjohnson)
- MeshBasicNodeMaterial
- MRTNode
- 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
- 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
- RGBShiftNode
- RTTNode
- ScriptableNode
- Shaders
- Improve packing. #28789 (@WestLangley)
- TextureNode
- TransitionNode
- Add FX class for scene transitions. #28847 (@cmhhelgeson)
- TSL
- WebGLRenderer
- WebGLUniformsGroups
- WebGPUBindingUtils
- 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) - Add
PCFSoftShadowMap
support. #28951 (@Mugen87, @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
-
SSAOPass
-
TextureUtils
-
Transpiler
-
UltraHDRLoader
- Add new loader for loading UltraHDR textures. #28825, #28845, #28932 (@mjurczyk, @Methuselah96)
-
VTKLoader