Skip to content

Releases: uinosoft/t3d-effect-composer

v0.4.0

30 Sep 03:49

Choose a tag to compare

变更日志

  • 重构: 升级 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

27 Aug 03:33

Choose a tag to compare

变更日志

  • 修复: 修正反向对数深度计算
  • 修复: 修正材质释放时的变量引用
  • 修复: 减少透射渲染中的采样伪影
  • 新增(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_OVERFLOW option to volume effect shader for improved clipping control
  • feat(examples): add advanced_prez example and update files.json

Full Changelog: v0.3.3...v0.3.4

v0.3.3

02 Jul 08:00

Choose a tag to compare

变更日志

从此版本开始,示例依赖已改为通过 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 postRenderLayers property to SceneBuffer to 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 SnowEffect snow 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 SnowEffect when 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

28 Feb 10:37

Choose a tag to compare

变更日志

  • 构建:支持 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

15 Jan 10:17

Choose a tag to compare

变更日志

  • 特性: 为 EffectComposer 添加 depthTextureAttachment 选项
  • 特性: 为 SSREffect 添加 importanceSampling
  • 特性: 为 SSREffect 添加 zThicknessThreshold 属性
  • 特性: 为 GBuffer 添加 supportLogDepth 属性
  • 特性: 为 GTAOEffectSSAOEffectSSREffect 添加 downScaleLevel 属性
  • 构建: 更新 t3d 到 0.3.2
  • 特性(插件): 添加 TransmissionEffect
  • 特性(插件): 引入 FastGBuffer
  • 修复(插件): 解决 VolumeEffect 中的颜色混合错误
  • 修复(插件): 解决 TransmissionEffect 中的颜色混合问题
  • 重构(示例): 在示例中用 RGBETexture2DLoader 替换 RGBELoader

Changelog

  • feat: add depthTextureAttachment option to EffectComposer
  • feat: add importanceSampling to SSREffect
  • feat: add zThicknessThreshold property to SSREffect
  • feat: add supportLogDepth property to GBuffer
  • feat: add downScaleLevel property to GTAOEffect SSAOEffect and SSREffect
  • 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 RGBELoader with RGBETexture2DLoader in examples

Full Changelog: v0.3.0...v0.3.1

v0.3.0

27 Sep 10:03

Choose a tag to compare

迁移指南

t3d-effect-composerv0.2.x 升级到 v0.3.x,主要注意以下问题,否则可能会导致升级后项目运行失败:

  • t3d-effect-composerv0.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.x version of t3d-effect-composer depends on t3d@0.3.0 or 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.
  • EffectComposer has removed the halfFloatMarkBuffer option. If needed, it is recommended to override the mark buffer class to achieve equivalent functionality.
  • The SSREffect.mixType interface now has a deprecation warning. It is recommended to use SSREffect.falloff instead.

Changelog

  • feat: add hdrMode option to EffectComposer
  • 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

06 Aug 09:39

Choose a tag to compare

变更日志

  • 特性: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 backDepthFunc to ThicknessBuffer
  • fix(addons): optimize linear sampling of 2d texture in VolumeEffect
  • fix(addons): resolve error in DecalShader when enabling log depth
  • fix(addons): resolve error in Decal when using anchor matrix
  • build: add alias addons to examples/jsm in package.json

Full Changelog: v0.2.1...v0.2.2

v0.2.1

23 May 02:33

Choose a tag to compare

Changelog

  • fix(addons): fix lensflare shader bug

Full Changelog: v0.2.0...v0.2.1

v0.2.0

22 May 09:46

Choose a tag to compare

Breaking Changes

  • feat: add metalness output and compress normal in GBuffer (RG: normal, B: metalness, A: roughness)

Changelog

  • feat: introduce maskStrength to both GlowEffect and SoftGlowEffect
  • feat: introduce halfFloatMarkBuffer parameter to EffectComposer
  • feat: add Neutral and AgX options to ToneMappingEffect
  • fix: use half-float color in mark buffers when hdr is 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