mrdoob/three.js
 Watch   
 Star   
 Fork   
1 days ago
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)
27 days ago
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)
2024-08-30 14:44:49
three.js

r168

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

  • Global
    • Clean up. #29050, #29057, #29080, #29088, #29104 (@linbingquan, @aardgoose, @WestLangley)
    • Simplify tone mapping nomenclature. #29093 (@WestLangley)
  • Background
    • Fix update when changing env map. #28966 (@Mugen87)
  • BatchedMesh
    • Fix colorsTexture size. #29061 (@agargaro)
    • Fix bounding volume calculation. #29243 (@gfodor)
  • BleachBypassNode
    • Add FX class for bleach color effects. #28974 (@cmhhelgeson)
  • ContextNode
    • Rename context to value. #29131 (@sunag)
  • Controls
    • Move into core. #29136 (@Mugen87)
  • CubeMapNode
    • Add class for auto-conversion of environment maps. #29073 (@Mugen87)
  • GLSLNodeBuilder
    • Add enableExtension(). #28952, #29102 (@cmhhelgeson)
  • InstancedPointsNodeMaterial
    • Simplify extension. #29122 (@aardgoose)
    • Don't rebuild every frame. #29222 (@aardgoose)
    • Add pointWidthNode. #29236 (@cmhhelgeson)
    • Support opacity. #29252 (@RenaudRohlinger)
  • LightProbeNode
    • Add node class for supporting LightProbe with WebGPURenderer. #29068 (@Mugen87)
  • Material
    • Add onBeforeRender() back. #29043 (@Mugen87)
  • MaterialX
    • Add basic support for time and frame. #29149 (@sunag)
    • Fix mx_hsvtorgb and brick_procedural. #29150 (@sunag)
  • MotionBlurNode
    • Add FX class for per-object motion blur. #29058 (@Mugen87, @sunag, @gkjohnson)
  • NodeBuilder
    • Optional comparison methods. #29049 (@sunag)
  • NodeMaterial
    • Use materialReference() for env maps. #28982 (@Mugen87, @sunag)
    • Added support to custom MRT depth. #29117 (@sunag)
    • Does not crash if there is no colorNode. #29141 (@sunag)
  • Nodes
    • Remove keywords. #29129 (@sunag)
    • Add anaglyph and parallax barrier pass nodes. #29184, #29201 (@Mugen87, @cmhhelgeson)
    • Add invocationLocalIndex. #29202 (@cmhhelgeson)
  • OperatorNode
    • Maintain variable types in comparison. #29194 (@cmhhelgeson)
  • PassNode
    • Support for access previous frame textures. #29069 (@sunag)
  • PMREMNode
    • Only generate PMREM with ready image data. #28970, #29044 (@Mugen87)
  • SepiaNode
    • Add FX class for sepia effect. #28961, #28991, #29130 (@cmhhelgeson, @sunag, @WestLangley)
  • ShaderNode
    • Remove isArrayInput. #29205 (@wcandillon)
  • SSAAPassNode
    • Add FX class for Super-Sampling Anti-Aliasing. #29106, #29119 (@Mugen87, @sunag)
  • StereoPassNode
    • Add FX class for stereoscopic rendering. #29173 (@Mugen87)
  • ToneMappingNode
    • Properly handle alpha. #29076 (@WestLangley)
    • Adhere to consistent capitalization. #29091 (@WestLangley)
    • Remove the default value for toneMapping. #29101 (@WestLangley)
  • TSL
    • Add spherizeUV(). #28976 (@sunag)
    • Rename uniforms() to uniformArray(). #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 of Fn(). #29070 (@sunag)
    • Rename remainder() to modInt(). #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 to viewportUV. #29211, #29241 (@sunag)
    • Prevent viewportBottomLeft breaking change and cleanup. #29223 (@RenaudRohlinger)
    • Color space revision. #29248, #29259 (@sunag)
  • VelocityNode
    • Add component for rendering motion vectors per fragment. #29058 (@Mugen87, @sunag, @gkjohnson)
  • ViewportDepthNode
    • Fix material.depthNode=depth assign. #29116 (@sunag)
  • WebGLRenderer
    • Add support for changing the assigned render target depth texture. #28584 (@gkjohnson)
  • WebGPUPipelineUtils
    • Fix blending with premultiplied alpha. #29100 (@Mugen87)
  • WebGPURenderer
    • Add debug.getShaderAsync(). #28997, #29001, #29010 (@Mugen87, @sunag)
    • Apply Scene.environment only on PBR materials. #29033 (@Mugen87)
    • Fix instance meshes that shares the same count. #29066 (@RenaudRohlinger)
    • Enable subgroup directives/builtins. #29053 (@cmhhelgeson)
    • Only use PMREM for background when blurriness is configured. #29089 (@Mugen87)
    • Avoid using proxy in rendering cycle. #29094 (@sunag)
    • Premultiply alpha for clear color. #29103 (@Mugen87)
    • Manual shadow update control via shadow.needsUpdate. #29110 (@RenaudRohlinger)
    • WebGL State improvements. #29132 (@RenaudRohlinger)
    • Don't create duplicate shader programs in the WebGL fallback renderer. #29135 (@aardgoose)
    • New normal nodes approach. #29137 (@sunag)
    • Fix scissor with MSAA for WebGL backend. #29148 (@aardgoose)
    • Fix generateMipmaps() in texture layers for WebGPU backend. #29151 (@sunag)
    • Fix occlusion when rendering to a texture with WebGL backend. #29154 (@aardgoose)
    • Fix linear filter textures w/o mipmaps. #29172 (@RenaudRohlinger)
    • Fix BatchedMesh with indexed geometry. #29174 (@RenaudRohlinger)
    • Remove redundant code. #29176, #29186 (@aardgoose)
    • Align WebGL backend extensions initialization with WebGLRenderer. #29177 (@RenaudRohlinger)
    • Cache GPUBindGroupLayouts. #29158 (@aardgoose, @sunag)
    • Support filterable Float32 textures in WebGPU. #29175 (@RenaudRohlinger)
    • BatchedMesh colors support. #29203 (@RenaudRohlinger)
    • Reduce bindingGroup creation for data texture content updates. #29183 (@aardgoose)
    • Use material name or type to label WebGPU pipelines, add names to Nodes internal materials. #29217 (@aardgoose)
    • Get fallback approach. #29218 (@sunag)
    • Use getPreferredCanvasFormat(). #29221 (@sunag)
    • Fix sync NodeFrame state if render call tree are used. #29230 (@sunag)
    • Improve clippingContext cache key. #29232 (@aardgoose)
    • Support Compressed Texture Array. #29231 (@RenaudRohlinger)
    • Remove duplicate const. #29237 (@aardgoose)
    • Improve Tree-shaking. #29187, #29250 (@sunag)
    • Add signature to shader. #29240 (@WestLangley)
    • getCache() & trackTimestamp check optimization. #29245 (@aardgoose)
    • Rework to use a single renderBundle per Group.static object. #29239 (@aardgoose)
    • Move viewport and scissor to WebGPU convention - top-left. #29249 (@sunag)
    • Fix wrong color space for video textures in WebGL backend. #29254 (@RenaudRohlinger)
    • Ensure correct pixel storage parameters in WebGL backend. #29255 (@RenaudRohlinger)
  • WebXRManager
    • Avoid invalid projection matrices when using depth sensing. #29120 (@mrxz)
  • WGSLNodeBuilder
    • Fix pow() with negative base on Windows. #28971 (@sunag)
    • Fix WGSL vertex code directive typo. #29023 (@cmhhelgeson)

Documentation

  • Improve Audio page. #29099 (@mrxz)
  • Improve Chinese translation. #28965, #29107, #29123, #29229 (@Uiwzen, @puxiao, @appache163)
  • Improve Creating a scene guide. #29118 (@KURELLANAVEEN)

Examples

  • Clean up. #29014, #29086, #29157 (@WestLangley, @0b5vr, @Mugen87)
  • Add webgpu_tsl_vfx_flames example. (@brunosimon)
  • Update webgpu_mrt_mask imports. #28972 (@sunag)
  • Add webgpu_shadowmap_opacity example. #28973 (@sunag)
  • Add webgpu_tsl_coffee_smoke example. #28967 (@brunosimon)
  • Add webgpu_tsl_compute_attractors_particles example. #28983 (@brunosimon)
  • Add webgpu_tsl_halftone example. #28998 (@brunosimon)
  • Add webgpu_tsl_raging_sea example. #29000 (@brunosimon)
  • Fix flickering/black screen on Apple devices with webgpu_mesh_batch. #29002 (@Mugen87)
  • Add webgpu_tsl_earth example. #29003 (@brunosimon)
  • Add webgpu_tsl_procedural_terrain example. #28999 (@brunosimon)
  • Add webgpu_postprocessing_masking example. #29016 (@sunag)
  • Add webgpu_tsl_angular_slicing example. #29007 (@brunosimon)
  • Add webgpu_tsl_vfx_tornado example. #29020 (@brunosimon)
  • Revert "scroll to currently selected example in the sidebar". #29042 (@Mugen87)
  • Improve webgpu_morphtargets_face example. #29047 (@Mugen87)
  • Add performance comparison examples for WebGL and WebGPU renderers. #29077 (@RenaudRohlinger)
  • Use FullScreenQuad in effect addons. #29126 (@Mugen87)
  • Add webgpu_compute_birds example. #29081 (@cmhhelgeson)
  • Update tags. #29155 (@cmhhelgeson)
  • Remove curvature estimation demo. #29171 (@Mugen87)
  • Improve webgl_texture2darray_layerupdate example. #29190 (@HunterLarco)
  • Simplify bloom emissive demo. #29215 (@Mugen87)
  • Remove LogLuvLoader. #29144 (@mrdoob)

Addons

  • AnimationClipCreator

    • Fix timeStep logic in CreateMaterialColorAnimation(). #29111 (@JiDW)
  • ArcballControls

    • Derive from Controls. #29109 (@Mugen87)
  • BleachBypassShader

    • Use luminance(). #29056 (@Mugen87)
  • DragControls

    • Refactor API. #29079 (@Mugen87)
  • FirstPersonControls

    • Derive from Controls. #29097 (@Mugen87)
  • FlyControls

    • Derive from Controls. #29095 (@Mugen87)
  • GLTFExporter

    • Preventing to write null for attenuationDistance. #29035 (@Cold5tar)
  • KTX2Loader

    • Add parse() method for direct buffer processing. #28936 (@laddish)
  • LightProbeHelper

    • Clean up. #29166 (@WestLangley)
  • OrbitControls

    • Derive from Controls. #29142 (@Mugen87)
  • OutlinePass

    • Improve performance of VisibilityChangeCallBack(). #29220 (@Barokoli, @Mugen87)
  • PCDLoader

    • Fix regex to match header fields at line start. #29196 (@lenville)
  • PointerLockControls

    • Derive from Controls. #29085 (@Mugen87)
  • RapierPhysics

    • Add triangular mesh collider. #28993 (@ferminLR)
  • RoomEnvironment

    • Remove obsolete renderer parameter. #29048 (@Mugen87)
  • SkyMesh

    • Add WebGPURenderer version of Sky. #29013, #29015 (@Mugen87, @sunag)
    • Rename up property to avoid name collision. #29199 (@Methuselah96)
  • SSAARender

    • Add property to control the stencil buffer. #29082 (@gdu041)
  • StereoEffect

    • Handle clear differently. #29125 (@Mugen87)
  • TrackballControls

    • Derive from Controls. #29124 (@Mugen87)
  • USDZExporter

    • Improve material export. #29216 (@LynX39)
  • WaterMesh

    • Add WebGPURenderer version of Water. #29019, #29029 (@Mugen87)
  • Water2Mesh

    • Add WebGPURenderer version of Water. #29027 (@Mugen87)
  • WebGL

    • Deprecate isWebGLAvailable() and getWebGLErrorMessage(). #29153 (@Mugen87)

Node Editor

  • Fix imports. #28987 (@Mugen87)
  • Make sure scene is properly resetted. #28992 (@Mugen87)

Editor

  • Add Korean language. #29022 (@shinjeongmin)
  • Remove unused method moveObject(). #29078 (@s-rigaud)
2024-07-25 16:15:43
three.js

r167

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r166--r167 https://github.com/mrdoob/three.js/milestone/80?closed=1

  • Global
    • Add three.webgpu.js and three.webgpu.min.js builds. #28650, #28769 (@sunag)
    • Fix code style. #28888, #28891, #28899, #28907 (@linbingquan, @Mugen87, @sunag, @aardgoose)
  • BatchedMesh
    • Correctly clone data textures. #28805 (@lanvada)
  • Box2, Box3
    • Escape ternary condition in containsPoint() and intersectsBox(). #28871, #28872 (@satelllte)
  • BloomNode
    • Add FX class for Unreal bloom. #28903 (@Mugen87)
  • ColorAdjustmentNode
    • Correct lumaCoeffs. #28861 (@Mugen87)
  • ColorManagement
    • Add getLuminanceCoefficients(). #28880 (@donmccurdy)
  • CubeTextureNode
    • Support CubeRefractionMapping. #28823, #28935 (@Mugen87, @sunag)
  • DepthOfFieldNode
    • Update API and and example. #28772 (@sunag)
  • DenoiseNode
    • Add FX class for applying poisson denoise. #28879, #28882, #28886 (@Mugen87)
  • DotScreenNode
    • Fix updateBefore(). #28885 (@Mugen87)
  • FilmNode
    • Add FX class for film grain effects. #28770 (@Mugen87)
  • FXAANode
    • Add FX class for Fast approximate anti-aliasing. #28859 (@Mugen87)
  • GLSLNodeBuilder
    • Remove Int16Array check from getTypeFromAttribute(). #28920 (@Mugen87)
  • GTAONode
    • Add FX class for Ground Truth Ambient Occlusion. #28844, #28851, #28852, #28883 (@Mugen87)
  • InstancedMesh
    • Add initial value to setColorAt() method. #28854 (@lanvada)
  • LightingModel
    • Refactor indirect lighting. #28824 (@sunag)
  • Lut3DNode.
    • Add FX class for using 3D LUTs for color grading. #28779 (@Mugen87)
  • MathNode
    • Add rand(). #28765 (@Mugen87)
  • Matrix2
    • Add new class. #28923 (@gkjohnson)
  • MeshBasicNodeMaterial
    • Add envMap support. #28795, #28798 (@Mugen87, @sunag)
    • Add lightMap support. #28821 (@Mugen87)
    • Fix transformedNormalView. #28839 (@Mugen87)
  • MRTNode
    • Remove array support and add getNode(). #28914 (@sunag)
  • 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)
  • Nodes
    • Add missing export. #28760 (@RenaudRohlinger)
    • Fix serialization/deserialization. #28944, #28946 (@Mugen87)
  • ObjectLoader
    • Add missing call in parseAsync(). #28777 (@Mugen87)
  • 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 in PassNode. #28922 (@cmhhelgeson)
  • Renderer
    • Move quad out of module scope. #28800 (@Mugen87)
    • Use output color space conversion only when rendering to screen. #28909 (@Mugen87)
  • RGBShiftNode
    • Clean up. #28764 (@Mugen87)
  • RTTNode
    • Introduce node.toTexture() and rtt(). #28773, #28778 (@sunag, @Mugen87)
  • ScriptableNode
    • Fix getCacheKey(). #28964 (@sunag)
  • Shaders
    • Improve packing. #28789 (@WestLangley)
  • TextureNode
    • Add biasNode. #28786, #28787, #28792 (@Mugen87, @sunag, @RenaudRohlinger)
    • Fix texture matrix reference. #28801 (@sunag)
    • Rename _matrixValue to _matrixUniform. #28809 (@sunag)
  • TransitionNode
    • Add FX class for scene transitions. #28847 (@cmhhelgeson)
  • TSL
    • Add matrix conversion. #28890 (@z4122)
    • Add missing types in wgslFn. #28928 (@sunag)
  • WebGLRenderer
    • Revert the removal of redundant clear in transmission pass. #28806 (@Mugen87)
    • Use warnOnce() for deprecation log. #28904 (@davcri)
    • Support GLBufferAttribute with InterleavedBufferAttribute. #28956 (@nkallen)
  • WebGLUniformsGroups
    • Fix buffer offset calculation. #28834 (@Mugen87)
  • WebGPUBindingUtils
    • Define sampleType for all data textures consistently. #28940 (@Mugen87)
  • WebGPURenderer
    • BatchMesh support for instanced rendering with sorting, frustum culling. #28753 (@RenaudRohlinger)
    • Fix individual bind group cache. #28790 (@sunag)
    • Extend max workgroups capabilities. #28846 (@RenaudRohlinger)
    • Fix calculation of instanceIndex in compute shaders. #28865 (@RenaudRohlinger)
    • Fix shadows on objects with receiveShadow=false. #28874 (@RenaudRohlinger)
    • Correct shadows on material rebuilding. #28889 (@aardgoose)
    • Fix edge case when video data is unavailable. #28894 (@aardgoose)
    • Remove deprecated Node.construct() method. #28902 (@aardgoose)
    • Introduce renderer.transparent and renderer.opaque. #28900 (@sunag)
    • Add enable Directive, enable extension support. #28615 (@cmhhelgeson)
    • Add background names. #28911 (@sunag)
    • Fix render target dispose and MRT. #28912 (@sunag)
    • Align integer attribute check of WebGL backend. #28918 (@Mugen87)
    • Instance mesh use binding group instead of attribute. #28726 (@z4122)
    • Add PCFShadowMap support. #28926 (@Mugen87, @sunag)
    • Support to dynamic light.castShadow. #28945 (@sunag)

Documentation

  • Remove redundant definitions. #28860 (@Mugen87)
  • Expand aoMapIntensity description. #28917 (@donmccurdy)

Examples

  • Clean up. #28808, #28832, #28864, #28925, #28929, #28943 (@tomhsiao1260, @WestLangley, @Mugen87, @Methuselah96)
  • Add webgpu_refraction example. #28761, #28766 (@Mugen87, @RenaudRohlinger)
  • Restore look of particle snow demo. #28799 (@Mugen87)
  • Improve the slider in the wide gamut example. #28810 (@WestLangley)
  • Fix wrong color space in webgpu_equirectangular example. #28828 (@Mugen87)
  • Scroll to currently selected example in the sidebar. #28837 (@aardgoose)
  • Update exports in Addons. #28916 (@Methuselah96)
  • Add webgpu_tsl_galaxy example. #28955 (@brunosimon)

Addons

  • GLTFExporter

    • Set willReadFrequently to true when using Canvas 2d. #28893 (@myznikovgleb)
    • Remove unnecessary early return. #28938 (@POPOBE97)
  • SimplifyModifier

    • Fix missing import. #28763 (@yfunk)
  • SSAOPass

    • Fix debug output. #28762 (@Mugen87)
  • Transpiler

    • Fix shader_toy example and update three/tsl import. #28788 (@sunag)
  • UltraHDRLoader

    • Add new loader for loading UltraHDR textures. #28825, #28845, #28932 (@mjurczyk, @Methuselah96)
  • VTKLoader

    • Add support for AppendedData. #28816 (@Mt-Youya)