Releases: uinosoft/t3d-effect-composer
v0.4.0
变更日志
- 重构: 升级 t3d 依赖到 v0.5.x
- 新增: 为 EffectComposer 添加 allowSceneDirectRender 属性
- 新增(addons): 添加 SMAAEffect
- 新增(examples): 为示例页面头部添加 GitHub 链接
- 文档: 改进 README 并添加英文文档
- 构建(examples): 压缩 lowpoly_lake 模型资源
迁移指南
依赖版本升级
从该版本开始,t3d-effect-composer 要求 t3d 版本为 v0.5.x 或更高。在升级前,请确保您的项目中 t3d 版本已升级至 v0.5.x 以上。
渲染状态 API 变更
库内部已迁移至 t3d v0.5.x 的新 RenderTarget 渲染状态设置 API,并支持从传入的 renderTarget 中读取渲染状态。
兼容性处理: 如果您的项目尚未迁移到新的 API 使用方式,可以通过设置以下选项来保持向后兼容:
effectComposer.useTargetStates = false;Effect 实现优化
对于自定义 Effect 的开发者,现在可以使用 effectComposer.$setEffectContextStates 方法来简化实现逻辑,该方法会自动处理 renderTarget 渲染状态的兼容性。
迁移建议: 如果您有自定义的 Effect 实现,建议参考内置 Effect 的代码进行相应改造,以获得更好的性能和兼容性。
Changelog
- refactor: upgrade t3d dependency to v0.5.x
- feat: add allowSceneDirectRender property to EffectComposer
- feat(addons): add SMAAEffect
- feat(examples): add GitHub link to examples header
- docs: improve README and add English documentation
- chore(examples): compress lowpoly_lake model asset
Migration Guide
Dependency Version Upgrade
Starting from this version, t3d-effect-composer requires t3d version v0.5.x or higher. Before upgrading, please ensure that your project's t3d version has been upgraded to v0.5.x or above.
Render State API Changes
The library has migrated to t3d v0.5.x's new RenderTarget render state setting API and supports reading render states from the passed renderTarget.
Compatibility Handling: If your project has not yet migrated to the new API usage, you can maintain backward compatibility by setting the following option:
effectComposer.useTargetStates = false;Effect Implementation Optimization
For custom Effect developers, you can now use the effectComposer.$setEffectContextStates method to simplify implementation logic. This method automatically handles renderTarget render state compatibility.
Migration Recommendation: If you have custom Effect implementations, we recommend referring to the built-in Effect code for corresponding modifications to achieve better performance and compatibility.
Full Changelog: v0.3.4...v0.4.0
v0.3.4
变更日志
- 修复: 修正反向对数深度计算
- 修复: 修正材质释放时的变量引用
- 修复: 减少透射渲染中的采样伪影
- 新增(addons): 新增 ContactShadowEffect
- 新增(addons): 为体积效果着色器添加 TEXTURE_CLIP_OVERFLOW选项以改进裁剪控制
- 新增(examples): 新增 advanced_prez示例
Changelog
- fix: correct reverse log depth calculation
- fix: correct material reference on dispose
- fix: reduce sampling artifacts in transmission rendering
- feat(addons): add ContactShadowEffect
- feat(addons): add TEXTURE_CLIP_OVERFLOWoption to volume effect shader for improved clipping control
- feat(examples): add advanced_prezexample and update files.json
Full Changelog: v0.3.3...v0.3.4
v0.3.3
变更日志
从此版本开始,示例依赖已改为通过 npm 进行管理。在首次运行示例之前,请先执行 npm run install-examples 命令来安装示例所需的依赖包。
- 功能: 为 SceneBuffer添加postRenderLayers属性以用来处理透射和覆盖渲染
- 性能: 为 SSREffect添加视锥体裁剪优化
- 维护: 将 eslint 更新到 9.x 版本
- 功能(插件): 为 SnowEffect添加体积裁剪支持
- 功能(插件): 为 SnowEffect雪覆盖添加可配置的噪声控制
- 功能(插件): 引入 VolumeLightingGenerator体积光照生成器
- 功能(插件): 引入 KuwaharaEffect桑原效果
- 修复(插件): 解决 VolumeEffect中的内部渲染问题
- 修复(插件): 从 ThicknessBuffer中移除对数深度处理
- 修复(插件): 修正相机位于裁剪体积内时 SnowEffect的雪覆盖问题
- 构建(示例): 将示例的 t3d 依赖更新到 0.4.3 版本
- 维护(示例): 通过 npm 管理示例依赖并新增部署脚本
Changelog
Starting from this version, example dependencies are now managed through npm. Please run npm run install-examples to install the required dependencies before running the examples for the first time.
- feat: add postRenderLayersproperty toSceneBufferto handle transmission and overlay rendering
- perf: add frustum clipping to SSREffect
- chore: update eslint to version 9.x
- feat(addons): add volume clipping support to SnowEffect
- feat(addons): add configurable noise control to SnowEffectsnow coverage
- feat(addons): introduce VolumeLightingGenerator
- feat(addons): introduce KuwaharaEffect
- fix(addons): resolve interior rendering issue in VolumeEffect
- fix(addons): remove log depth handling from ThicknessBuffer
- fix(addons): correct snow coverage in SnowEffectwhen camera is inside clipping volume
- build(examples): update t3d to 0.4.3
- chore(examples): manage examples dependencies via npm and add deployment scripts
Full Changelog: v0.3.2...v0.3.3
v0.3.2
变更日志
- 构建:支持 t3d v0.4.x版本
- 修复(扩展):修复 TransmissionBuffer中的深度处理
Changelog
- build: support t3d v0.4.x
- fix(addons): correct depth handling in TransmissionBuffer
Full Changelog: v0.3.1...v0.3.2
v0.3.1
变更日志
- 特性: 为 EffectComposer添加depthTextureAttachment选项
- 特性: 为 SSREffect添加importanceSampling
- 特性: 为 SSREffect添加zThicknessThreshold属性
- 特性: 为 GBuffer添加supportLogDepth属性
- 特性: 为 GTAOEffect、SSAOEffect和SSREffect添加downScaleLevel属性
- 构建: 更新 t3d 到 0.3.2
- 特性(插件): 添加 TransmissionEffect
- 特性(插件): 引入 FastGBuffer
- 修复(插件): 解决 VolumeEffect中的颜色混合错误
- 修复(插件): 解决 TransmissionEffect中的颜色混合问题
- 重构(示例): 在示例中用 RGBETexture2DLoader替换RGBELoader
Changelog
- feat: add depthTextureAttachmentoption toEffectComposer
- feat: add importanceSamplingtoSSREffect
- feat: add zThicknessThresholdproperty toSSREffect
- feat: add supportLogDepthproperty toGBuffer
- feat: add downScaleLevelproperty toGTAOEffectSSAOEffectandSSREffect
- build: update t3d to 0.3.2
- feat(addons): add TransmissionEffect
- feat(addons): introduce FastGBuffer
- fix(addons): resolve color blending bug in 'VolumeEffect'
- fix(addons): resolve color blending issue in TransmissionEffect
- refactor(examples): replace RGBELoaderwithRGBETexture2DLoaderin examples
Full Changelog: v0.3.0...v0.3.1
v0.3.0
迁移指南
把 t3d-effect-composer 从 v0.2.x 升级到 v0.3.x,主要注意以下问题,否则可能会导致升级后项目运行失败:
- t3d-effect-composer的- v0.3.x版本依赖- t3d@0.3.0及以后版本,依赖更早的版本可能会引发错误
- 移除针对 EffectComposer.setGeometryReplaceFunction的兼容代码
- 移除针对 EffectComposer.customRenderLayers的兼容代码
- 移除针对 GBufferDebugger.DebugTypes.Glossiness的兼容代码
- EffectComposer移除- halfFloatMarkBuffer选项,如有需要,建议重载 mark buffer 类来实现同等的功能。
- SSREffect.mixType接口新增废弃告警,建议使用- SSREffect.falloff代替
变更日志
- 特性:为 EffectComposer添加hdrMode选项
- 重构:移除已弃用的代码
- 构建:将 t3d 更新到 0.3.0
- 修复(插件):在 GTAOEffect 中添加对正交相机的支持
- 重构(插件):优化 ThicknessBuffer 的内存使用
- 重构(示例):GBuffer默认使用16位颜色缓冲
Migration Guide
When upgrading t3d-effect-composer from v0.2.x to v0.3.x, please pay attention to the following issues to avoid potential project failures after the upgrade:
- The v0.3.xversion oft3d-effect-composerdepends ont3d@0.3.0or later. Depending on earlier versions may cause errors.
- Remove compatibility code for EffectComposer.setGeometryReplaceFunction.
- Remove compatibility code for EffectComposer.customRenderLayers.
- Remove compatibility code for GBufferDebugger.DebugTypes.Glossiness.
- EffectComposerhas removed the- halfFloatMarkBufferoption. If needed, it is recommended to override the mark buffer class to achieve equivalent functionality.
- The SSREffect.mixTypeinterface now has a deprecation warning. It is recommended to useSSREffect.falloffinstead.
Changelog
- feat: add hdrModeoption toEffectComposer
- refactor: remove deprecated code
- build: update t3d to 0.3.0
- fix(addons): add support for orthographic camera in GTAOEffect
- refactor(addons): optimize memory usage of ThicknessBuffer
- refactor(examples): use half-float GBuffer by default
Full Changelog: v0.2.2...v0.3.0
v0.2.2
变更日志
- 特性:VolumeEffect新增蓝噪声设置
- 修复:提升默认深度缓冲的精度16->24
- 特性(addons):新增ColorSketchEffect
- 特性(addons):ThicknessBuffer新增backDepthFunc属性
- 修复(addons):优化VolumeEffect中2d纹理的采样效果
- 修复(addons):解决DecalShader开启对数深度渲染错误的问题
- 修复(addons):解决Decal开启anchor matrix后渲染错误的问题
- 构建:为examples/jsm增加addons别名
Changelog
- feat: add blue noise to VolumeEffect
- fix: improve precision of default depth buffers
- feat(addons): introduce ColorSketchEffect
- feat(addons): introduce backDepthFunctoThicknessBuffer
- fix(addons): optimize linear sampling of 2d texture in VolumeEffect
- fix(addons): resolve error in DecalShaderwhen enabling log depth
- fix(addons): resolve error in Decalwhen using anchor matrix
- build: add alias addonstoexamples/jsminpackage.json
Full Changelog: v0.2.1...v0.2.2
v0.2.1
v0.2.0
Breaking Changes
- feat: add metalnessoutput and compressnormalinGBuffer(RG: normal, B: metalness, A: roughness)
Changelog
- feat: introduce maskStrengthto bothGlowEffectandSoftGlowEffect
- feat: introduce halfFloatMarkBufferparameter toEffectComposer
- feat: add NeutralandAgXoptions toToneMappingEffect
- fix: use half-float color in mark buffers when hdris enabled
- fix: correct ssr color mixing
- refactor: remove deprecated code
- build: update t3d to 0.2.6
- fix(addons): render target release bug in TransitionEffect
- refactor(examples): remove useless code in advanced_volume
Full Changelog: v0.1.2...v0.2.0