mrdoob/three.js
 Watch   
 Star   
 Fork   
4 days ago
three.js

r178

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r177--r178 https://github.com/mrdoob/three.js/milestone/91?closed=1

  • Global
    • Remove deprecated code. #31254 (@Mugen87)
    • Correct the blending formulas in all renderers. #31246 (@WestLangley)
    • Upgrade monaco-editor. #31300 (@linbingquan)
    • Initial support for Float16Array in renderers. #31305 (@Mugen87)
  • Clock
    • Inline performance.now(). #31295 (@linbingquan)
  • Frustum
    • Honor sprite offset in intersectsSprite(). #31307 (@Mugen87)
  • GLBufferAttribute
    • Add normalized property. #31268 (@Rtwo-Dtwo)
  • ImageLoader
    • Optimize caching. #31258 (@Mugen87)
  • Loader
    • Use unique cache keys per loader type. #31315, ac07a8accb1228707e694a221d9ed8ab71d694f6, ee327fd8e13ae7d6e5fbcd6506a4006405aa5232 (@Mugen87, @mrdoob)
  • NodeBuilder
    • Fix interpolation specifier. #31222 (@cmhhelgeson)
  • NodeMaterial
    • Honor material.premultipliedAlpha in the shader. #31166 (@WestLangley)
  • Quaternion
    • Update epsilon in setFromUnitVectors(). #31302 (@Mugen87)
  • RenderObject
    • Check attributes version of the geometry. #31227 (@sunag)
  • SampleNode
    • Remove PURE annotation. #31293 (@Mugen87)
  • TSL
    • Fix Fn as parameter. #31214 (@sunag)
    • Introduce sample(). #31287 (@sunag)
    • Introduce textureBicubicLevel(). #31288 (@sunag)
    • Move TriplanarTexturesNode to triplanarTextures() Fn. #31285 (@sunag)
    • Move EquirectUVNode to equirectUV() Fn. #31283 (@sunag)
    • Move MatcapUVNode to matcapUV Fn constant. #31284 (@sunag)
    • Remove transformed* prefix. #31271 (@sunag)
    • Fix convertToTexture() auto resize. #31277 (@sunag)
    • Fix outgoingLight redeclaration. #31266 (@sunag)
    • Introduce Chromatic Aberration. #31236 (@pashaydev)
    • Fix inconsistent chaining for step() (Parameter order). #31241 (@sunag)
    • Rename premult to premultiplyAlpha. #31240 (@sunag)
    • Introduce tangentViewFrame and bitangentViewFrame. #31282 (@sunag)
    • Use node.nodeType instead of safeGetNodeType(). #31328 (@sunag)
  • WebGLPrograms
    • Don't use flat shading with enabled wireframe. #31242 (@Mugen87)
    • Fix cache key with gradient maps. #31292 (@Mugen87)
  • WebGLRenderer
    • Correctly restore render target during transmission pass. #31320 (@Mugen87)
  • WebGPUConstants
    • Add missing features. #31323 (@cmhhelgeson)
  • WebGPURenderer
    • Use correct invalidation array in WebGL backend. #31255 (@cabanier)
    • Make MSAA with MRT work with WebGL backend. #31228 (@Mugen87)
    • Honor depth/stencil in blitFramebuffer(). #31219 (@Mugen87)
    • Add Storage3DTexture and StorageArrayTexture. #31175, #31327 (@Spiri0, @sunag)
  • XRManager
    • Silence opaque framebuffer warning. #31201 (@cabanier)
  • XRRenderTarget
    • Clean up. #31210 (@Mugen87)

Docs

  • Improve JSDoc. #31261, #31224, #31317 (@linbingquan, @SamJB123)

Manual

  • Open external links in new tab. #31273 (@Mugen87)
  • Fix code typo in scene graph page. #31289 (@MeirArani)
  • Improve French translation. #31252 (@AlexandreGagne10)
  • Fix links to homepage. #31301 (@Mugen87)

Examples

  • Clean up. #31265, #31303 (@zeevick10, @Methuselah96)
  • Improve water demo. #31291 (@Mugen87)
  • Add BatchedMesh LOD and BVH example page. #31239 (@agargaro)
  • Merge geometry demos. #31253 (@Mugen87)
  • Fix GUI colors in webgpu_compute_cloth example. #31232 (@WestLangley)
  • Fix instancedArray() usage of webgpu_compute_birds. #31230 (@sunag)
  • Fix texture path of webgpu_sandbox. #31217 (@sunag)
  • Merge OBJ demos. #31216 (@Mugen87)
  • Add new path demo. #31209 (@Mugen87)
  • Add webgpu_reflection_roughness. #31294, c06fa765243ce8379b539d73e6690914bec2039a (@sunag)
  • Improve lottie example. #31321 (@linbingquan)
  • Add window resize event to webgl_geometry_extrude_shapes. #31324 (@linbingquan)

Addons

  • ArcballControls

    • Add passive: false for wheel event. #31259 (@juji)
  • FBXLoader

    • Gracefully handle missing color data. #31248 (@Mugen87)
  • RapierPhysics

    • Add removeMesh(). #31296, #31298 (@linbingquan)
  • RoundedBoxGeometry

    • Fix parameters of the parent class. #31319 (@linbingquan)
  • TransformControls

    • Make gizmo colors configurable. #31262 (@Mugen87)
  • TSL Transpiler

    • Add support for switch statements. #31272 (@cmhhelgeson)
    • Fix unary negate after arithmetic operator. #31297 (@sunag)
    • Add simplified Fn() layout. #31299 (@sunag)
    • Introduce Linker and improvements. #31314 (@sunag)
    • Introduce WGSLEncoder. #31329 (@sunag)

Editor

  • Fix typo in comment. #31264 (@vtjl10)
2025-05-31 01:30:20
three.js

r177

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r176--r177 https://github.com/mrdoob/three.js/milestone/90?closed=1

  • Global
    • Increase version of Object/Scene format. #31096 (@repalash)
    • Fix exports in src/three.tsl.js. #31109 (@ycw)
  • AudioListener
    • Set the proper up-direction. #31054 (@WestLangley)
  • Box3
    • Add toJSON() and fromJSON() methods. #31028 (@gkjohnson)
  • ColorManagement
    • Improve Nomenclature. #31152 (@WestLangley)
  • HemisphereLightNode
    • Change normalView to normalWorld. #31074 (@vitro-mod)
  • ImageBitmapLoader
    • Make error handling more robust. #31088 (@Mugen87)
  • LightsNode
    • Fix castShadow regression. #31106 (@Mugen87)
  • MaterialNode
    • Fix dashOffset with LineDashedMaterial. #31008 (@Mugen87)
  • Mesh
    • Add count property. #31091 (@sunag)
  • NodeMaterial
    • Cleanup alphaTest. #31147 (@sunag)
    • Introduce maskNode and improve shapeCircle(). #31127 (@sunag)
    • Execute setupVertex() if vertexNode is defined. #31136 (@sunag)
  • NodeMaterialObserver
    • Fix missing intensity uniform updates. #31120 (@Mugen87)
  • PMREMGenerator
    • Fix usage with PMREMNode. #31001 (@Mugen87)
  • ShadowMaskModel
    • Fix usage with non shadow casting light. #31081 (@Mugen87)
  • ShadowNode
    • Fix VSM with point lights. #31103 (@Mugen87)
    • Clean up. #31104 (@Mugen87)
  • Sphere
    • Add toJSON() and fromJSON() methods. #31028 (@gkjohnson)
  • SpotLightNode
    • Add custom attenuation using spotLight.attenuationNode. #31013 (@sunag)
  • SpotLightShadow
    • Introduce aspect property. #31020 (@sunag)
  • Sprite
    • Add count property. #31091 (@sunag)
  • StorageBufferNode
    • Add getMemberType(). #31139 (@HongchengZhao)
  • Texture
    • Add setValues(). #31087 (@CodyJasonBennett)
    • Texture: Introduce width, height, depth. #31025 (@sunag)
    • Add updateRanges. #30998 (@CodyJasonBennett)
  • TSL
    • Improve build stages #31156 (@sunag)
    • Ensure memory alignment for struct(). #31151 (@sunag)
    • Fix mat2 boundary size. #31162 (@sunag)
    • Ensure 4 byte alignment for instancedArray() and attributeArray(). #31146 (@sunag)
    • Add premult() and unpremult(). #31114 (@sunag)
    • Fix reflector() clear texture and stop update if bounce is false. #31110 (@sunag)
    • Add hashBlur() options {repeats,mask,premultipliedAlpha}. #31115 (@sunag)
    • Fix getBitangent(). #31059 (@Mugen87)
    • Fix lightShadowMatrix() if renderer.shadowMap.enabled is false. #31024 (@sunag)
    • Fix .toVarying() analyze for optimization. #31090 (@sunag)
    • Fix auto-cache if using multiple conditionals. #31076 (@sunag)
    • Introduce namespace. #31168 (@sunag)
    • Fix object-as-parameter checking for Fn(). #31176 (@sunag)
  • WebGPURenderer
    • Honor Texture.premultiplyAlpha in WebGPU backend. #31157 (@Mugen87)
    • Fix generate mipmaps when using copyFramebufferToTexture() in WebGPU backend. #31163 (@sunag)
    • Apply color management changes from #26644. #31142 (@Mugen87)
    • Fix runtime errors introduced by texture array refactor. #31108, #31099 (@cabanier)
    • Rename XRResetState() to _resetXRState(). #31105 (@cabanier)
    • Introduce ProjectorLight. #31022 (@sunag)
    • Array-Based RenderTarget Refactor. #30959 (@RenaudRohlinger)
    • Cache pipeline per render/compute pass. #31066 (@Mugen87)
    • Optimize WebXR render path. #31134, #31189 (@cabanier)
    • Fix blend factor nomenclature. #31188 (@WestLangley)
  • WGSLNodeBuilder
    • Fix use of sampler for vertex stage. #31052 (@sunag)
  • XRManager
    • Fix layer color correction. #31124 (@cabanier)

Docs

  • Clean up. #31046 (@Mugen87)
  • Improve LoaderUtils page. #31082 (@ycw)
  • Improve SkeletonHelper JSDoc. #31113 (@upisfree)
  • Improve XRManager JSDoc. #31101 (@Mugen87)

Manual

  • Fix primitives page. #30997 (@Mugen87)

Examples

  • Clean up. #31130, #31138, #31030, #31107 (@WestLangley, @linbingquan, @ycw)
  • Add webgpu_compute_particles_fluid. #31148, #31159 (@holtsetio)
  • Add webgpu_compute_cloth. #31123 (@holtsetio)
  • Improve noise.png. #31137 (@Mugen87)
  • Improve webgpu_compute_particles. #31092 (@mrdoob)
  • Add webgpu_reflection_blurred. #31116, #31118 (@sunag)
  • Add textured assets to webgl_loader_fbx. #31117 (@tatsuya-ogawa)
  • Integrate lookAt() into the rotateTowards() demo. #31063 (@Mugen87)
  • Fix memory leak in FBX demo. #31068 (@Mugen87)
  • Make dynamic instancing demo more interesting. #31058 (@Mugen87)
  • WebGPU Compute Water Adjustment. #30985, #31011 (@cmhhelgeson, @sunag)
  • Update shadow opacity in webgpu_shadowmap_opacity. #30984 (@sunag)
  • Cleanup webgl_reverse_depth_buffer. #30989 (@CodyJasonBennett)
  • Fix shadows in physics instancing demos. #30988 (@Mugen87)
  • Fix webgpu_water GUI. #31014 (@sunag)
  • Add resize event listener for physics_rapier_instancing. #31012 (@linbingquan)
  • Clean up XR examples browser notices. #31053 (@mkeblx)
  • Make point lights demo more interesting. #31040 (@Mugen87)
  • Remove webgl_geometry_dynamic. #31047 (@Mugen87)
  • Make tone mapping demos more interesting. #31045 (@Mugen87)
  • Make layers example a bit more interesting. #31036 (@Mugen87)
  • Add GUI to normal and bump map demo. #31077 (@Mugen87)
  • Fix memory leak in SVG demo. #31170 (@Mugen87)

Addons

  • AfterimagePass

    • Add damp accessor. #31035 (@neilrackett)
  • ArcballControls

    • Fix state data for reset. #31184 (@Mugen87)
  • CSMShadowNode

    • Fix toggle of castShadow. #31186 (@Mugen87)
  • FBXLoader

    • Improve error handling. #31017 (@Mugen87)
    • Use getHandler() for custom texture loaders. #31032 (@tatsuya-ogawa)
    • Add webp MIME type. #31098 (@Altrozero)
  • FXAAPass

    • Add pass class for FXAA post processing shader. #31044 (@neilrackett)
  • GLTFExporter

    • Push nodes parent-first instead of child-first. #31125 (@aaronfranke)
  • GLTFLoader

    • Clone node associations. #31051 (@nkrajina)
  • HTMLMesh

    • Add support for input of type text and number in VR. #31160 (@vincentfretin)
  • KTX2Loader

    • Support ETC2, BCn, and ASTC 4x4 sRGB. #31155 (@donmccurdy)
  • LDrawLoader

    • Don't clear already-loaded materials onload. #31150 (@Floppy)
    • Improve docs. #31153 (@Mugen87)
  • LineMaterial

    • Fix clipping planes. #31144 (@rtortajada)
  • Octree

    • Improve configurability. #31097 (@Mugen87)
  • PCDLoader

    • Parse header without TextDecoder. #31069 (@F-loat)
    • Implement data type dependent binary parsing. #31061 (@F-loat)
  • PeppersGhostEffect

    • Remove addon. #31037 (@Mugen87)
  • SkyMesh

    • Improve varyings declaration. #31133 (@sunag)
  • USDZExporter

    • Fix object indentation level. #31126 (@mkeblx)
    • Fix JSDoc to match default value. #31119 (@mkeblx)

Editor

  • Fix minor bugs. #31050 (@Mugen87)
2025-04-23 16:58:30
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
    • Make sure background nodes can be disposed of. #30938 (@Mugen87)
  • BatchedMesh
    • Fix toJSON(), ObjectLoader integration. #30965 (@gkjohnson)
  • CapsuleGeometry
    • Add heightSegments parameter. #30868 (@mkeblx)
    • Change length param to height, fix UVs. #30915 (@mkeblx)
  • ExtrudeGeometry
    • Fix regression introduced with last release. #30822 (@mlasala45)
  • LightsNode
    • Honor spotlight maps in cache key. #30940 (@Mugen87)
  • NodeMaterial
    • Fix alpha of vertex-color. #30974 (@sunag)
  • NodeMaterialObserver
    • Force refresh when rendering velocity. #30840 (@Mugen87)
  • RenderTarget
    • Fix depth texture assignment regression. #30921 (@Spiri0)
  • ShadowNode
    • Inherit camera.layers only if shadow.camera.layers is not set. #30877 (@RenaudRohlinger)
  • TSL
    • Don't flip normals when using flat shading. #30823 (@Mugen87, @sunag)
    • Fix frontFacing when using material.flatShading. #30828 (@sunag)
    • Add dFdx and dFdy warnings. #30831 (@sunag)
    • Show shader stage in debug() message. #30833 (@sunag)
    • Fix blur() on Framebuffer. #30845 (@RenaudRohlinger)
    • Fix bitangent* when using material.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() and decrement() and fix unsual for() expression syntax for transpiler. #30912 (@Mugen87, @sunag)
    • Fix dispose() when using reflector(). #30933 (@Mugen87)
    • Fix and improve bvec operators. #30922 (@sunag)
    • Fix debug() changes the compiled code. #30944 (@sunag)
    • Add switch/case. #30935 (@Mugen87)
    • Add expression support for loop( { update: ... } ). #30947 (@sunag)
    • Add Stack() and .toStack(). #30956 (@sunag)
    • Cache getShadowRenderObjectFunction(). #30969 (@sunag)
    • Fixes the return value of atomic* nodes. #30971 (@sunag)
    • Auto-cache atomic* nodes. #30972 (@sunag)
    • Fix denoise() sampler texture. #30975 (@sunag)
    • Improve debug() callback changing to ( builder, code ) signature. #30976 (@sunag)
  • VelocityNode
    • Fix initial value of previous model matrix. #30839 (@Mugen87)
  • WebGLRenderer
    • Fix binding __webglFramebuffer when mipmaps are used. #30746 (@haxiomic)
    • Support alphaToCoverage with shadows. #30871 (@Mugen87)
  • WebGPURenderer
    • Introduce Shadow Map Array. #30830 (@RenaudRohlinger)
    • Introduce compatibilityMode. #30854, #30869, #30875 (@sunag)
    • Disable draw call when object.count = 0. #30881 (@cmhhelgeson)
    • Make material.transparent behave as in WebGLRenderer. #30862 (@rkreis-v)
    • Add Multiview support. (@cabanier)
    • Introduce renderer.highPrecision. #30970 (@sunag)
  • WGSLNodeBuilder
    • Improve isCustomStruct() checking. #30525 (@Spiri0)
  • XRManager
    • Request reference space for both layers and non layers. #30902 (@danrossi)

Docs

  • Clean up. #30888, #30927, #30978 (@rizzler329842, @notgod6, @arcs-)
  • Simplify JSDoc output directory. #30815 (@Mugen87)
  • Fix typos and types. #30843, #30874, #30880, #30879 (@s-rigaud)
  • Improve SkinningNode. #30852 (@Mugen87)
  • JSDoc: Add import section for addons. #30853, #30860 (@Mugen87)
  • Improve Chinese translation. #30887 (@linzhou559)

Examples

  • Clean up. #30820, #30979 (@Mugen87, @Methuselah96)
  • Added additional Rapier physics examples. #30818 (@NikLever)
  • Fix AR hit-test. #30866 (@mkeblx)
  • Use InstancedMesh in webgl_clipping_advanced. 2cb9218b049b93c0b412e4b1e73ab340bf87e6ba (@mrdoob)
  • Fix WebXR Haptics example when entering VR from Oculus Browser button. #30859 (@arturitu)
  • Add external "3d tiles" globe example. #30883, #30907 (@gkjohnson)
  • Use post-processing and improve description in reverse depth buffer demo. #30941 (@CodyJasonBennett)
  • Add webgpu_caustics example and shadow revisions. #30962 (@sunag)
  • Call ImageBitmap.close() in webgl_loader_imagebitmap. #30977 (@Mugen87)

Addons

  • Global

    • Fix SSAA/TRAA state reset. #30838 (@Mugen87)
    • Clean up. #30917, #30918, #30953 (@satelllte, @Mugen87)
  • AfterImageNode

    • Fix usage of multiple nodes. #30834 (@Makio64)
  • GLTFLoader

    • Remove support detection for WebP and AVIF. #30864 (@Mugen87)
  • IFFParser

    • Fix missing Debbuger attribute declarations #30946 (@s-rigaud)
  • ImprovedNoise

    • Use MathUtils.lerp(). #30905 (@satelllte)
  • LottieLoader

    • Deprecated loader, inline library usage. #30896 (@Mugen87)
  • MD2CharacterComplex

    • Fix frontDeceleration attribute name. #30817 (@s-rigaud)
  • OutlinePass

    • Fix using with BatchedMesh. #30952 (@luigidenora)
  • PointerLockControls

    • Constant for mouse sensitivity #30966 (@satelllte)
  • RapierPhysics

    • Add heightfield support. #30906 (@andytriboletti)
  • RoomEnvironment

    • Use InstancedMesh. df3b15e5f4a35aa083138d71965b1352f4102685 (@mrdoob)
  • TileShadowNode

    • Fix shadow manual update. #30863 (@RenaudRohlinger)
  • TSLTranspiler

    • Add valid !=. #30890 (@s-rigaud)
    • Fix typo. 2edea69e6e6bb213198a9864034824b856aa9c09 (@sunag)
  • Water2Mesh

    • Fix missing material.transparent=true. #30892 (@sunag)

Editor

  • Fix selection box update when reparenting objects in hierarchy. #30904 (@lixinde)
2025-03-28 14:05:58
three.js

r175

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r174--r175 https://github.com/mrdoob/three.js/milestone/88?closed=1

  • Global
    • Remove deprecated code. #30621 (@Mugen87)
  • AnalyticLightNode
    • Fix call of setupShadowNode(). #30713 (@s-rigaud)
  • AnimationClip
    • Deprecate parseAnimation(). #30625 (@Mugen87)
  • ArrayElementNode
    • Optimize indexes. #30741 (@sunag)
  • AtomicFunctionNode
    • Add inline support. #30732 (@sunag)
  • Attributes
    • Fix null check. #30694 (@Mugen87)
  • Backend
    • Move trackTimestamp to parent class. #30714 (@s-rigaud)
  • BufferGeometry
    • Fix clone index data copy. #30680 (@s-rigaud)
  • Controls
    • Require element in connect(). #30772 (@mrdoob)
  • Earcut
    • Copy mapbox/earcut file into core libs. #30756 (@gkjohnson)
  • ExtrudeGeometry
    • Automatically clean shape data. #30750 (@mlasala45)
  • FileLoader
    • Avoid undefined for members. #30622 (@Mugen87)
  • ImageUtils
    • Add optional type parameter to getDataURL(). #30751 (@Mugen87)
  • Material
    • Add allowOverride. #30753 (@Mugen87)
  • MorphNode
    • Improve performance. #30742 (@sunag)
  • NodeBuilder
    • Add abstract reference for buildFunctionCode(). #30712 (@s-rigaud)
  • NodeMaterial
    • Add support for compute() integrated into the material. #30768 (@sunag)
  • OperatorNode
    • Fix notEqual() redundant bool conversion. #30740 (@sunag)
  • Renderer
    • Disallow render target resizing while in XR. #30738 (@cabanier)
  • ShadowMaskModel
    • Fix signatures. #30764 (@Mugen87)
  • TextureNode
    • Add blur() check and warning. #30722 (@sunag)
  • TSL
    • Simplify expression output. #30691 (@RenaudRohlinger)
    • Add samplerComparison. #30734 (@sunag)
    • Fix equal() inconsistent. #30777 (@sunag)
    • Allow max()/min() to take an arbitrary number of arguments. #30780 (@sunag)
    • Avoid name collisions. #30785 (@sunag)
    • Improve warnings. #30783 (@sunag)
    • Deprecated modInt() and minor fixes. #30790, #30796 (@sunag)
    • Add debug(). #30797 (@sunag)
    • Add while to Loop(). #30807 (@sunag)
    • Simplified Fn() layout. #30810 (@sunag)
    • Improve vec* checks and warnings. #30811 (@sunag)
  • WebGLBackend
    • Bring back 3D functionality for copyTextureToTexture(). #30584, #30644 (@zonkypop, @Mugen87)
  • WebGLRenderer
    • Refactor setRenderTargetTextures(). #30628 (@cabanier)
    • Fixed readRenderTargetPixelsAsync() readability check. #30672 (@greyb1t)
    • Fix reference to drawingBufferColorSpace. #30707 (@s-rigaud)
    • Fix setReversed() so reverseDepthBuffer: true works. #30809 (@haxiomic, @CodyJasonBennett)
  • WebGPUAttributeUtils
    • Use correct buffer offset for updateRanges. #30617 (@zonkypop)
    • Add int8/uint8 patch. #30749 (@sunag)
  • WebGPUBackend
    • Make copyTextureToTexture() work with 3D textures. #30618 (@zonkypop)
  • WebGPUConstants
    • Fix name of RG11B10UFloat. #30717 (@s-rigaud)
  • WebGPURenderer
    • Fix texture view caching and dispose event stacking #30647 (@RenaudRohlinger)
    • Honor material.outputNode if used with MRT. #30659 (@sunag)
    • RenderBundle support transparent objects. #30689 (@RenaudRohlinger)
    • RenderBundle use correct LightsNode. #30700 (@RenaudRohlinger)
    • Revisions for release. #30803 (@sunag)
  • WebGPUTextureUtils
    • Fix reference for BC4RSnorm. #30678 (@s-rigaud)
  • XRManager
    • Fix up AA for WebXR and use multisample extension only when needed. #30724 (@cabanier)
    • Add more integrated support for WebXR Layers. #30730 (@cabanier)

Manual

  • Move guides from old docs to manual. #30736, 49f25c6e5ee731e1daf0c3978bd59cda62f76c74 (@Mugen87, @mrdoob)

Docs

  • Add more JSDoc. #30620, #30624, #30629, #30631, #30633, #30638, #30641, #30642, #30646, #30649, #30651, #30656, #30658, #30662, #30675, #30686, #30692, #30702, #30705, #30719, #30727, #30733, #30752, #30793 (@Mugen87)
  • Fix typings and typos. #30626, #30632, #30664, #30665, #30677, #30711, #30723, #30721, #30776, #30789, #30791 (@s-rigaud, @omahs)
  • Improve Chinese translation. #30683 (@kang-git)

Examples

  • Clean up. #30798, #30799 (@s-rigaud)
  • Cleanup volumetric lighting examples. #30660 (@sunag)
  • Improve webgpu_compute_geometry example. #30699 (@cmhhelgeson)
  • Avoid relying on implicit event parameter. #30792 (@s-rigaud)
  • Add new examples. #30695 (@lo-th)

Addons

  • AMFLoader

    • Fix materialId reference. #30668 (@s-rigaud)
  • AnimationClipCreator

    • Default to empty string for clip name. #30666 (@s-rigaud)
  • AsciiEffect

    • Avoid useless split operations. #30667 (@s-rigaud)
    • Fix values types. #30710 (@s-rigaud)
  • CSMShader

    • Add missing getPointShadow() argument. #30771 (@brentyi)
  • EXRLoader

    • Fix string comparison. #30709 (@s-rigaud)
  • GLTFExporter

    • Delete invalid and outdated fallback. #30744 (@Bajdzis)
  • GLTFLoader

    • Fix bad reference to PATH_PROPERTIES. #30669 (@s-rigaud)
  • LDrawLoader

    • Wrong call to parseModel(). #30670 (@s-rigaud)
    • Fix error message. #30801 (@s-rigaud
  • LUTImageLoader

    • Harmonize ctor. #30720 (@Mugen87)
  • LWOLoader

    • Fix method calls. #30802 (@s-rigaud)
  • MD2Loader

    • Clip creation requires additional argument. #30671 (@s-rigaud)
  • OculusHandModel

    • Fix reference to path attribute. #30679 (@s-rigaud)
  • ProgressiveLightMapGPU

    • Disclove potpack hidden behavior. #30716 (@s-rigaud)
  • PointerLockControls

    • Add unadjustedMovementoption to lock(). #30687 (@james090500)
  • USDZExporter

    • Reuse instantiated material for buildXform(). #30661 (@zphr)
  • USDZLoader

    • Fix Blob options. #30708 (@s-rigaud)
  • ViewHelper

    • Adjust viewport position for WebGPU renderer. #30735 (@Child-qjj)
  • VolumeSlice

    • Comment out broken code path. #30715 (@s-rigaud)

Editor

  • Fix publish. #30690 (@Mugen87)
  • Improve Chinese translation. #30787 (@linbingquan)
  • Add color space options for background textures. #30794 (@Mugen87)
2025-02-27 17:32:51
three.js

r174

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r173--r174 https://github.com/mrdoob/three.js/milestone/87?closed=1

  • Global
    • Improve ESLint setup. #30509, #30513, #30580 (@s-rigaud)
  • Animation
    • Rename frame parameter to xrFrame. #30558 (@Mugen87)
  • BatchedMesh
    • Deprecate old instancing render paths. #30550 (@gkjohnson)
  • GLSLNodeBuilder
    • Check texture type when declaring usampler3D/sampler3D uniforms. #30608 (@zonkypop)
  • MeshNormalNodeMaterial
    • Convert packed normal to working color space. #30590 (@WestLangley, @cmhhelgeson)
  • PMREMGenerator
    • Add size and position options to fromScene(). #30477 (@Mugen87, @Spiri0)
  • PMREMNode
    • Manage own generator, fix caching. #30504 (@Mugen87)
  • Renderer
    • Disable autoClear in the output pass. #30454 (@Mugen87)
    • Return self in init(). #30556 (@CodyJasonBennett)
  • RenderTarget
    • Fix copy of images. #30585 (@Mugen87)
  • SpriteNodeMaterial
    • Set transparent=true as default. #30435 (@sunag)
    • Fix scaleNode type conversion. #30545 (@sunag)
  • StructTypeNode
    • Fix inclusion when added to the layout. #30439 (@sunag)
  • TSL
    • Introduce RaymarchingBox and raymarchingTexture3D. #30495 (@sunag)
  • WebGLBackend
    • Configure scissor/viewport before clear. #30452 (@Mugen87)
    • Fix depth regression. #30527 (@Mugen87)
    • Optimize vertex state definition. #30562 (@Mugen87)
    • Only invalidate framebuffers on supported devices. #30606 (@Mugen87)
  • WebGLRenderer
    • Assign currentRenderState in renderer.compile(). #30607 (@cmhhelgeson)
  • WebGPUBackend
    • Add support for setStencilReference(). #30470 (@Mugen87)
    • Fix clear(). #30485 (@Mugen87)
  • WebGPURenderer
    • Fix clear for default framebuffer. #30457 (@RenaudRohlinger)
    • Add setOutputRenderTarget() #30459 (@sunag)
    • Fix info metrics. #30483 (@Mugen87)
    • Simplify clear color generation. #30486 (@Mugen87)
    • Fix color space of clear colors. #30488 (@Mugen87)
    • Honor polygonOffset with WebGPU backend. #30496 (@Mugen87)
    • Add tone-mapping/output color space support for WebXR. #30499 (@sunag)
    • Fix output depth struct. #30514 (@sunag)
    • Fix storage buffer binding update and 4 bytes alignment. #30529 (@RenaudRohlinger)
    • Support rotation of env maps. #30528 (@Mugen87, @sunag)
    • Fix storage buffer update range. #30532 (@RenaudRohlinger)
    • Fix mat2() arguments. #30543 (@RenaudRohlinger)
    • Add volumetric lighting. #30530 (@sunag)
    • Harmonize clear of MRT textures. #30586 (@Mugen87)
  • XRManager
    • Simplify MSAA setup. #30500 (@Mugen87)
    • Mark XR rendertarget as needing a resolve for depth or stencil. #30565 (@cabanier)

Manual

  • Clean up. #30480 (@fengT-T)

Docs

  • Improve JSDoc setup. #30430, #30443, #30449, #30453, #30460, #30461, #30466, #30542, #30611 (@Mugen87)
  • Fix typos and types. #30510, #30511, #30546, #30548, #30555, #30557, #30559, #30602, #30603 (@s-rigaud, @Mugen87)
  • Improve dispose guide. #30441, #30524 (@Mugen87, @catalin-enache)
  • Add more JSDoc. #30442, #30534, #30541, #30547, #30552, #30573, #30574, #30579, #30588, #30592, #30601, #30610, #30614, #30615 (@Mugen87)
  • Add instructions for improving editor auto-completion. #30444 (@Makio64)
  • Add Mattercraft to Wrappers and Frameworksguide. #30465 (@nyan-left)
  • Improve Chinese translation. #30475 (@haiyoucuv)
  • Improve LOD page. #30591 (@guiseek)
  • Improve Raycaster page. #30478 (@trusktr)
  • Improve displacementBias description. #30564 (@s-rigaud)

Examples

  • Clean up. #30432 (@Mugen87)
  • Update particle count to 500k in WebGPU compute example. #30455 (@Makio64)
  • Adjust volume instances demo to write to depth. #30464 (@gkjohnson)
  • Fix time usage. #30498 (@Mugen87)

Addons

  • 3MFLoader

    • Fix parsing of assets with sub models. #30491 (@Jack-J-Young)
  • AfterImageNode

    • Refactor code and improve demo. #30433 (@Mugen87)
  • CCDIKSolver

    • Add blendFactor support. #30415 (@anishwij)
  • DDSLoader

    • Fix incorrect alpha when loading 24-bit uncompressed textures. #30598 (@miere43)
  • FBXLoader

    • Handle out-of-bounds material assignments. #30581 (@hybridherbst)
  • MTLLoader

    • Add support for displacement maps. #30508 (@krotalias)
  • OutlinePass

    • Honor original overrideMaterial. #30578 (@Mugen87)
  • Raymarching

    • Move raymarchingTexture3D to example and update webgpu_volume_perlin. #30531 (@sunag)
  • Reflector

    • Add forceUpdate. #30569 (@Shane-oo)
  • SelectionHelper

    • Ensure DOM cleanup. #30473 (@trusktr)
  • Timer

    • Add connect()/disconnect(). #30551 (@Mugen87)
  • TSL Transpiler

    • Support matrix types. #30501 (@Mugen87)
    • Support varying. #30506 (@Mugen87)
    • Support more matrix types, bool vectors. #30517 (@CodyJasonBennett)
    • Basic texture support. #30521 (@Mugen87)
    • Add support for discard. #30538 (@Mugen87)
2025-01-31 13:16:43
three.js

r173

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r172--r173 https://github.com/mrdoob/three.js/milestone/86?closed=1

  • Global
    • Clean up. #30383 (@s-rigaud)
  • BatchedMesh
    • Fix bug in deleteGeometry(). #30304 (@jonathanzopes)
  • ChainMap
    • Avoid a redundant internal weak map. #30258 (@ycw)
  • ConstNode
    • Optimize indexes. #30388 (@sunag)
  • EventDispatcher
    • Obtain _listeners before if block. #30328 (@erasta)
  • Geometries
    • Reuse arrayNeedsUint32() from core. #30408 (@Mugen87)
  • ImageUtils
    • Always use image/png in getDataURL(). #30336 (@Mugen87)
  • Line
    • Fix index on intersection. #30424 (@jonathanzopes)
  • NodeBuilder
    • Rename .monitor to .observer. #30354 (@sunag)
  • NodeBuilderState
    • Update description. #30355 (@sunag)
  • Nodes
    • Optimize getCacheKey(). #30259 (@Mugen87)
    • Fix recursion with environment nodes. #30277 (@Mugen87, @sunag)
  • NodeMaterialObserver
    • Detect geometry exchange. #30409 (@Mugen87)
  • NodeUtils
    • Simplify getCacheKey(). #30303 (@Mugen87)
  • PMREMGenerator
    • Don't pollute node material scope. #30324 (@Mugen87)
  • PointsNodeMaterial
    • Improve implementation, replace InstancedPointsNodeMaterial. #30300 (@sunag)
  • PostProcessing
    • Allow usage with more than one instance. #30279 (@Mugen87)
  • RenderContexts
    • Introduce getForClear(). #30256 (@Mugen87)
    • Add missing properties. #30286 (@Mugen87)
  • Renderer
    • Fix viewport configuration of ArrayCamera. #30298 (@Mugen87)
    • Remove outdated comment. #30306 (@Mugen87)
    • Introduce colorBufferType. #30425 (@Mugen87)
  • RenderObject
    • Fix geometry key for morph targets. #30302 (@Mugen87)
    • Improve cache key computation when rendering shadows. #30316 (@Mugen87)
  • TSL
    • Fix optional parameter in Fn(). #30293 (@sunag)
    • Rename varying() to toVarying(), vertexStage() to toVertexStage(). #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)
  • VarNode
    • Fix getMemberType() reference. #30427 (@sunag)
  • VideoFrameTexture
    • Add new class for WebCodecs API. #30270 (@Mugen87, @maddanio)
    • Add isVideoFrameTexture flag. #30381 (@ycw)
  • WebGLBackend
    • Fix ArrayCamera pixel ratio. #30338 (@sunag)
    • Fix context parameter. #30413 (@Mugen87)
    • Fix depth formats. #30422 (@Mugen87, @cabanier)
  • WebGLBackground
    • Reset meshes in dispose(). #30257 (@Mugen87)
  • WebGPUAttributeUtils
    • Fix i16a/u16a patch. #30264 (@ycw)
  • WebGPUBackend
    • Fix Timestamp Query. #30299 (@ycw)
  • WebGPURenderer
    • Reduce memory churn when using chain maps. #30249 (@Mugen87)
    • Introduce .toConst(), Const(), Var(). #30251 (@RenaudRohlinger, @sunag)
    • Rename timeStampQuerySet to timestampQuerySet. #30289 (@ycw)
    • Derives timestamp buffer size from BigUint64Array. #30290 (@ycw)
    • Fix Occlusion Query logic. #30288 (@ycw, @sunag)
    • Fix shadow regression. #30307 (@RenaudRohlinger)
    • Add .outputType backend parameter. #30320 (@donmccurdy)
    • Fix clear alpha in WebGLBackend. #30329 (@RenaudRohlinger)
    • Improve ArrayCamera performance and fix uniforms. #30313, #30337 (@sunag)
    • Enable dynamic resizing of the cameras array of ArrayCamera. #30353 (@sunag)
    • Introduce TimestampQueryPool. #30359, #30375, #30393 (@RenaudRohlinger)
  • WebGPUTextureUtils
    • Improve _copyImageToTexture(). #30260 (@ycw)
  • WebXRManager
    • Do not try to init WebXRDepthSensing with cpu-optimized depth. #30241 (@dli7319)
    • Further improvements to WebXR layers feature testing. #30282 (@toji)
    • Safely check for XRWebGLBinding. #30319 (@zonkypop)
  • XRManager
    • Add XR manager for WebGPURenderer. #30346, #30348, #30349, #30358 (@Mugen87)
    • Add layers support. #30365, #30417 (@Mugen87)
    • Add MSAA support. #30378, #30418 (@Mugen87)
  • XRRenderTarget
    • Add new render target type for XR. #30369 (@Mugen87)

Manual

  • Fix OrbitControls usage in Offscreen Canvas demo. #29983 (@Arecsu)
  • Improve Chinese translation. #30294 (@evolify)

Docs

  • Add documentation of WebGPURenderer and related modules. #30244, #30246, #30250 (@Mugen87)
  • Improve BatchedMesh and InstancedMesh page. #30362 (@gkjohnson)
  • Improve BlendModes module. #30322 (@Mugen87)
  • Improve ConvexGeometry page. #30399 (@erasta)
  • Improve LineMaterial page. #29864 (@nyan-left)
  • Improve Matrix4 page. #30276 (@Mugen87)
  • Improve Scene page. #30357 (@Serum0017)
  • Improve Texture page. #30285 (@jirihon)
  • Improve Color Management guide. #30281 (@donmccurdy)
  • Make use of @deprecated tag in JSDoc. #30284 (@s-rigaud)
  • Improve JSDoc types. #30271, #30272, #30317, #30318, #30323, #30325, #30280, #30372, #30287, #30382 (@Mugen87, @s-rigaud)

Examples

  • Clean up. #30248, #30331, #30332, #30419 (@Methuselah96, @Mugen87)
  • Improve webgpu_lights_ies_spotlight example. #30243 (@mrdoob, @sunag)
  • Fix glossy material in webgl_geometry_teapot example. #30253 (@erich666)
  • Add raycaster helper external demo. #30262 (@Mugen87, @abernier, @gsimone)
  • Add webgpu_camera_array example. #30296, #30297 (@Mugen87)
  • Fix video decoder stalls issue in webgpu_video_frame example. #30385 (@ycw)
  • Combine LUT with coffee smoke demo. #30390 (@Mugen87)

Addons

  • CCDIKSolver

    • Fix algorithm broken link. #30266 (@satelllte)
  • GLTFLoader

    • Remove redundant decay assignment. #30411 (@s-rigaud)
    • Improve existing JSDoc. #30412 (@s-rigaud)
  • InteractiveGroup

    • Add disconnect(). #29975 (@bbsimong, @Mugen87)
  • MeshGouraudMaterial

    • Deprecate module. #30314 (@Mugen87)
  • OutputPass

    • Support THREE.CustomToneMapping. #30335 (@samposoft)
  • TextGeometry

    • Remove deprecated code. #30315 (@Mugen87)
  • TSLEncoder

    • Fix transpilation issues. #30410 (@Mugen87)
  • WaterMesh

    • Improve lighting support. #30247 (@sunag)
2024-12-31 17:52:38
three.js

r172

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r171--r172 https://github.com/mrdoob/three.js/milestone/85?closed=1

  • Global
    • Remove deprecated code. #30004 (@Mugen87)
    • Clean up. #30078, #30119, #30138, #30143, #30176 (@s-rigaud, @ycw)
  • CameraHelper
    • Fix usage with WebGPU. #30136 (@AlaricBaraou)
  • PropertyBinding
    • Fix versioning scheme determination. #30054 (@Mugen87)
  • LightsNode
    • Fix cache key. #30045 (@Mugen87, @sunag)
  • Line2NodeMaterial
    • Fix usage of optional nodes. #30107 (@s-rigaud)
  • LineDashedNodeMaterial
    • Fix node references. #30175 (@ycw)
  • Node
    • Add customCacheKey(). #30062 (@sunag)
  • Nodes
    • Ensure getBackgroundNode() and getEnvironmentNode() only return nodes. #30169 (@Mugen87)
  • NodeUtils
    • Add getDataFromObject(). #30171 (@sunag)
  • PMREMGenerator
    • Fix fromScene() back-side materials. #30063 (@sunag)
  • ReflectorNode
    • Force autoClear. #30199 (@sunag)
  • RendererUtils
    • Honor fog. #30178 (@Mugen87)
  • ShadowBaseNode
    • Fix CSM shadowWorldPosition. #30060 (@sunag)
  • ShadowNode
    • Fix updateMatrices sequence. #30064 (@sunag)
    • Ensure background does not influence shadow map. #30170 (@Mugen87)
  • SkinningNode
    • Fix previousBoneMatrices. #30161 (@sunag)
  • TextureNode
    • Rename uv() to sample(). #30061 (@sunag)
    • Fix matrix update. #30200 (@sunag)
    • Improve error message. #30215 (@sunag)
  • TSL
    • Improve fog approach. #30080, #30092 (@sunag)
    • Add texture_depth_multisampled_2d for wgslFn. #30082 (@sunag)
    • Fix positionWorld used in material.positionNode and fragment-stage. #30105 (@sunag)
    • Vertex shader revision. #30108, #30147 (@sunag)
    • Add missing export. #30129 (@Methuselah96)
    • Overloaded atan2 to atan. #30131 (@sunag)
    • More consistent names shadowPositionWorld, materialAO. #30152 (@sunag)
    • GLSL alias functions. #30150 (@sunag)
    • Add vertexStage() function. #30173 (@sunag)
  • UniformArrayNode
    • Add support for mat2, mat3 and mat4 types. #30051 (@holtsetio)
    • Fix getNodeType(). #30058 (@sunag)
  • UniformGroup
    • Delete unused file. #30002 (@Mugen87)
  • WebGLRenderer
    • Add transmission render target scale. #30018 (@michaeldll)
    • Allow for binding and rendering into a 2d render target mipmap. #29844 (@gkjohnson)
  • WebGPURenderer
    • Fix filterable depth textures. #30023 (@sunag)
    • Revert onSubmittedWorkDone usage in timestamp queries. #30031 (@RenaudRohlinger)
    • Add onBeforeShadow() and onAfterShadow(). #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() in WebGPUBackend. #30132 (@RenaudRohlinger)
    • Rename PostProcessingUtils to RendererUtils. #30172 (@sunag)
    • Fix and improve the dynamic updating of the scene nodes cache. #30180 (@sunag)
    • Introduce RenderTarget3D and RenderTargetArray. #30155 (@RenaudRohlinger)
    • Disable fog in shadow-material. #30204 (@sunag)
    • Fix depthTest with enabled logarithmic depth buffer. #30214 (@sunag)
    • Respect TypedArray in StorageInstancedBufferAttribute. #30218 (@RenaudRohlinger)
  • WebXRManager
    • Improve WebXR layers feature testing. #30112 (@toji)
  • WGSLNodeBuilder
    • Sampler for compute shader. #30033 (@Spiri0)

Manual

  • Improve post processing guide. #30098 (@ChenKuan1110)
  • Update material feature table. #30164 (@s-rigaud)

Docs

  • Add JSDoc config. #29984, #30076 (@Mugen87, @s-rigaud)
  • Improve documentation of the new node material. #29984, #30000, #30001, #30009, #30013, #30012, #30020, #30025, #30027, #30037, #30041, #30038, #30046, #30049, #30055, #30067, #30075, #30079, #30087, #30093, #30095, #30100, #30103, #30109, #30110, #30115, #30117, #30123, #30135, #30137, #30142, #30153, #30157, #30159, #30163, #30167, #30162 (@Mugen87, @s-rigaud, @sunag, @cmhhelgeson)
  • Improve documentation of WebGPURenderer and related modules. #30182, #30188, #30194, #30213, #30221, #30224 (@Mugen87)
  • Improve Loader page. #29999 (@NeelDigonto)
  • Improve Material page. #30043, #30059, #30121, #30118 (@borisghidaglia, @Mugen87)
  • Improve Chinese translation. #30205 (@puxiao)
  • Improve French translation. #30019 (@s-rigaud)
  • Fix code blocks occasionally lacking white-space in Firefox. #30036 (@mrxz)

Examples

  • Clean up. #29997, #30015, #30106, #30146, #30145, #30144 (@s-rigaud)
  • Remove MMD modules. #30003 (@Mugen87)
  • Add webgpu_lines_fat_raycasting example. #30030 (@RenaudRohlinger)
  • Add background to webgpu_pmrem_scene. #30116 (@Spiri0)
  • Restore webgpu_compute_audio. #30139 (@sunag)
  • Removing antialias from webgpu_backdrop_water. #30206 (@sunag)

Addons

  • DDSLoader

    • Add 24 bit uncompressed RGB support. #30010 (@sam6321)
  • LineSegments2

    • Fix raycast() . #30016 (@Samsy)
  • OrbitControls

    • Add keyRotateSpeed. #29988 (@bbsimong)
  • TiledLightsNode

    • Fix cache-key performance. #30130 (@sunag)

Tests

Node Editor

  • Improve imports. #29998 (@linbingquan)

Editor

  • Editor: Fix vertex normals helper regression. #30069 (@Mugen87)
2024-11-29 19:20:08
three.js

r171

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r170--r171 https://github.com/mrdoob/three.js/milestone/84?closed=1

  • Global
    • Codesplit WebGL/WebGPU entrypoints. #29404, #29644 (@CodyJasonBennett, @RenaudRohlinger)
    • Introduce three.tsl.js. #29948 (@sunag)
    • Improve import style of MathUtils. #29943 (@WestLangley)
  • AnalyticLightNode
    • Reset shadowNode after dispose. #29939 (@sunag)
  • Audio
    • Ensure progress is reset in onEnded(). #29930 (@Jian-Nam)
    • Override copy() and clone() to include missing properties. #2996 (@Byongho96)
  • BatchedMesh
    • Better error handling. #29790 (@Makio64)
  • BlendModes
    • Added blend* prefix. #29897 (@sunag)
  • BufferGeometry
    • Fix setFromPoints() when updating with smaller point sets. #29956 (@rotu)
  • ColorManagement
    • Support treeshaking. #29816 (@linbingquan)
  • GLSLNodeBuilder
    • Fix color space regression. #29945 (@Mugen87)
    • Fix varying color type. #29950 (@sunag)
  • Line2NodeMaterial
    • Fix broken dash. #29835 (@Mugen87)
    • Add opacity support using backdrop. #29979 (@sunag)
  • Materials
    • Revert static types of builtins materials. #29789 (@RenaudRohlinger)
  • NodeMaterial
    • Only call setupDepth() with active depth buffer. #29799 (@Mugen87)
    • Add .castShadowNode and .receivedShadowNode. #29840 (@sunag)
    • Fix getAlphaHashThreshold() properties conflict. #29977 (@sunag)
  • PMREMGenerator
    • Add fromSceneAsync(). #29951 (@sunag)
    • Add optional renderTarget in fromScene(). #29959 (@sunag)
  • PostProcessing
    • Fix PostProcessingUtils import. #29801 (@Mugen87)
    • Harmonize node type. #29823 (@Mugen87)
  • Renderer
    • Fix getShaderAsync(). #29832 (@Mugen87)
    • Add hasInitialized(). #29937 (@Mugen87)
    • Add initTexture(). #29947 (@Mugen87)
  • RenderObjects
    • Force update if geometry has changed. #29807, #29836, #29873 (@sunag)
  • Spherical
    • Use MathUtils.clamp() for makeSafe(). #29824 (@linbingquan)
  • TSL
    • Add shadows. #29838 (@sunag)
    • Introduce instance() for custom use #29911 (@sunag)
    • Introduce attributeArray() and instancedArray(). #29881 (@sunag)
    • Return pass() texture if available in convertToTexture(). #29957 (@sunag)
    • Deprecated storageObject(). #29982 (@sunag)
  • Vector2/3/4
    • Use MathUtils.clamp() internally. #29812, #29929 (@satelllte, @mrdoob)
  • WebGLBackground
    • Add dispose(). #29858 (@Mugen87)
  • WebGLGeometries
    • Don't upload morph target attributes. #29915 (@mrxz)
  • WebGLRenderer
    • Add support for copying mipmap data between textures. #29769 (@gkjohnson)
  • WebGPUAttributeUtils
    • Fix updateAttribute() when using range. #29967 (@holtsetio)
  • 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* using biquadraticTexture. #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 in WebGLBackend. #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)
  • WebGPUTextureUtils
    • Fix dispose() of VideoTexture. #29944 (@Mugen87)
  • WGSLNodeBuilder
    • Improve NearestFilter support. #29910 (@sunag)

Documentation

  • Improve BatchedMesh page. #29803 (@s-rigaud)
  • Improve Clock page. #29805 (@s-rigaud)
  • Improve GLTFExporter page. #29809 (@Mugen87)
  • Improve Renderer page. #29804 (@s-rigaud)
  • Fix typo in loader pages. #29848 (@satelllte)
  • Improve French translation. #29901, #29902 (@satelllte)
  • Improve Korean translation. #29885, #29918 (@mmjinglin163)

Manual

  • Fix loaderArrayLoadRE regex to allow spaces before square bracket. #29820 (@mrxz)

Examples

  • Clean up. #29792, #29877, #29932, #29936, #29972 (@linbingquan, @Mugen87)
  • Improve DOM building in index.html. #29791 (@linbingquan)
  • Improve webgpu_postprocessing_ao example. #29843 (@Mugen87)
  • Improve webgpu_postprocessing_ssr example. #29878 (@Mugen87)
  • Improve webgpu_postprocessing_sobel example. #29934 (@Mugen87)

Addons

  • ArcballControls

    • Add enableFocus. #29871 (@kxxhan)
  • CSMShadowNode

    • Remove name collision. #29811 (@Mugen87)
  • DecalGeometry

    • Add default parameters. #29868 (@Mugen87)
  • GTAONode

    • Add resolutionScale. #29826 (@Mugen87)
  • KTX2Loader

    • Fix minFilter default for untranscoded compressed textures. #29904 (@donmccurdy)
  • LineGeometry

    • Override setFromPoints(). #29681 (@felixwri)
  • OrbitControl

    • Fixed rotation toggle in KeyDown handler. #29834 (@i3ene, @Mugen87)
  • PointerLockControls

    • Remove vendor prefixes for MouseEvent.movement props. #29802 (@satelllte)
  • SceneOptimizer

    • Fix toBatchedMesh() materials. #29935 (@AlaricBaraou)
  • SSRNode

    • Add temporary fix for Chrome. #29875 (@Mugen87)
    • Support logarithmic depth. #29941 (@Mugen87)
  • StereoCompositePassNode

    • Fix state reset/restore. #29806 (@Mugen87)
  • TiledLightsNode

    • Fix reflectedLight declaration sequence. #29874 (@sunag)
  • TSL Transpiler

    • Adding various fixes. #29958 (@sunag)
  • UVsDebug

    • Clean up. #29794 (@linbingquan)
  • WebGPU

    • Remove GPUShaderStage hack. #29933 (@Mugen87)
    • Fix navigator usage. #29965 (@Mugen87)

Tests

  • Use absolute delta value when comparing against tolerance. #29946 (@mrxz)
2024-10-31 15:06:45
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
    • Move some WebGPU modules from core to addons. #29511 (@Mugen87)
  • BatchedMesh
    • Add deleteGeometry(). #29523 (@gkjohnson)
    • Add optimize(). #29527 (@gkjohnson)
    • Fix renderer.info.render when using multidraw. #29532 (@agargaro)
    • Add support for resizing instance count, geometry size. #29577 (@gkjohnson)
    • Fix cases where calling optimize() can result in inconsistent state. #29624 (@gkjohnson)
    • Consolidate internal geometry information. #29687 (@gkjohnson)
    • More cleanup. #29695 (@gkjohnson)
  • BufferGeometry
    • Check for existing attribute in setFromPoints(). #29696 (@Mugen87)
  • 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)
  • 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 and gaussianBlur. #29619 (@sunag)
  • NodeMaterial
    • Introduce .geometryNode and jelly example. #29551 (@sunag)
    • Add support for alphaHash. #29757 (@Mugen87)
  • NodeMaterialObserver
    • Fix buffer resize when transmission is used. #29735, #29737 (@sunag)
  • PassNode
    • Clean up. #29733 (@linbingquan)
  • PostProcessing
    • Only request depth buffer when necessary. #29563 (@Mugen87)
    • Harmonize node update type. #29564 (@Mugen87)
    • Add getScreenPosition(). #29599 (@Mugen87)
    • Add method for normal reconstruction. #29703 (@Mugen87)
  • PhysicalLightingModel
    • Cleanup evalIridescence. #29702 (@sunag)
  • RectAreaLightNode
    • Fix update(). #29771 (@Mugen87)
  • ReflectorNode
    • Remove getTextureNode(). #29609 (@Mugen87)
    • Add getDepthNode(). #29621 (@Mugen87)
    • Added missing nodeObject. #29627 (@sunag)
    • Fix projection matrix computation for WebGL. #29630 (@Mugen87)
  • Renderer
    • Added sync compute() support. #29547 (@sunag)
  • ScriptableNode
    • Rename global to ScriptableNodeResources. #29736 (@scottmas, @sunag)
  • ShadowNode
    • Separate the shadow map creation and use from AnalyticLightNode. #29567 (@aardgoose)
  • SpriteNodeMaterial
    • Size attenuation support orthographic camera. #29517 (@RenaudRohlinger)
  • Texture
    • Always generate mipmaps when generateMipmaps is true. #29677 (@gkjohnson)
  • TSL
    • Deprecated temp(). #29516 (@sunag)
    • Introduce pointer | WGSL ptr support. #29552 (@sunag)
    • Introduce time. #29557 (@sunag)
    • Fix exponential float conversion. #29562 (@sunag)
    • Support defined color spaces in ColorSpaceNode. #29694 (@donmccurdy)
    • Add function for BPCEM. #29773 (@Mugen87)
  • Vector4
    • Add divide(). #29759 (@Mugen87)
  • WebGLBackend
    • Fix type conversion in transform feedback. #29554 (@sunag)
  • WebGLRenderer
    • sRGB decoding for VideoTexture emissiveMap. #29657 (@donmccurdy)
    • Correctly generate mipmaps for 3D & Array RenderTargets. #29678 (@gkjohnson)
    • Support render target textures in copyTextureToTexture(). #29662 (@Mugen87)
    • Copy set of layers when copying 3d texture data. #29699 (@gkjohnson)
    • Stable reversed Z buffer implementation. #29579 (@eXponenta)
    • Allow for copying 2d targets to and from layers of 3d textures. #29710 (@gkjohnson)
  • WebGLTextures
    • Ensure depth texture properties are deleted. #29697 (@Mugen87)
  • WebGPURenderer
    • Fix NodeLibrary logic for minified builds. #29501 (@RenaudRohlinger)
    • Fixed shadows not rendering correctly with logarithmicDepthBuffer. #29447, #29561 (@PoseidonEnergy)
    • Instance sprite example. #29503 (@RenaudRohlinger)
    • Ignore diagnostic() method in Deno. #29522 (@Mutefish0)
    • Add support for renderer without depth and stencil buffers. #29533 (@RenaudRohlinger)
    • Fix premultiplied alpha with clear colors. #29538 (@Mugen87)
    • Add support for geometry without attributes. #29576 (@RenaudRohlinger)
    • Introduce PostProcessingUtils. #29595, #29598 (@sunag)
    • Remove obsolete code. #29596 (@aardgoose)
    • Fix missing updates to geometry attributes. #29589 (@RenaudRohlinger)
    • Introducing IndirectStorageBufferAttribute. #29594 (@Spiri0, @sunag)
    • Introduce indirect drawing support. #29615 (@sunag)
    • Fix uniform/texture index allocation for WebGL backend. #29622 (@aardgoose)
    • Remove useless call in WebGL fallback. #29631 (@aardgoose)
    • Introduce TiledLighting. #29642, #29701, #29722, #29723 (@sunag)
    • Fix pipeline cache key. #29685 (@sunag)
    • Introduce waitForGPU. #29686 (@RenaudRohlinger)
    • Add double-side transmission. #29705, #29718 (@sunag)
    • Add wgsl comment tag. #29709 (@linbingquan)
    • Support Scene.backgroundRotation. #29762 (@Mugen87)
    • Improve post-rendering usage of copyFramebufferToTexture(). #29729 (@sunag)
  • WebGPUTextureUtils
    • Fix usage of Texture.anisotropy. #29654 (@Mugen87)
  • WGSLNodeFunction
    • Ignore convertion of unknown types. #29724 (@sunag)
  • WebXRManager
    • Inherit active layers from camera. #29742 (@mrxz)

Documentation

  • Improve documentation about color management. #29545 (@donmccurdy)
  • Improve Chinese translation. #29620, #29643 (@ShanHaiSiLu, @puxiao)
  • Improve Korean translation. #29649, #29731 (@sungpaks, @seopyoon)
  • Docs: Improve Japanese translation. #29665 (@sawa-zen)
  • Upgrade prettify.js. #29633 (@Mugen87)
  • Fix typos. #29716 (@s-rigaud)
  • Add copy button to non-inline code snippets. #29700 (@snowiewdev)

Manual

  • Improve Prerequisites page. #29616 (@DevinCLane)
  • Improve Lights page. #29756 (@Nokic233)

Examples

  • Clean up. #29513, #29600, #29672, #29738, #29743, #29748 (@linbingquan, @Mugen87)
  • Fix shadow map enabled in webgpu_shadowmap example. #29520 (@sunag)
  • Improve webgl_postprocessing_fxaa example. #29525 (@linbingquan)
  • Fix shadow map enabled in webgpu_instancing_morph example. #29553 (@sunag)
  • Fix node imports. #29556 (@sunag)
  • Fix webgpu_particles example. #29555 (@sunag)
  • Improve anti-aliasing quality of FXAA implementations. #29524 (@swift502)
  • Fix shadows in outline demo. #29565 (@Mugen87)
  • Fix webgpu_tsl_procedural_terrain warning. #29574 (@sunag)
  • Added hashBlur and improve webgpu_backdrop_area example. #29606, #29614 (@sunag)
  • Removed unused textures. #29618 (@mrdoob)
  • Clean up TSL editor example. #29669 (@donmccurdy)
  • Add *Node suffix. #29719 (@sunag)
  • Deprecate MMD modules. #29698 (@Mugen87)
  • Remove CinematicCamera. #29750 (@Mugen87)
  • Remove raymarching GLSL demo. #29774 (@Mugen87)

Addons

  • 3MFLoader

    • Add preliminary support for loading Implicit Functions. #29667 (@zalo)
  • AfterimagePass

    • Use copy shader. #29691 (@Mugen87)
  • BloomNode

    • Remove redundant clears. #29704 (@Mugen87)
  • CSM

    • Add WebGPU version. #29610 (@aardgoose, @Mugen87)
  • CSSRenderer

    • Ensure removing CSS objects works within iFrames. #29663 (@yomotsu)
  • DecalGeometry

    • Support geometries without normals. #29536 (@Mugen87)
  • FBXLoader

    • Improve transparency handling. #29544 (@Mugen87)
  • GaussianBlurNode

    • Introduce premultipliedGaussianBlur. #29604 (@sunag)
    • Remove useless check. #29611 (@Mugen87)
  • GLTFExporter

    • Add support for WebGPURenderer. #29509 (@donmccurdy)
    • Better defaults for metallic and roughness factors. #29692, 48e6e2ee4e769013b911a079a433aecc2686d5b2 (@Mugen87, @mrdoob)
  • GLTFLoader

    • Add KTX2 mime type support in getImageURIMimeType(). #29746 (@puxiao)
  • GTAONode

    • Fix AO with WebGL backend. #29593 (@Mugen87)
  • KTX2Exporter

    • Fix metadata, add example. #29541 (@donmccurdy)
  • KTX2Loader

    • Support transcoding UASTC HDR to BC6H and RGBA16. #29730 (@donmccurdy)
  • LDrawLoader

    • Add WebGPU support. #29752 (@Mugen87)
  • LensflareNode

    • Add FX class for bloom-based lens flare effects. #29715 (@Mugen87)
  • NURBSCurve

    • Add toJSON() and fromJSON(). #29514 (@canxerian)
  • OutlineNode

    • Add FX class for rendering selective outlines. #29575, #29583 (@Mugen87, @sunag)
  • ProgressiveLightMap

    • Remove usage of THREE namespace. #29747 (@Mugen87)
    • Add WebGPU version. #29749 (@Mugen87)
  • RectAreaLightTextureLib

    • Fix DataTexture usage. #29717 (@s-rigaud)
  • SMAANode

    • Add FX class for Subpixel Morphological Anti-Aliasing. #29559 (@Mugen87)
  • SSAAPassNode

    • Clean up. #29647 (@Mugen87)
  • SSRNode

    • Add FX class for Screen Space Reflections. #29597, #29605 (@Mugen87)
  • SSRPass

    • Ensure metalness pass is not affected by fog and background. #29585 (@Mugen87)
  • TextureHelper

    • Add WebGPU version. #29518 (@Mugen87)
  • TRAAPassNode

    • Add FX class for Temporal Reprojection Anti-Aliasing. #29636, #29671 (@Mugen87)
  • TransformControls

    • Fix dispose(). #29512 (@Mugen87)
    • Add min/max constraints. #29602 (@Makio64)
  • USDZExporter

    • Add support for WebGPURenderer. #29507 (@Mugen87)
  • WaterMesh

    • Fix planar offset - WebGPU. #29626 (@sunag)
  • WebGPUTextureUtils

    • Disable uv transform. #29680, #29684 (@Mugen87)
  • Wireframe

    • Add WebGPU version. #29534 (@Mugen87)

Node Editor

  • Update flow.module.js - fix zoom. #29508 (@sunag)
  • Add normalMap node. #29652 (@hybridherbst)

Editor

  • Fixed editor not loading on Chrome 129.0.6668.100 due to import maps definitions location. e754fce13603bd7c6d982cb76374722df7e37ce2 (@mrdoob)
2024-09-26 22:55:26
three.js

r169

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r168--r169 https://github.com/mrdoob/three.js/milestone/82?closed=1

  • Global
    • Clean up. #29355, #29383 (@linbingquan, @s-rigaud)
  • Audio
    • Add delay parameter to stop(). #29376 (@tatsmaki)
  • BatchedMesh
    • Add setGeometryIdAt() and getGeometryIdAt(). #29343 (@Makio64)
    • Add deleteInstance(). #29449 (@JordanLane-Veerum)
    • Add getGeometryRangeAt(). #29409 (@agargaro)
  • CacheNode
    • Fix parent reference. #29369 (@Mugen87)
  • Clock
    • Drop fallback to Date.now(). #29233 (@satelllte)
  • Controls
    • Add null as default parameter for domElement. #29368 (@Mugen87)
  • 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)
  • Node
    • Introduce static type. #29282 (@sunag)
    • Add AtomicFunctionNode. #29385 (@cmhhelgeson)
    • Access remaining compute builtins. #29469 (@cmhhelgeson)
  • NodeBuilder
    • Introduce addFlowCodeHierarchy() / NodeBlock. #29495 (@sunag)
  • NodeMaterial
    • Clean up Line2NodeMaterial and InstancedPointsNodeMaterial. #29319 (@aardgoose)
  • PMREMGenerator
    • Fix compile methods and background usage. #29297 (@Mugen87)
  • Raycaster
    • Add barycoord to intersection result, make attribution interpolation more convenient. #29340 (@gkjohnson)
  • ReferenceNode
    • Fix null reference using getNodeType(). #29498 (@sunag)
  • SpriteMaterial
    • Simplify shader. #29397 (@WestLangley)
  • SpriteNodeMaterial
    • Add sizeAttenuation. #29394 (@RenaudRohlinger)
  • StorageArrayElementNode
    • Remove check for non-existent property. #29276 (@cmhhelgeson)
  • ToonOutlinePassNode
    • Add FX pass for toon outlines. #29483 (@Mugen87)
  • TSL
    • Export color space, tone mapping methods. #29288 (@sunag)
    • Remove redundancy in Normal.js. #29300 (@sunag)
    • Introduce screenUV, screenSize, screenCoordinate and viewport revision. #29347 (@sunag)
    • Add workingToColorSpace, colorSpaceToWorking. #29378 (@sunag)
    • Support uniformArrays from userData() and .label() for userData() and reference(). #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 in WebGLBackend. #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 if antialias is disabled #29395 (@RenaudRohlinger)
    • Use shared UBOs for common uniform groups for WebGL fallback. #29420 (@aardgoose)
    • Add geometry in material cache key. #29427, #29465 (@sunag)
    • Add rectangle parameter to copyFrameBufferTexture(). #29384 (@aardgoose)
    • Correct texelFetch() texel coordinates in WebGL fallback. #29400 (@aardgoose)
    • Prevent out of bounds textureLoad access in WGSL. #29470 (@aardgoose)
    • Reuse LightNode when available. #29480 (@RenaudRohlinger)
    • Introduce hash-based cache key. #29479 (@sunag)
    • Respect the renderer.shadowMap.enabled property. #29492 (@aardgoose)
  • WebGLRenderer
    • Merge update ranges before issuing updates to the GPU. #29189 (@HunterLarco)
    • Remove deprecated code. #29298 (@aardgoose)
    • Fix feedback loop with RTT read pixels async. #29320 (@gkjohnson)
    • Reduce readRenderTargetPixelsAsync() latency. #29339 (@aardgoose)
    • Only compile renderable objects. #29345 (@vanruesc)
    • Improve support of integer formats. #29392 (@Mugen87)
    • Add reverse-z depth buffer via EXT_clip_control. #29445, #29461 (@CodyJasonBennett)

Documentation

  • Clean up. #29296 (@Mugen87)
  • Add Giro3D to libraries and plugins. #29304 (@vpicavet)
  • Improve Chinese translation. #29314, #29406, #29506 (@puxiao, @fengT-T)
  • Improve French translation. #29305 (@vpicavet)
  • Improve Korean translation. #29290, #29316, #29313 (@appache163, @mym0404)
  • Improve How to update things guide. #29318 (@Red1C3)
  • Improve VR guide. #29456 (@Mugen87)
  • Improve WebGLRenderer page. #29459 (@Mugen87)
  • Add pages for wide line modules. #29381 (@tommie)
  • Fix white flash on iframe load for Safari. #29419 (@JeremyJaydan)
  • Added pointer cursor to summary tags. #27837 (@Therobo77)

Manual

  • Improve French translation. #29329 (@lhapaipai)

Examples

  • Clean up. #29310, #29422, #29431, #29209, #29438, #29473 (@linbingquan, @Mugen87, @WestLangley)
  • Improve webgpu_lights_custom example. #29279 (@sunag)
  • Clean up webgpu_performance_renderbundle example. #29289 (@sunag)
  • Fix webgpu_materials example using node materials lib. #29291 (@sunag)
  • Fix some warning messages in physics addons. #29315 (@puxiao)
  • Add exposure control to webgl_tonemapping example. #29311 (@WestLangley)
  • Added helpers to light probe examples. #29309 (@WestLangley)
  • Improve webgpu_compute_birds example. #29334, #29366, #29380 (@mrdoob)
  • Add webgpu_animation_retargeting example. #29338, #29387 (@sunag)
  • Add webgpu_compute_water example. #29147 (@cmhhelgeson)
  • Add webgpu_tsl_vfx_linkedparticles example. #29354 (@ULuIQ12)
  • Add webgpu_tonemapping example. #29363 (@WestLangley)
  • Remove WebGPU modules from Addons.js. #29373 (@Mugen87)
  • Add underwater transition webgpu_backdrop_water example. #29377 (@sunag)
  • Add webgpu_animation_retargeting_readyplayer example. #29428, #29485 (@sunag)
  • Fix NodeMaterial imports. #29477 (@donmccurdy)
  • Add decal as a child of mesh in webgl_decals example. #29486 (@WestLangley)
  • Improve shadow map size in webgpu_tsl_angular_slicing. #29499 (@sunag)

Addons

  • CurveModifier

    • Add WebGPU version. #29453 (@aardgoose)
  • DecalGeometry

    • Transform normal with normal matrix. #29476 (@WestLangley)
  • Exporters

    • Convert from working color space. #29472 (@donmccurdy)
  • EXRExporter

    • Add support for WebGPURenderer. #29302 (@Mugen87)
  • FBXLoader

    • Fix incorrect joint orientation for animated FBX models exported from Maya. #29307 (@mwhirls)
    • Remove support for orthographic cameras. #29425 (@Mugen87)
  • GLTFLoader

    • Fix sparse normalized. #29330 (@stephomi)
    • Remove deprecated code. #29502 (@Mugen87)
  • GPUStatsPanel

    • Remove addon. #29317 (@Mugen87)
  • KTX2Exporter

    • Add support for WebGPURenderer. #29308 (@Mugen87)
  • KTX2Loader

    • Update ktx-parse dependency to v0.7.1. #29060 (@yue4u)
    • Upgrade to Basis Universal v1.50. #29418 (@donmccurdy)
    • Add support for VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT. #29441 (@donmccurdy)
  • Lensflare

    • Add WebGPU version. #29451, #29458 (@aardgoose, @Mugen87)
  • LightProbeGenerator

    • Add support for WebGPURenderer. #29335 (@aardgoose)
  • LightProbeHelper

    • Add WebGPU version. #29301, #29303 (@Mugen87)
  • MaterialXLoader

    • Implement separate(2|3|4) nodes. #29437 (@aardgoose)
    • Add invert implementation. #29433 (@beersandrew)
    • Add extract implementation #29443 (@beersandrew)
  • PackedPhongMaterial

    • Remove addon. #29382, #29493 (@Mugen87, @eugenehp)
  • SDFGeometryGenerator

    • Remove addon. #29281 (@Mugen87)
  • ShadowMapViewer

    • Simplify code. #29322 (@Mugen87)
    • Add WebGPU version. #29331 (@Mugen87)
  • SkeletonUtils

    • Add getBoneName(). #29416 (@sunag)
    • Add hipInfluence. #29423 (@sunag)
    • Add trim. #29424 (@sunag)
  • TextureUtils

    • Add WebGPU version. #29348 (@Mugen87)
  • TiltLoader

    • Remove addon. #29471 (@Mugen87)
  • Timer

    • Drop fallback to Date.now(). #29233 (@satelllte)
  • TrackballControls

    • Separate mouse action and state logic. #29442 (@Mugen87)
  • TransformControls

    • Derive from Controls. #29146, #29398 (@Mugen87)
  • XRControllerModelFactory

    • Prevent hand input source processing. #29179 (@jorodi)