Three.js r181

r181
Added 2
  • Support wireframe in MeshMatcapMaterial
  • Add hints in comments in NodeBuilder
Changed 9
  • Use internal log, warn and error functions instead of the system ones
  • Updated Earcut to latest version
  • Lazily instantiate abort controller in LoadingManager
  • Simplify caching in NodeFrame
  • Implement GGX VNDF importance sampling in PMREMGenerator
  • Rewrite slerp() and slerpFlat() in Quaternion
Fixed 9
  • Honor updateRanges in InstanceNode
  • Fix alpha discard in NodeMaterial
  • Honor aoNode in NodeMaterial clone()
  • Ensure clear of internal render target in PassNode
  • Fix Favg assignment in PhysicalLightingModel
  • Fix resize of 3D textures in RenderTarget
Removed 1
  • Remove WebGL 1.0 compatibility code in WebGLRenderer

https://github.com/mrdoob/three.js/wiki/Migration-Guide#180--181 https://github.com/mrdoob/three.js/milestone/94?closed=1

  • Global
    • Use internal log, warn and error functions instead of the system ones. #31790 (@sunag)
  • Earcut
    • Updated to latest version. #31956 (@tonybart1337)
  • InstanceNode
    • Honor updateRanges. #31816 (@Mugen87)
  • LoadingManager
    • Lazily instantiate abort controller. #32120 (@NuroDev)
  • MeshMatcapMaterial
    • Support wireframe. #31917 (@WestLangley)
  • NodeBuilder
    • Add hints in comments. #32004 (@cmhhelgeson)
  • NodeFrame
    • Simplify caching. #31896 (@cmhhelgeson)
  • NodeMaterial
    • Fix alpha discard. #31927 (@Mugen87)
    • Honor aoNode in clone(). #32084 (@querielo)
  • PassNode
    • Ensure clear of internal render target. #31993 (@Mugen87)
  • PhysicalLightingModel
    • Fix Favg assignment. #32094 (@sunag)
  • PMREMGenerator
    • Implement GGX VNDF importance sampling. #32114, #32134, #32148, #32154, #32225, #32310 (@mrdoob)
  • Quaternion
    • Rewrite slerp() and slerpFlat(). #31875 (@WestLangley)
  • RenderTarget
    • Fix resize of 3D textures. #31854 (@Mugen87)
  • Sampler
    • Don't set _texture to null. #31874 (@Mugen87)
  • ShadowNode
    • Fix shadows in first frame. #32021 (@Mugen87)
  • TextureNode
    • Manage y-flip as a uniform. #31929 (@Mugen87, @sunag)
  • TSL
    • Clone PassMultipleTextureNode with offsetNode. #31849 (@shotamatsuda)
    • Fix onDispose listener not being removed in Sampler. #31868 (@shotamatsuda)
    • Minor fixes. #31808 (@Mugen87)
    • Fix coordinate types for load() on 3D texture nodes. #31775 (@shotamatsuda)
    • Add member type support for layout function parameter. #31838 (@sunag)
    • Fix conditional cache and introduce isolate(). #31973, 594893f13ea9f252a2e918d2c3755878157220cb (@sunag)
    • Forces assignment of a function call if a loop is detected. #31974 (@sunag)
    • Fix auto type conversion for layout parameters. #32059 (@sunag)
    • Resolve some name collision. #32032 (@sunag)
    • Move Interleaved Gradient Noise into PostProcessingUtils. #32074 (@Mugen87)
    • Fix recursive cache key. #32070 (@sunag)
    • Fix size computations in FX/RTT nodes. #32077 (@Mugen87)
    • Ensure nodeProxyIntent always sets intent: true. #32092 (@querielo)
    • Refactor positionViewDirection to handle orthographic camera cases. #32088 (@querielo)
    • Fix overloadingFn return type. #32112 (@sunag)
    • Add active stack and improve "node block" support. #32109 (@sunag)
    • Assign stack for nodes after remove stack. #32137 (@sunag)
    • Add OnBefore* events. #32144, 1d9c5a0859ac357488443d62b44ed2c457915fc1 (@sunag)
    • Fix get element through an output Fn value. #32143 (@sunag)
  • VideoTexture
    • Reset internal state rVFCId on dispose. #32082 (@ycw)
  • WebGLRenderer
    • Fix WebXR Depth Sensing. #31831 (@cabanier)
    • Use DFG LUT instead of analytical approximation. #32054, 9b0d0937c75eab4d46f5f66b3e0c18bcb1f8c07b, 5e3cd6c52b3151a7243a0dd639334c7ce4d9c320, 361853114a24b7df70df907d3f38d1997a24b34d, e225530224722d9df1e392dbfcffc7dbdbe46a4a (@mrdoob)
    • Clean up. 39b05002504a06b6a58a07570b0a6231f9390417 (@mrdoob)
    • Remove WebGL 1.0 compatibility code. #32071, 62e6f436cec8bae9a55f47f7fca16629ea0eb679 (@mrdoob)
    • Add multi-scattering energy compensation for direct lighting. #32072 (@mrdoob)
    • Improve rough reflection mixing for IBL. #32102 (@mrdoob)
  • WebGPURenderer
    • Guard reference to VideoFrame. #31864 (@Mugen87)
    • Prevent dispose of default textures. #31860 (@Mugen87)
    • Fix renderer not being garbage collected. #31798 (@shotamatsuda)
    • Properly delete compute node bindings in dispose(). #31832 (@cmhhelgeson)
    • Properly delete bind groups when render objects are disposed. #31879 (@cmhhelgeson)
    • Align copyTextureToTexture() with WebGLRenderer. #31810 (@shotamatsuda)
    • Fix shadow's alphaTest if used material.map. #31803 (@sunag)
    • Add cache for shadow nodes. #31880 (@sunag)
    • Decouple samplers from textures. #31899 (@Mugen87)
    • Introduce Inspector. #31869, #31928, #31958, #31963, #31962, #31982, #31997, #32003, #32007 (@sunag)
    • Fix rendering morphed meshes. #31904 (@Mugen87)
    • Skip resolving anti-aliasing twice. #31743, #31924 (@sunag)
    • Introduce CanvasTarget. #31919 (@sunag)
    • Make Render Bundle work with MRT. #31906 (@Berthur)
    • Fix tone mapping mode detect. #31957 (@sunag)
    • Fix binding sampler update. #31971 (@sunag)
    • Fix logs in WebGL backend. #31978 (@Mugen87)
    • Fix compressed texture feature detection for WebGL backend. #31980 (@Mugen87)
    • Adjustments and Polyfill in GLSLNodeBuilder. #31999 (@cmhhelgeson)
    • Fix functions with struct layouts cannot resolve struct types. #32000 (@shotamatsuda)
    • Allow manual mipmap creation with StorageTexture. #31983, #32039 (@RenaudRohlinger)
    • Deprecate renderAsync(), computeAsync() and related async methods. #32022, #32026, #32029, #32033, #32042, #32063 (@Mugen87, @sunag)
    • Remove waitForGPU(). #32024 (@Mugen87)
    • Fix transmission flicker. #32043 (@Mugen87)
    • Add multi-scattering energy compensation for direct lighting. #32089 (@mrdoob)
    • Improve rough reflection mixing for IBL. #32108 (@mrdoob)
    • Fix material transparent assignment. #32110 (@sunag)
    • Enable dynamic shadowMap type switching. #32105 (@querielo)
    • Introduce dispatchWorkgroupsIndirect #31488 (@Spiri0)
    • Improve shader validation #32130 (@sunag)
    • Fix dispose RenderTarget textures. #32131 (@sunag)
    • Fix types for indirect compute and modify example to show usage. #32129 (@TheBlek)
    • Improve cache key verification. #32138 (@sunag)
  • XRManager
    • Reset XRWebGLBinding on session end. #31835 (@harryhjsh)

Docs

  • Document animation loop parameter. #31853 (@Mugen87)
  • Add PLYLoader page. #31848 (@mmjinglin163)
  • Improve AnimationClip page. #31915 (@kang-git)
  • Improve Chinese translation. #31806, #31817, #31828, #32041 (@mmjinglin163, @pangda9527)
  • Improve JSDoc. #31822, #31819, #32017 (@s-rigaud)
  • Update link to packLDrawModel script extension. #31938 (@jjohnson5253)
  • Improve translation accuracy and consistency. #31960 (@puxiao)
  • Added redirects for old docs URL. #31986 (@mrdoob)
  • Reduce folder size of new docs. #31992 (@mrdoob)
  • Updated templates with old design. #32002 (@mrdoob)
  • Generate old docs system and design. #32036, 28dcaf5f9db3326dc40eb98d377b48e72afbf771, 64d3d974170722d303d49b77b48d7e466da2608d, ed360e81958bbebd4a4c0bf4ae254dc884aa5593, a02ba14525946ce991a6a119449b7ea9c04f358e, 4b510dfb7df38ac8aa1e0a7f64a2b3550dbc7615, 1ef293278f707f7f715c0313772bc86d10d3216c, a4777982c4b1c1ba3106fd59a10393172bfd63cb (@mrdoob)
  • New Docs: Add translation disable flags. #32048 (@mrdoob)
  • Add type annotations for dispatch size in ComputeNode. #32068 (@shotamatsuda)
  • Improve GLTFLoader page. #32096 (@marwie)
  • Removed legacy docs. #32117
  • Added new docs generated with JSDocs. #32118, 96fe466f8edce6e90f7c48a6fe252a2b22f7b667 (@mrdoob)
  • Update JSDoc links for better readability. #32132 (@marwie)
  • Fixed properties layout. #32156 (@mrdoob)

Manual

  • Don’t open external URLs in iFrame. #31856 (@xjh22222228)
  • Manual: Improve Responsive guide. #31942 (@davcri)

Examples

  • Clean up. #31830, #31829, #31823, #31855, #31843, #31811, #31842, #31844, #31824, #31898, #31887, #31914, #32011, #32018, #32051, #32057 (@WestLangley, @s-rigaud, @Methuselah96, @Mugen87)
  • Use instancing in webgpu_compute_birds example. #31766 (@cmhhelgeson)
  • Add WebGPU HDR example. #31893 (@RenaudRohlinger)
  • Update with the new style and inspector. #31907, #31951, #31954, #31964, #31976, #31984, #31995, #32060 (@sunag, @Mugen87)
  • Set OrthographicCamera near plane >= 0. #31912 (@WestLangley)
  • Use globalId in compute water demo, update IndexNode comments. #31941 (@cmhhelgeson)
  • Add shadow intensity to spotlight examples. #31972 (@WestLangley)
  • Don’t use property() for creating variables. #32028 (@shotamatsuda)
  • Improve webgl_watch example. b61441df2e92a487f3063cd44cc614be8bbd9a4a (@mrdoob)
  • Improve webgl_postprocessing_unreal_bloom example. 2cff1474de2e0037c12bc46c1d9d472f14b04637 (@mrdoob)
  • Apply camera constraint immediately in WebGPU bloom demo. #32081 (@ycw)
  • Fix output control in SSS demo. #32083 (@ycw)
  • Add bloom strength to webgl_postprocessing_unreal_bloom_selective. #32125 (@querielo)
  • Visualize normal as color in webgpu_postprocessing_ao. #32141, #32153 (@ycw, @sunag)

Addons

  • AfterImageNode

    • Fix swap. #32140 (@Mugen87)
  • AsciiEffect

    • Remove noise from black texture. #31858 (@s-rigaud)
  • BitonicSort

    • Add new bitonic sort addon. #31852, #31949 (@cmhhelgeson)
  • CSS2DRenderer

    • Add sortObjects. #31946 (@Konseyy)
  • CSSRenderer

    • Ensure element exists when execute remove. #31905 (@xiaoliyooo)
  • DRACOLoader

    • Implement data alignment for WebGPU. #31991 (@donmccurdy)
  • FontLoader

    • Add text direction. #31683, #32078 (@Rikahei)
  • GlitchPass

    • Fix heightMap member name. #32047 (@joey8angelo)
  • GTAONode

    • Optimize render target format. #31883 (@Mugen87)
    • Add basic support for temporal filtering. #32076 (@Mugen87)
  • HTMLMesh

    • Fix dimensions of canvas drawing. #31931 (@pvtech-adam)
  • KTX2Loader

    • Fix ETC1S/UASTC prioritization. #31871 (@zeux)
    • Honor setRequestHeader(). #32115 (@LR17)
  • MaterialXLoader

    • Use ImageBitmapLoader to prevent blocking. 154e14558021d0aae2770eafb621741ac25680e4, bca53e60926c4afb05c6d16672c00554d9c8bbde (@mrdoob)
  • ProgressiveLightMap

    • Make normals mandatory. #31825 (@Mugen87)
  • SelectionBox

    • Add support for BatchedMesh. #32052 (@sunjiang0018)
  • SSGINode

    • New node for screen-space global illumination. #31839, #31865, #31867, #31863, #31873, #31881, #31890, #31882 (@Mugen87, @zalo)
  • SSSNode

    • Add new node for Screen-Space Shadows. #32050 (@Mugen87)
  • SVGLoader

    • Make node transform parsing more robust. #31985 (@Mugen87)
  • TRAANode

    • Reduce Ghosting/Smearing. #31895 (@zalo)
    • Make depth copy more robust. #31908 (@Mugen87)
    • Add adaptive blend weights. #32139 (@Mugen87)
  • TSL Transpiler

    • Fix immutable to dynamic parameter conversion and shadertoy example. #31996 (@sunag)
  • TubePainter

    • Improved generated geometry and added caps. #32025 (@mrdoob)
    • Fixed end caps and removed object allocations. #32030, 21009ebc442a3566e76ba0f4d9b8b19a5c910c7d (@mrdoob)
  • UnrealBloomPass

    • Backported blur improvements. 057d341afde09e38c59037e39fc81198b241258d (@mrdoob)
  • USDZExporter

    • Improve material prop types and setup. #32008 (@mkeblx)
  • ViewHelper

    • Add OffscreenCanvas support. #32128, f957f0b2adada81cb7c1de6fe34a79ead0026a93, babe7f2cc2946b87cdf5e6958fb660bc8ba5d8a3 (@Mugen87)
  • WaterMesh

    • Fix incorrect resolution scale assignment. #32056 (@jonsmithers)
  • XRHandModelFactory

    • Fix inverted hand models. #31634 (@jorodi)

Tests

  • Remove obsolete material callbacks. #31876 (@codyjasonbennett)
  • Improved E2E robustness. #32091, #32090, b3dde01ebb2509893dc41a9d29bd6dfba1794731, 3a987fad398939a7b6a2c4e9b7d2dd5df99ffa50 (@mrdoob)

Editor

  • Fix material reference in SetMaterialRangeCommand. #32080 (@ycw)

Node Editor

  • Fix usage of timerLocal. #31889 (@Mugen87)
View original

Upgraded? How did it go?

Discussion