Releases: mrdoob/three.js
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
r166
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r165--r166
https://github.com/mrdoob/three.js/milestone/79?closed=1
- BatchedMesh
- Add support for instanced rendering with sorting, frustum culling. #28456, #28462 (@gkjohnson)
- Avoid primitive restart values in index array. #28641 (@donmccurdy)
- Update references to
BatchedMesh.maxGeometryCount
. #28694 (@Methuselah96)
- CompressedArrayTexture
- Rename
addLayerUpdates()
toaddLayerUpdate()
. #28679 (@HunterLarco) - Support all texture formats in
addLayerUpdate()
. #28654 (@HunterLarco)
- Rename
- Light
- LightShadow
- Add
intensity
. #28588 (@Mugen87, @WestLangley)
- Add
- Material
- Object3D
- Respect
matrixWorldAutoUpdate
in matrix update methods. #28533 (@CodyJasonBennett)
- Respect
- TextureUtils
- Add
contain()
,cover()
andfill()
. #28713 (@Mugen87, @WestLangley, @abernier)
- Add
- WebGLRenderer
- Sort objects in clip space. #28474, #28571 (@eiriklegernaes)
- Add missing parameters to
copyTextureToTexture()
. #28663 (@gkjohnson)
- WebGLUniforms
- Assign
compareFunction
lazily to retain tree-shaking. #28670 (@CodyJasonBennett)
- Assign
- WebXRManager
Documentation
- Fix broken links. #28536, #28590, #28715 (@Mugen87, @YasharSL)
- Improve Chinese translation. #28550, #28561, #28576, #28619, #28621, #28622, #28626, #28625, #28634, #28643, #28657 (@appache163, @mmjinglin163, @ycw)
- Improve WebGL compatibilty guide. #28630 (@Mugen87)
- Improve
GLTFExporter
page. #28649 (@trusktr) - Improve
Material
page. #28750 (@satelllte) - Add page for
TeapotGeometry
. #28633, #28664 (@hongchristopher, @Mugen87)
Examples
- Clean up. #28540 (@linbingquan)
- Revert tween.js upgrade. #28554 (@Mugen87)
- Remove broken iCCP chunks in some PNG files. #28564 (@chirsz-ever)
- Add
webgpu_tsl_interoperability
example. #28379, #28706 (@cmhhelgeson, @Methuselah96) - Don't accumulate tiny translations in
games_fps
example. #28662 (@ycw) - Replace
./jsm/
in import statements withthree/addon
. #28724 (@chirsz-ever) - Fix
webgpu_storage_buffer
example. #28729 (@sunag)
-
FBXLoader
- Support more texture formats. #28515 (@catalin-enache)
-
GLTFLoader
- Use
ImageBitmapLoader
in Safari >= 17. #28560, #28712 (@paugit, @RenaudRohlinger)
- Use
-
GPUComputationRenderer
-
Node
- Introduce
updateAfter()
. #28552 (@RenaudRohlinger) - Introduces cache hierarchy. #28585 (@sunag)
- Add cache hierachy to
StorageBufferNode
. #28607 (@RenaudRohlinger) - Add
SobelOperatorNode
. #28733 (@Mugen87) - Revision
linearDepth
property inPassNode
. #28737 (@sunag) - Add
DepthOfFieldNode
. #28740 (@Mugen87) - Fix
setUsage()
on non-InterleavedBuffer inBufferAttributeNode
. #28742 (@RenaudRohlinger) - Add
DotScreenNode
andRGBShiftNode
. #28755 (@Mugen87)
- Introduce
-
RenderTransitionPass
-
SSAOPass
-
TSL
- Add
transpose()
function. #28539 (@aardgoose) - Fix
label()
usage inuniform()
. #28548 (@sunag) - Fix float over float conversion. #28562 (@sunag)
- Add
Return
expression. #28595 (@RenaudRohlinger) - Support int/uint in
UniformsNode
. #28666, #28667 (@RenaudRohlinger) - Respect types in WGSL layouts. #28669 (@RenaudRohlinger)
wgslFn
added alias and revision. #28680, #28686, #28687 (@sunag, @cmhhelgeson)- Fix WGSL Functions using wrong type. #28690 (@RenaudRohlinger)
- Improve tree shaking support. #28707 (@sunag)
- Operator - Left to right associativity. #28709 (@sunag)
- Bidirectional associative. #28710 (@sunag)
- Update MaterialX library. #28711 (@sunag)
- Support non-dynamic matrice update. #28716 (@RenaudRohlinger)
- UniformsNode aligned TypedArray to format. #28723 (@RenaudRohlinger)
- Depth nodes revision. #28720 (@sunag)
- Improve
range()
size. #28745 (@sunag) - Fix analyze in
varying()
. #28746 (@sunag)
- Add
-
USDZLoader
-
ViewHelper
-
WebGPURenderer
- Clean up. #28717 (@RenaudRohlinger)
- Cache the result of
gl.getExtension()
calls as intended. #28553 (@aardgoose) - Introduce
PostProcessing.needsUpdate
. #28583 (@sunag) - Remove redundant check for instance support. #28596 (@aardgoose)
- Add support for
NeutralToneMapping
. #28609 (@Mugen87) - Int/Uint Support to StorageBufferNode in
WebGLBackend
. #28606 (@RenaudRohlinger) RectAreaLight
support. #28580 (@aardgoose)- Allow using StorageBuffer directly as attribute in nodes. #28620 (@RenaudRohlinger)
- Fix Storage Buffer fallback in
WebGLBackend
. #28644 (@RenaudRohlinger) - Override alpha channel to 1 for opaque materials. #28646 (@RenaudRohlinger)
- Enhance GLSL Error in
WebGLBackend
. #28594 (@RenaudRohlinger) - Add missing parameters to
copyTextureToTexture()
inWebGLBackend
. #28676 (@sunag) - Introduce
biquadraticTexture
filtering. #28673 (@sunag) - Revision texture filtering and rain example. #28682 (@sunag)
- Remove
.isInstancedMesh
needs. #28683 (@sunag) - Fix uniform update tests. #28698 (@sunag)
- Update attribute only when needed. #28701 (@RenaudRohlinger)
- Optimize interleaved buffer update. #28704 (@z4122)
- Introduce Bind Groups. #28705 (@sunag)
- Fix
fog=false
and snow example. #28718 (@sunag) - Fix StorageBuffer fallback in
WebGLBackend
. #28722 (@RenaudRohlinger) - Bind groups cache per renderer. #28730 (@sunag)
- Improve performances for trackTimestamp in WebGPU. #28741 (@sunag)
- Read/Write only Storage Buffer creation. #28435 (@cmhhelgeson)
- Fix Light+NormalMaterial. #28747 (@sunag)
- Improve performance tracking logic for better accuracy. #28748 (@RenaudRohlinger)
Editor
- Alerts if invalid material is found when rendering image in
REALISTIC
. #28518 (@ycw) - Update
three-gpu-pathtracer
to0.0.23
. #28587 (@ycw) - Add shadow intensity support. #28597, #28604 (@Mugen87, @ycw)
- Fixed warning message typo in
sw.js
. #28603 (@ycw) - Introduce
SetShadowValueCommand
. #28608, #28616 (@Mugen87, @ycw) - Fix UI of geometry generators when undo/redo. #28610 (@Mugen87)
- Dispose object's helper when removing helper. #28614 (@ycw)
- Fixed wrong UI element for "Cap Seg". #28612 (@ycw)
- Sync
VertexNormalHelper
with geometry. #28613 (@ycw) - Remove
<!-- includes -->
replacement code when publish app. #28627 (@ycw) - Refresh geometry UI only if needed. #28624 (@ycw)
- Fix undo/redo of points. #28677 (@Mugen87)
- Remove reference to
targetInverse
. #28721 (@Mugen87)
r165
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r164--r165
https://github.com/mrdoob/three.js/milestone/78?closed=1
- Global
- Add eslint to renovate bot's denylist. #28356 (@donmccurdy)
- BatchedMesh
- Add
getColorAt()
andsetColorAt()
. #28255, #28417, #28416 (@Kikedao, @aardgoose, @gkjohnson) - Fix radix sort stability. #28401 (@gkjohnson)
- Add
- DepthTexture
- Use ES6 default parameters. #28367 (@linbingquan)
- Update depth + stencil textures to work with multi sample RTT, make formats consistent. #28460 (@gkjohnson)
- FileLoader
- KeyframeTrack
- LoaderUtils
- Raycaster
- Add ability to stop propagation. #27709, #28520 (@AlaricBaraou, @mrdoob)
- Texture
- Add
layerUpdates
in array textures. #27972 (@HunterLarco)
- Add
- WebGLExtensions
- WebGLRenderer
- Add
readRenderTargetPixelsAsync()
. #28291 (@gkjohnson) - Enable subframe upload in
copyTextureToTexture()
, align API to 3d version. #28281 (@gkjohnson) - Add
initRenderTarget()
. #28285, #28308 (@gkjohnson) - Simplify morph target code. #28388 (@Mugen87)
- Fix incorrect background color space when setting
Scene.background
to color. #28434, #28447 (@gkjohnson, @Mugen87) - Ensure correct clear after transmission. #28445, #28446 (@Mugen87)
- Remove deprecated
useLegacyLights
. #28482 (@aardgoose) - Fix WebXR depth sensing. #28530 (@cabanier)
- Add
Documentation
- Improve
SceneUtils
page. #28234 (@Mugen87) - Improve
Creating a scene
guide. #28269 (@Mugen87) - Improve
InstancedMesh
page. #28415 (@finnbear) - Improve
WebGLRenderer
page. #28307, #28478 (@Mugen87, @sundaramseth) - Add
EdgeSplitModifier
page. #28516 (@JaimeTorrealba) - Add
Sky
page. #28529 (@JaimeTorrealba) - Improve Chinese translation. #28528 (@leedom92)
Examples
- Clean up. #28419, #28476 (@Methuselah96)
- Remove unused render pass in
examples/webgpu_multiple_rendertargets_readback
example. #28219 (@aardgoose) - More usage of
setAnimationLoop()
. #28236, #28241, #28250, #28257 (@Mugen87) - Update dependencies in
webgl_renderer_pathtracer
example. #28233, #28279 (@gkjohnson) - Fix WebGPU logarithmic depth buffer demo. #28249 (@Mugen87)
- Remove need for manually assigning
Line2
material resolution. #28343 (@gkjohnson) - Upgrade tween.module.js to
23.1.2
. #28391 (@linbingquan) - Sort
webgpu_*
alphabetically and renamedwebgl2_*
towebgl_*
. 1603f76 (@mrdoob) - Improve
webgpu_lights_custom
example. f0f0e19 (@mrdoob)
-
BufferGeometryUtils
- Fix
mergeVertices()
to handle morph attributes. #28441 (@catalin-enache)
- Fix
-
CSS2DRenderer
-
CSS3DRenderer
-
CurveModifier
-
DRACOLoader
-
FBXLoader
- Fixed morph attributes to match base geometry length. #28397 (@catalin-enache)
-
GLTFLoader
- Assign extras to texture. #28226 (@harrycollin)
-
GPUStatsPanel
-
LDrawLoader:
-
MMDLoader
- Detect model extension from file content. #28266 (@YusakuNo1)
-
NodeBuilder
- Clean up. #28506, #28508(@Methuselah96)
-
RenderPass
-
SortUtils
-
TransformControls
-
TSL
- Adding
toType()
conversion. #28344 (@sunag) AttributeNode
.defaultNode
asdefaultValue
. #28406 (@sunag)VaryingNode
support forsetup()
. #28407 (@sunag)- Improve tree shaking using TSL in node classes. #28408, #28410, #28422, #28510, #28511 (@sunag)
- Fix
tslFn()
output type called before build. #28409 (@sunag) - Introduce
modelWorldMatrixInverse
. #28433 (@sunag) - Node - Introduce
getElementType()
. #28437 (@sunag) - Fix Math/Operators fail generate cache with same node. #28502 (@sunag)
- Introduce
.toGlobal
. #28503 (@sunag) - Fix twice flow node in
VaryingNode
. #28504 (@sunag) - Analyze lights and auto generate cache. #28509 (@sunag)
- Adding
-
USDZExporter
- Make including anchoring properties optional. #28363 (@vincentfretin)
-
ViewHelper
-
WebGPURenderer
- Implement displacement map for materials. #28246 (@aardgoose)
- Add
MeshMatcapNodeMaterial
. #28259, #28274 (@aardgoose, @sunag) - Update sampler bindings on texture change. #28268 (@aardgoose)
- Add
MeshToonNodeMaterial
. #28235 (@aardgoose) - Don't share
normalViewMatrix
between render passes. #28283 (@aardgoose) - Add
copyTextureToTexture()
subframe upload and new API. #28315 (@RenaudRohlinger) - Update
copyFramebufferToTexture()
function signature. #28329 (@RenaudRohlinger) NodeMaterial
extendsMaterial
. #28313 (@sunag)- Export
texturePass
node. #28359 (@RenaudRohlinger) - Update viewport node on RENDER. #28370 (@aardgoose)
- Add temporary fix for texture binding. #28402 (@RenaudRohlinger)
- Fix tone mapping in
AfterImageNode
. #28442 (@RenaudRohlinger) - Introduce dispersion. #28439 (@sunag)
- Support using 3d textures in shaders with
texture3d()
and addVolumeNodeMaterial
and examples. #28418 (@aardgoose) - Fix shadow layers. #28451 (@sunag)
- Remove deprecated method
getArrayBuffer()
. #28481 (@aardgoose) - Export
texture3D()
. #28484 (@RenaudRohlinger) - Handle more internal formats for textures. #28483 (@RenaudRohlinger)
- Fix custom blending. #28490 (@RenaudRohlinger)
- Clean up
ChainMap
. #28492 (@Methuselah96) - Clean up
Uniform
. #28500 (@Methuselah96) - Clean up
Pipelines
. #28495 (@Methuselah96) - Avoid object creation in
PassNode.updateBefore()
. #28505 (@aardgoose) - Fix
clearcoatRoughness
. #28507 (@sunag) - Fix rendering to depth textures with multiple color attachments. #28523 (@aardgoose)
- Apply color space/tone mapping if required in
clear()
. #28521 (@aardgoose) - Read only and read/write storage textures. #28455 (@cmhhelgeson)
Test
Editor
- Update path tracer to latest version. #28239, #28280 (@gkjohnson, @ycw)
- Use precise transaction mode. #28243 (@ycw)
- Fix viewport penetrates tabbed panel issue. #28244 (@ycw)
- Fix unreadable text in viewport. #28253 (@ycw)
- Fix ghost background and environment issue in a New-ed app. #28251 (@ycw)
- Fix outliner's low contrast issue in dark theme. #28248 (@ycw)
- Fix units ignore plural rules issue. #28245 (@ycw)
- Initialize UIs in user preferred language on the first run. #28254 (@ycw)
- Fix ESlint problems. #28261 (@ycw)
- Fix non-localized prompt messages. #28260 (@ycw)
- Not pollute Number's prototype. #28262 (@ycw)
- Add dedicated
.eslintrc.json
. #28271 (@ycw) - Fix
type
inSetMaterialVectorCommand
. #28276 (@ycw) - Use
FullScreenQuad
forUITexture
. #28273 (@linbingquan) - Fix non-localized history entries. #28275 (@ycw)
- Fix object changes out-of-sync with outliner options. #28270 (@ycw)
- Fix ghost viewport camera. #28277 (@ycw)
- Fix viewport camera selector out of sync. #28297 (@ycw)
- Set cursor to not-allowed for inactive menubar options. #28298 (@ycw)
- Fixed missing unit in background rotation control. #28299 (@ycw)
- Tidy up, no
keyCode
,createEvent
andsubstr
. #28304, #28305, #28303 (@ycw) - Fix uncaught exception with invalid environment/background setting. #28300 (@ycw)
- Fix camera name is always 'Camera' when recovering from indexedDB. #28309 (@ycw)
- Added submenu navigation. #28311, #28316, #28325, #28352, #28384, 9f81b72, cc9a249, c857c1e, cf29a58, 3468145, 65c4c27, c5ae348, b2e1389, 97fcd3c (@ycw, @mrdoob)
- Fix assets lost when importing zipped OBJ/MTL. #28292 (@ycw)
- Fix gizmo not update when switching local/global space. #28317 (@ycw)
- Fix selected object unselected when recovering. #28318 (@ycw)
- Hide irrelevant tabs for better UX. #28287 (@ycw)
- Fix Undo/Redo are both active when history is empty. #28332 (@ycw)
- Fixed missing export of
SetMaterialRangeCommand
. #28338 (@ycw) - Set filename for SVG files. #28340, #28368 (@linbingquan, @ycw)
- Fix camera UUID lost when recovering. #28337 (@ycw)
- Fix TODO: Bind lexical this. #28357 (@ycw)
- Fix persistent history. #28361, #28405 (@ycw, @Mugen87)
- Export JSON = Download. #28221 (@ycw)
- Remove useless service worker asset. #28371 (@linbingquan)
- Remove useless question mark. #28374 (@linbingquan)
- Fix
Sidebar.Geometry.ExtrudeGeometry.js
. #28373 (@linbingquan) - Added Save and Open. #28351 (@ycw)
- Avoid
SetSceneCommnd
when importing file. #28339 (@ycw) - Visualize the resizer. #28264 (@ycw)
- Fix wrong camera aspect ratio when window resized for REALISTIC shading. #28412 (@ycw)
- Fix script editor title out-of-sync. #28413 (@ycw)
- Submenu title should ignore active state. #28424 (@ycw)
- Fix unhandled material array when ...
r164
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r163--r164
https://github.com/mrdoob/three.js/milestone/77?closed=1
- Global
- BatchedMesh
- Add
getInstanceCount()
/setInstanceCount()
methods for instanced multi-draw. #28103 (@CodyJasonBennett)
- Add
- FileLoader
- Line
- MeshPhysicalMaterial
- PMREMGenerator
- RenderTarget
- WebGLBackground
- WebGLCapabilities
- Add
textureTypeReadable()
andtextureFormatReadable()
. #28087 (@sguimmara)
- Add
- WebGLRenderer
- Use ETC2 for ETC1 textures. #28021 (@Mugen87)
- Clean up tone mapping shaders. #28084 (@WestLangley)
- Let
transmissionRenderTarget
size match relevant viewport size. #28088 (@mrxz) - Prerender transmission pass(es). #28097 (@mrxz, @cabanier)
- Fix global clipping planes with nested render calls. #28120 (@Mugen87)
- Discard depth after rendering to
transmissionRenderTarget
. #28132 (@mrxz) copyTextureToTexture3D()
depth fix and exclusive approach. #28154 (@RenaudRohlinger)- Simplify
getContext()
. #28186 (@vitch) - Don't support double-sided, transmissive objects with
WEBGL_multisampled_render_to_texture
. #28196 (@Mugen87)
- WebGLShadowMap
- Clean up. #28194 (@linbingquan)
- WebGLTextures
Documentation
- Improve
Libraries and Plugins
guide. #28077, #28085 (@atul-mourya, @Mugen87) - Improve
Post-Processing
guide. #28168 (@atul-mourya) - Improve
Object3D
page. #28145 (@Mugen87) - Improve
Plane
page. #28153 (@Mugen87) - Improve
WebGLRendererTarget
page. #28112 (@Mugen87) - Improve Chinese translation. #28040, #28159 (@moshuying, @lreebom)
- Improve Korean translation. #28090, #28123 (@eunjios, @kdby-io)
- Remove
THREE
prefix from several addon uses. #28105 (@0b5vr)
Manual
- Improve Chinese translation. #28076 (@HonorableLeon)
Examples
- Clean up. #28121, #28213 (@linbingquan)
- Remove lensflares from VR sandbox demo. #28110 (@Mugen87)
- Added Jolt physics example. #28023, 0adce30 (@mrdoob, @ycw, @Mugen87)
- Use
FullScreenQuad
forwebgl_postprocessing_crossfade
example. #28171 (@linbingquan) - Add resize event listener for
webgl_postprocessing_crossfade
example. #28172 (@linbingquan) - Fix
monaco-editor
. #28201 (@sunag) - Fix
webgpu_loader_materialx
example. 7c449d8 (@mrdoob) - Add
webgpu_multiple_rendertargets_readback
example. #28211 (@Spiri0, @sunag)
-
CCDIKSolver
- Allow specifying sphere size in
createHelper()
. #28147 (@Psychpsyo)
- Allow specifying sphere size in
-
EXRLoader
-
GLTFExporter
- Fix missing clearcoat normal map scale. #28099 (@Mugen87)
- Include
three.js
version in generator string. #28137, 28222 (@donmccurdy, @RemusMar)
-
KTX2Loader
-
Line2NodeMaterial
- Simplify extension. #28160 (@aardgoose)
-
LWOLoader
-
MeshGouraudMaterial
-
NodeMaterial
- Clean up. #28185 (@linbingquan)
- Remove
WebGLNodeBuilder
. #28167, #28173 (@sunag, @aardgoose)
-
Octree
-
OculusHandModel
-
RenderTransitionPass
- Add new class for transition effects. #28174, #28207 (@linbingquan)
-
SceneUtils
- Add generator-based traversal methods. #28053 (@HoloTheDrunk)
-
TSL
-
USDZExporter
-
VRMLLoader
-
WebGPURenderer
- Add batch texture to
cacheKey
. #28039 (@RenaudRohlinger) - Add missing Z axis to
viewportCoordinate
. #28041 (@RenaudRohlinger) - Forward
depthNode
to shadows. #28042 (@RenaudRohlinger) - Apply
setupDepth
even iffragmentNode
isn'tnull
. #28043 (@RenaudRohlinger) - Fix
viewZToPerspectiveDepth
. #28045 (@RenaudRohlinger) - Add
textureGrad
support. #28048 (@RenaudRohlinger) - Add support for multisampling in
copyFramebufferToTexture()
. #28054 (@sunag) - Add
aoNode
toNodeMaterial
. #28061 (@RenaudRohlinger) - Fix
faceDirection
inWebGLBackend
if usedBackSide
. #28064 (@sunag) - Introduce compute geometry. #28072 (@sunag)
- Transmission - Backdrop 3/3. #27880 (@sunag)
- Fix
specularF90
ofMeshStandardMaterial
. #28138 (@sunag) - Fix
receiveShadow
and introduceshadowPositionNode
. #28146 (@RenaudRohlinger) - Fix calculation of array buffer size copying texture to buffer. #28161 (@aardgoose)
- Fix group draw range. #28163 (@sunag)
- Added
lightMap
support #28164 (@sunag) - Use
textureGrad
for PMREMs. #28181 (@sunag) - Support
specularColorMap
. #28155 (@susiwen8) - Allows the device to be created externally. #28192 (@chirsz-ever)
- Fix
D_BlinnPhong
. #28199 (@susiwen8) - Add
ShadowMaterial
support. #28200 (@sunag) - Allow specifying texture index for MRT in
readRenderTargetPixelsAsync()
. #28197 (@Spiri0) - Remove unnecessary use of
GPUAdapter
. #28217 (@sunag, @chirsz-ever) - Wait for device initialization in
hasFeatureAsync()
. #28218 (@sunag)
- Add batch texture to
-
XRHandModelFactory
Node Editor
- Clean up. #28095 (@sunag)
- Fix animation loop reference. #28093 (@sunag)
- Fix NodePrototypes being available across load/save-cycles. #28030 (@abc013)
- Revision mat*/bool color and json matrix* types. #28094 (@sunag)
- Implement a split screen. #27784 (@abc013)
- Use
devicePixelRatio
. 5cfc5db (@mrdoob) - Fix
PreviewEditor
. #28223 (@sunag)
Editor
- Clean up. #28183 (@linbingquan)
- Make
IOR
configurable. #28028 (@Mugen87) - Remove IFC support. #28108 (@harryhjsh)
- Clean up grid code and improve colors. cd38537 (@mrdoob)
- Use importmap in
app/index.html
. #28195 (@linbingquan) - Fix glTF assets with external KTX2 textures. #28206 (@Mugen87)
r163
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r162--r163
https://github.com/mrdoob/three.js/milestone/76?closed=1
- Global
- AnimationClip
- BatchedMesh
- InstancedMesh
- Add clone and dispose support for
morphTexture
. #27952 (@RenaudRohlinger)
- Add clone and dispose support for
- Object3D
- PMREMGenerator
- PointLight
- Scene
- Introduce
environmentIntensity
. #27903 (@WestLangley)
- Introduce
- ShaderLib
- Clean up. #27936 (@WestLangley)
- Spherical
- Texture
- UniformsUtils
- WebGLProgram
- WebGLRenderer
- Remove WebGL 1 support. #27836, #27853, #27855, #27969 (@Mugen87)
- Check for
EXT_color_buffer_float
for transmission. #27761 (@susiwen8) - Fix transmission with nested render calls. #27886 (@Mugen87)
- Set
stencil
tofalse
by default. #27900, #27908 (@Mugen87, @RenaudRohlinger) - Enable stencil with transmission. #27921 (@Mugen87)
- Update Neutral tone mapper. #27925 (@elalish)
- Add support for
WEBGL_render_shared_exponent
. #27992 (@Mugen87)
Documentation
- Improve
AnimationMixer
page. #27914 (@trusktr) - Improve
BatchedMesh
page. #28004 (@marwie) - Improve
InstancedMesh
page. #27946 (@seantai) - Improve
Material
page. #27923 (@atul-mourya) - Improve Chinese translation. #28003 (@moshuying)
Manual
- Fix GPU picking demo. #27866 (@Mugen87)
- Improve post processing page. #27884 (@SADYX)
- Fix links in Chinese translation. #27966, #27991 (@angelscat, @SADYX)
- Remove 3D LUT guide. #27977 (@Mugen87)
Examples
- Clean up. #27961, #27975, #27997 (@Mugen87, @Methuselah96)
- Remove WebGL 1 related code. #27856, #27858, #27860, #27941, #27974, #27983 (@Mugen87, @Methuselah96, @WestLangley)
- Correction to texture colorspace in
webgpu_parallax_uv
example. #27874 (@donmccurdy) - Update
fflate
. #27883 (@Methuselah96) - Fix translation snap unit in
misc_controls_transform
. #27959 (@Mugen87) - Some revision of WebGPU examples. #28011 (@sunag)
- Simplified
webgl_loader_texture_hdrjpg
example. 156cb35 (@mrdoob) - Improved
physics_rapier_instancing
example. 8416704 (@mrdoob) - Fix warning in
webgpu_multiple_rendertargets
example. #28015 (@sunag) - Using
pmremTexture()
instead ofcubeTexture()
in WebGPU examples. #27829, #27951 (@sunag, @RenaudRohlinger)
-
3MFLoader
-
EXRLoader
-
GLTFExporter
- Allow
OffscreenCanvas
as image source. #27872 (@strunkie30) - Missing required padding on integer vertex attributes. #27064 (@grzesiekmq, @takahirox)
- Allow
-
GLTFLoader
-
HTMLMesh
- Do not render the
script
tag. #27953 (@Elettrotecnica)
- Do not render the
-
LUTPass
-
Node
-
NodeMaterial
-
Renderer
- Move await methods to
renderAsync()
. #27939 (@RenaudRohlinger)
- Move await methods to
-
RenderObject
-
ShaderNode
-
TextGeometry
-
TextureNode
-
TextureUtils
- Fix typo
frustrum
tofrustum
. #27970 (@RenaudRohlinger)
- Fix typo
-
TransformControls
-
USDZExporter
- Add support for vertex colors. #27943 (@Bigguysahaj)
-
WebGPURenderer
- Add PMREM support. #27829, #27951 (@sunag, @RenaudRohlinger)
QuadMesh
extended fromMesh
. #27875 (@sunag)- Add Timestamp Queries WebGL fallback support. #27870 (@RenaudRohlinger)
- Add
copyTextureToTexture()
support. #27888 (@RenaudRohlinger) - Use
renderAsync()
as fallback. #27894 (@sunag) - Improve Infos logic. #27889, #27994 (@RenaudRohlinger)
- Apply fog before tonemapping and encoding. #27850 (@sunag)
- Support
Scene.backgroundIntensity
. #27918 (@susiwen8) - Supports instanced color and morph target via
InstancedMesh
. #27928 (@RenaudRohlinger) - Improve support int/uint textures. #27932 (@sunag)
- Support
BatchedMesh
. #27937 (@RenaudRohlinger) - Apply batching matrice before instancing and expand multiDraw support. #27950 (@RenaudRohlinger)
- Sync
Scene.environmentIntensity
. #27958 (@susiwen8) - Reuse meshes in
PMREMGenerator
andpmremVersion
logic. #27988 (@sunag) - Add (u)int16 Support. #28008, #28009 (@RenaudRohlinger, @sunag)
Node Editor
Editor
- Clean up. #27881 (@Mugen87)
- Update path tracer environment and background selectively. #27847 (@gkjohnson)
- Fixed pathtracer background blurriness. #27852 (@mrdoob)
- Geometry, material and object export json in
UTF-8
. #27938, c96c6bd (@ycw, @mrdoob) - Fix
center
command. #27940 (@Mugen87) - Use more
three/addons/*
alias. #27967 (@Kalinundefined) - Add Japanese translation. #27976 (@Hashory)
r162
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r161--r162
https://github.com/mrdoob/three.js/milestone/75?closed=1
- Global
- BufferGeometry
- EllipseCurve
- Use ES6 default parameters in
getPoint()
. #27677 (@linbingquan)
- Use ES6 default parameters in
- Float64BufferAttribute
- InstancedMesh
- Material
- Fix
emissiveIntensity
not persisting. #27769 (@connorgmeehan)
- Fix
- Object3D
- Add
childadded
andchildremoved
events. #16934, #27754 (@gkjohnson)
- Add
- PMREMGenerator
- Clarify image size limitations. #27764 (@WestLangley)
- Quaternion
- Correct
random()
. #27724 (@WestLangley)
- Correct
- ββRaycaster
- RenderTarget
- Add
count
option for MRT. DeprecateWebGLMultipleRenderTargets
. #26427 (@CodyJasonBennett)
- Add
- ShaderChunk
- Clean up. #27671 (@CodyJasonBennett)
- SpotLightHelper
- Fix offset when adjusting the scene / parent position. #27487 (@gkjohnson)
- Vector3
- Correct
randomDirection()
. #27725 (@WestLangley)
- Correct
- WebGLRenderer
- Remove unnecessary
__hasExternalTextures
check. #27684 (@susiwen8) - Change scissor, viewport functions to use
round()
instead offloor()
. #27703 (@gkjohnson) - Add support for Khronos Neutral Tone Mapping. #27668, #27717 (@elalish, @Mugen87)
- Fixed compressed partial update on
texture3D
. #27771 (@RenaudRohlinger) - Add support for rotating env maps. #27758, #27785, #27787 (@Mugen87, @WestLangley)
- Remove unnecessary
- WebGLState
- WebGLTextures
Documentation
- Improve
GLTFLoader
page. #27676, #27678 (@aardvarkk, @Mugen87) - Improve
GridHelper
page. #27817, #27830 (@trusktr, @Mugen87) - Improve
Matrix Transformations
guide. #27714 (@jo-chemla) - Improve
MeshPhysicalMaterial
page. #27740 (@Mugen87) - Improve
Object3D
page. #27755 (@Mugen87) - Improve Chinese translations. #27657, #27813 (@puxiao)
- Better explain bounding volumes. #27744 (@Mugen87, @WestLangley)
Manual
Examples
- Clean up. #27711, #27795 (@Mugen87, @Methuselah96)
- Remove unnecessary
clear()
inwebgl_camera
example. #27665 (@WestLangley) - Update
tween.js
. #27670 (@Methuselah96) - Fix spot light distance in
webgl_lights_spotlight
example. #27721 (@Mugen87) - Update import map dependency versions. #27800 (@gkjohnson)
- Add eye rotation to
webgl_morphtargets_webcam
example. #27781 (@vis-prime) - Add
webxr_xr_controls_transform
example. #27845 (@mrdoob)
-
3DMLoader
-
BlendModeNode
-
CondNode
-
DragControls
-
GLTFExporter
-
InteractiveGroup
-
MorphNode
-
Node
-
OrbitControls
- Add missing epsilon to change check. #27620 (@jteppinette)
- Handle duplicated
pointerId
. #27748 (@sciecode) - Ensure
interceptControlDown()
listener is removed indispose()
. #27778 (@IvanLi-CN) - Fix zoom-changed detection. #27834 (@sciecode)
-
ProgressiveLightMap
-
SkeletonUtils
- Fix
retargetClip()
duration and last frame handling. #27653 (@AlaricBaraou)
- Fix
-
StorageArrayElementNode
-
StorageInstancedBufferAttribute
-
TSL
- Add
uniforms
syntax. #27706 (@sunag) return
,Continue
,Break
- Part 1. #27726 (@sunag)- Add
parallaxUV
syntax. #27739 (@sunag) - Support for split assignment. #27796, #27797 (@sunag)
- Fix duplicate assignments. #27798 (@sunag)
- Add
all
,any
andequals
syntax. #27821 (@sunag) - Fix
tslFn
generate in isolated cache. #27844 (@sunag)
- Add
-
VOXLoader
-
VRMLLoader
-
WebGPURenderer
- Support reading external elements in the WebGL Backend. #27661 (@RenaudRohlinger)
- Fix
vec2
andvec3
forstorageObject
inStorageBufferNode
. #27697 (@RenaudRohlinger) - Fix attribute data getting reset when using
vec3
in WebGPU. #27708 (@RenaudRohlinger) - Support clipping. #27691 (@aardgoose)
- Add support for non-instanced meshes to
StorageBuffer
. #27712 (@RenaudRohlinger) - Fix
isStorageInstancedBufferAttribute
usage. #27737 (@sunag) - Fix update attribute in WebGL Backend. #27751 (@RenaudRohlinger)
- Better skinning performance. #27753 (@sunag)
- Fix flipY
Data*Texture
. #27815 (@sunag) getTextureLevel()
of background should multiplymaxMipLevel
. #27820 (@susiwen8)- Fix call
clear()
before rendering. #27835 (@sunag) - Define
setAnimationLoop()
as default in examples. #27839 (@sunag) - Added sync
render()
/clear()
. #27840 (@sunag)
-
WebXR
-
WGLSLNodeBuilder
-
XRControllerModelFactory
Node Editor
Editor
- Clean up. ec25730, f933950, 7847e6b (@mrdoob)
- Fully migrate
EditorControls
to Pointer Events. #27745, #27749 (@Mugen87) - Remove VR code from
App.js
. #27772 (@mrdoob) - Use WebXR's
offerSession()
. when available. #27773 (@mrdoob) - Unify app Config/Play/Publish into a single panel in SideBar. #27775 (@mrdoob)
- Render video in a popup. #27776 (@mrdoob)
signals.transformModeChanged
callsrender()
now. #27777 (@linbingquan)- Update realistic viewport packages. #27780 (@gkjohnson)
- Add background rotation support. #27790 (@mrdoob)
- Improve XR mode. #27802, 0bf3908, 6b50ba4 (@mrdoob)
- Add cache to
UITexture
. 74d7dc8 (@mrdoob) - Move
menubar/edit/clear_history
tosidebar/history/clear
. 8a321b5 (@mrdoob) - Move export Geometry/Object/Scene to Sidebar. 109c87f (@mrdoob)
- Increase sidebar panel width from 300px to 350px. ba3e2fc (@mrdoob)
- Improve video render UX on mobile. 2315ae8 (@mrdoob)
- Improve
UINumber
andUIInteger
behavior. f9a97ef (@mrdoob) - Add menubar workaround for VisionOS. 88f5aaa (@mrdoob)
- Improve
Viewport.Info
. 4654223 (@mrdoob)
r161
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r160--r161
https://github.com/mrdoob/three.js/milestone/74?closed=1
- Global
- Remove deprecated code. #27480, #27467 (@CodyJasonBennett, @Mugen87)
- Remove deprecated build files. #27507 (@gkjohnson)
- Audio
- BatchedMesh
- Fix active not being accounted for, bounding box functions returning incorrect fields. #27484 (@gkjohnson)
- BufferAttribute
- Use
warnOnce()
for deprecated methods. #27595 (@hybridherbst)
- Use
- InterleavedBufferAttribute
- Add get / set component methods. #27590 (@gkjohnson)
- Material
- Add alpha to coverage define, add clipping & alpha test anti aliasing. #22172 (@gkjohnson)
- PerspectiveCamera
- Add
getViewBounds()
andgetViewSize()
. #27574, #27605 (@Bug-Reaper, @WestLangley)
- Add
- Source
- WebGLAttributes
- Add
.updateRange
deprecation comment. #27550 (@LeviPesin)
- Add
- WebGLCubeMaps
- WebGLProgram
- Show which shader caused compilation error. #27553, #27565 (@hybridherbst, @Mugen87)
- WebGLPrograms
- WebGLRenderer
- Add required gamut mapping for
AgXToneMapping
. #27413 (@WestLangley) - Explicitly specify precision for all sampler types. #27482 (@StrandedKitty)
- Option to enable
multi_draw
/gl_DrawID
in vertex shader. #27630 (@vegarringdal)
- Add required gamut mapping for
- WebGLTextures
- WebXRManager
Documentation
- Clean up. #27652 (@Mugen87)
- Improve Chinese translation. #27441, #27443 (@newstart0514, @puxiao)
- Improve
DirectionalLightShadow
page. #27519 (@zsombok) - Improve
Installation
page. #27499 (@a0m0rajab) - Improve
Libraries and Plugins
page. #27646 (@ASproson) - Improve
LOD
page. #27554 (@tomhsiao1260) - Improve
RingGeometry
page. #27495 (@xxhls) - Improve
WebGLRenderer
page. #27532 (@aardgoose)
Manual
- Improve
Fundamentals
guide. #27521 (@susiwen8) - Improve Chinese translation. #27594, #27648 (@nmsn, @1Rone11)
- Refactor canvas width and height computation. #27606 (@herobank110)
- Improve code example. #27640 (@1Rone11)
Examples
- Clean up. #27457, #27459, #27469, #27531, #27614 (@hybridherbst, @CodyJasonBennett, @ycw, @Mugen87, @linbingquan)
- Add support for
FloatType
and add docs to LUT loaders. #27431 (@vanruesc) - Add extra blue to
webgpu_backdrop_water
example. #27455 (@sunag) - Fix
webgpu_morphtargets_face
example. #27489 (@RenaudRohlinger) - Add optional
onLoad()
callback when loading hands or controllers for WebXR. #27544 (@hybridherbst) - Update external library dependencies. #27584 (@gkjohnson)
- Add
webgpu_custom_fog
example andTriNoise3D
. #27599 (@sunag) - Add
webgpu_postprocessing_anamorphic
example andAnamorphicNode
. #27621 (@sunag) - Add scissor configuration in
webgl_camera
example. #27644 (@WestLangley)
-
3DMLoader
- Fix typos and reorder imports alphabetically. #27631 (@GitHubDragonFly)
-
AfterImageNode
- New FX class for after image effects. #27451 (@RenaudRohlinger)
-
BufferGeometryUtils
- Add support for interleaved buffers in
mergeAttributes()
. #27591 (@gkjohnson)
- Add support for interleaved buffers in
-
CameraNode
- Add missing
cameraProjectionMatrixInverse
. #27578, #27579 (@RenaudRohlinger)
- Add missing
-
GaussianBlurNode:
- Add alpha channel support. #27444 (@RenaudRohlinger)
- Reduce overhead. #27447 (@aardgoose)
-
GroundedSkybox
- Replacement for
GroundProjectedSkybox
. #27448 (@elalish) - Fix UVs being flipped. #27500 (@hybridherbst)
- Replacement for
-
GTAOPass
-
Line2NodeMaterial
- Honor changes from original source. #27474 (@aardgoose)
-
MaterialXLoader
- Improve
onError
handling. #27433 (@hybridherbst) - Respect handlers attached to manager when loading textures. #27432 (@hybridherbst)
- Add normal, tangent, texcoord, geomcolor, position space support. #27456 (@hybridherbst)
- Optional parameter. #27462 (@sunag)
- Unlit material. #27575 (@sunag)
- Improve
-
MathNode
- New
cbrt
function for easy cube root calculations. #27497 (@RenaudRohlinger) - Add
lengthSq
. #27568 (@RenaudRohlinger)
- New
-
MathUtilsNode
-
MeshPostProcessingMaterial
-
MeshSSSNodeMaterial
-
NodeBuilder
-
NURBSVolume
-
OperatorNode
- Add unary operator support. #27641 (@RenaudRohlinger)
-
OrbitControls
-
ReflectorNode
-
Renderer
- Fix
dispose()
. #27471 (@RenaudRohlinger)
- Fix
-
RotateNode
- Add new node and remapping functions. #27525 (@RenaudRohlinger)
-
ShaderNode
-
SVGLoader
-
Timer
-
TSL
-
ToneMappingNode
- Ass support for
AgXToneMapping
. #27549 (@RenaudRohlinger)
- Ass support for
-
USDZExporter
-
ViewportNode
-
VRMLLoader
-
Water2
-
WebGLTextureUtils
- Add missing call to state helper. #27503 (@aardgoose)
-
WebGPURenderer
- Fix alpha canvas in WebGPU. #27442 (@RenaudRohlinger)
- Fix geometry does not have the attribute requested by the material. #27454 (@sunag)
- Forward context to
Renderer
. #27472 (@RenaudRohlinger) - Support KTX compressed textures with WebGL backend. #27463 (@RenaudRohlinger)
- MSAA, postprocessing and wireframe support in the WebGL backend. #27473 (@RenaudRohlinger)
- Fix
renderContext
tracking in WebGL backend. #27490 (@aardgoose) - Support
WebGLCubeRenderTarget
. #27071 (@aardgoose) - Create invalidation array once for WebGL MSAA. #27505 (@aardgoose)
WebGLBackend
clea nup RTT buffers when dispose texture. #27513 (@RenaudRohlinger)- Add offscreen support. #27520 (@RenaudRohlinger)
- Cache
renderPassDesciptors
and associated views. #27518 (@aardgoose) - Partial compute shader support for WebGL backend. #27367 (@aardgoose)
- Fix tone mapping on display nodes. #27557 (@RenaudRohlinger)
- Use cached descriptor properties and views were possible in
clear()
. #27551 (@aardgoose) - Fix
BachedMesh
coordinate system in case ofWebGLBackend
. #27567 (@sunag) - PassNode + PostProcessing -
WebGPUBackend
. #27537 (@sunag) - Improve
copyTextureToBuffer
support. #27569 (@RenaudRohlinger) - Compute texture using TSL. #27582 (@sunag)
- Add
forceWebGL
parameter. #27589, #27596 (@RenaudRohlinger) - Fix
copyFramebufferToTexture
wrong framebuffer binding inWebGLBackend
. #27593 (@RenaudRohlinger) - Add timestamp queries support in WebGPU. #27597 (@RenaudRohlinger)
- Add Anisotropy Support & Resolve Scissor Issues in WebGL Backend. #27609, #27615 (@RenaudRohlinger, @susiwen8)
- Fix video textures in WebGL backend. #27610 (@RenaudRohlinger)
- Add
clearAsync()
clear[color|depth|stencil]Async(). #27613 (@aardgoose) - Support
mat2()
and extendRotateNode
to supportvec2
rotation. #27612 (@aardgoose) - Implement
compileAsync()
. #27098 (@aardgoose) - Fix ambiguous field in WebGL Backend. #27619 (@RenaudRohlinger)
- Clean up code base. #27622 (@RenaudRohlinger)
- Add
shadowNode
toNodeMaterial
. #27625 (@RenaudRohlinger)
-
XRButton
Editor
- Add compute tangents option. #27461 (@Mugen87)
- Ensure clips are optimized before exporting to glTF. #27529 (@Mugen87)
- Fix color space evaluation of textures. #27548 (@gitplus)
- Add path tracer to viewport. #27643, 2b6dfe9, 1e771e1, e06a8b3, 70fb9ca, 85cd3cb, 1b35d64 (@mrdoob)
- Only cache GET requests. 92f40ca (@mrdoob)