r168
版本发布时间: 2024-08-30 14:45:13
mrdoob/three.js最新发布版本:r170(2024-10-31 15:07:49)
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)
- Fix
- BleachBypassNode
- Add FX class for bleach color effects. #28974 (@cmhhelgeson)
- ContextNode
- Rename
context
tovalue
. #29131 (@sunag)
- Rename
- Controls
- Move into core. #29136 (@Mugen87)
- CubeMapNode
- Add class for auto-conversion of environment maps. #29073 (@Mugen87)
- GLSLNodeBuilder
- Add
enableExtension()
. #28952, #29102 (@cmhhelgeson)
- Add
- InstancedPointsNodeMaterial
- Simplify extension. #29122 (@aardgoose)
- Don't rebuild every frame. #29222 (@aardgoose)
- Add
pointWidthNode
. #29236 (@cmhhelgeson) - Support opacity. #29252 (@RenaudRohlinger)
- LightProbeNode
- Add node class for supporting
LightProbe
withWebGPURenderer
. #29068 (@Mugen87)
- Add node class for supporting
- Material
- Add
onBeforeRender()
back. #29043 (@Mugen87)
- Add
- MaterialX
- Add basic support for
time
andframe
. #29149 (@sunag) - Fix
mx_hsvtorgb
andbrick_procedural
. #29150 (@sunag)
- Add basic support for
- 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)
- Use
- 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)
- Remove
- 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()
touniformArray()
. #28910, #28979 (@cmhhelgeson, @Mugen87) - Introduce
billboarding()
. #29011 (@sunag) - Introduce
viewportSafeUV()
. #29025, #29067 (@sunag) - Flow control function names revision. #29064, #29090 (@sunag, @aardgoose)
- Remove
stack
parameter ofFn()
. #29070 (@sunag) - Rename
remainder()
tomodInt()
. #29092 (@cmhhelgeson) - Deferred function call and
once()
. #29121 (@sunag) - Support instancing and skinning without normals. #29134 (@RenaudRohlinger)
- Use TSL approach in more modules. #29178, #29188 (@sunag)
- Introduce
flip*()
syntax. #29208 (@sunag) - Rename
viewportTopLeft
toviewportUV
. #29211, #29241 (@sunag) - Prevent
viewportBottomLeft
breaking change and cleanup. #29223 (@RenaudRohlinger) - Color space revision. #29248, #29259 (@sunag)
- Add
- VelocityNode
- Add component for rendering motion vectors per fragment. #29058 (@Mugen87, @sunag, @gkjohnson)
- ViewportDepthNode
- Fix
material.depthNode=depth
assign. #29116 (@sunag)
- Fix
- 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)
- Cache
textureViews
for reuse inbindGroup
. #29257, #29261 (@aardgoose, @sunag)
- Add
- 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)
- Fix
Documentation
- Improve
Audio
page. #29099 (@mrxz) - Improve Chinese translation. #28965, #29107, #29123, #29229 (@Uiwzen, @puxiao, @appache163)
- Improve
Creating a scene
guide. #29118 (@KURELLANAVEEN)
Examples
- Clean up. #29014, #29086, #29157 (@WestLangley, @0b5vr, @Mugen87)
- Add
webgpu_tsl_vfx_flames
example. (@brunosimon) - Update
webgpu_mrt_mask
imports. #28972 (@sunag) - Add
webgpu_shadowmap_opacity
example. #28973 (@sunag) - Add
webgpu_tsl_coffee_smoke
example. #28967 (@brunosimon) - Add
webgpu_tsl_compute_attractors_particles
example. #28983 (@brunosimon) - Add
webgpu_tsl_halftone
example. #28998 (@brunosimon) - Add
webgpu_tsl_raging_sea
example. #29000 (@brunosimon) - Fix flickering/black screen on Apple devices with
webgpu_mesh_batch
. #29002 (@Mugen87) - Add
webgpu_tsl_earth
example. #29003 (@brunosimon) - Add
webgpu_tsl_procedural_terrain
example. #28999 (@brunosimon) - Add
webgpu_postprocessing_masking
example. #29016 (@sunag) - Add
webgpu_tsl_angular_slicing
example. #29007 (@brunosimon) - Add
webgpu_tsl_vfx_tornado
example. #29020 (@brunosimon) - Revert "scroll to currently selected example in the sidebar". #29042 (@Mugen87)
- Improve
webgpu_morphtargets_face
example. #29047 (@Mugen87) - Add performance comparison examples for WebGL and WebGPU renderers. #29077 (@RenaudRohlinger)
- Use
FullScreenQuad
in effect addons. #29126 (@Mugen87) - Add
webgpu_compute_birds
example. #29081 (@cmhhelgeson) - Update tags. #29155 (@cmhhelgeson)
- Remove curvature estimation demo. #29171 (@Mugen87)
- Improve
webgl_texture2darray_layerupdate
example. #29190 (@HunterLarco) - Simplify bloom emissive demo. #29215 (@Mugen87)
- Remove
LogLuvLoader
. #29144 (@mrdoob) - Fixed smoothstep usage failing to compile in Chrome Beta. #29265 (@mrdoob)
Addons
-
AnimationClipCreator
- Fix timeStep logic in
CreateMaterialColorAnimation()
. #29111 (@JiDW)
- Fix timeStep logic in
-
ArcballControls
- Derive from
Controls
. #29109 (@Mugen87)
- Derive from
-
BleachBypassShader
- Use
luminance()
. #29056 (@Mugen87)
- Use
-
DragControls
- Refactor API. #29079 (@Mugen87)
-
FirstPersonControls
- Derive from
Controls
. #29097 (@Mugen87)
- Derive from
-
FlyControls
- Derive from
Controls
. #29095 (@Mugen87)
- Derive from
-
GLTFExporter
- Preventing to write
null
forattenuationDistance
. #29035 (@Cold5tar)
- Preventing to write
-
KTX2Loader
- Add
parse()
method for direct buffer processing. #28936 (@laddish)
- Add
-
LightProbeHelper
- Clean up. #29166 (@WestLangley)
-
OrbitControls
- Derive from Controls. #29142 (@Mugen87)
-
OutlinePass
- Improve performance of
VisibilityChangeCallBack()
. #29220 (@Barokoli, @Mugen87)
- Improve performance of
-
PCDLoader
- Fix regex to match header fields at line start. #29196 (@lenville)
-
PointerLockControls
- Derive from
Controls
. #29085 (@Mugen87)
- Derive from
-
RapierPhysics
- Add triangular mesh collider. #28993 (@ferminLR)
-
RoomEnvironment
- Remove obsolete
renderer
parameter. #29048 (@Mugen87)
- Remove obsolete
-
SkyMesh
- Add
WebGPURenderer
version ofSky
. #29013, #29015 (@Mugen87, @sunag) - Rename
up
property to avoid name collision. #29199 (@Methuselah96)
- Add
-
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 ofWater
. #29019, #29029 (@Mugen87)
- Add
-
Water2Mesh
- Add
WebGPURenderer
version ofWater
. #29027 (@Mugen87)
- Add
-
WebGL
- Deprecate
isWebGLAvailable()
andgetWebGLErrorMessage()
. #29153 (@Mugen87)
- Deprecate
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)