SuperAPI AI 工具集

threejs-bloom

通用与其它

查看项目

更新于 10-16 00:00

技能介绍

用途:在 Three.js WebGPU/TSL 中实现泛光效果,将其视为成像点扩散函数的宽尾,最贴近的输入是场景线性 HDR 辐射度。选择性贡献属于艺术方向分支,不是自动画质升级。

主要能力与流程:

  1. 校验源场景:采集场景线性 HDR、伪彩预色调亮度与关闭泛光的最终图;若高光被截断或关闭泛光后轮廓、材质、光照身份消失,应先修复源。
  2. 选择信号:在全场景 HDR、选择性自发光贡献、场景 HDR 加选择性增强、延后泛光之间选择,并说明省略项与误差、目标设备成本限制。
  3. 构建单次场景通道:全场景与选择性泛光共用一次 HDR 场景遍历;选择性泛光在同一通道加入自发光 MRT 输出并设 BlendMode(MaterialBlending),需提供显式贡献 RGBA。r185 中材质级 mrtNode 合并可能丢失有效混合模式映射,规范选择性路径应保留在常规 emissiveNode。最终输出 alpha 分支需在加泛光 RGB 前确定:不透明或已合成用 vec4(scene.rgb + bloom.rgb, 1);透明覆盖裁剪用 vec4(scene.rgb + bloom.rgb, scene.a) 并接受源覆盖外的眩光被丢弃;需保留源覆盖外光晕时,应在 renderOutput() 前对已知背景合成,或单独发布眩光 RGB。
  4. 设置阈值与足迹:明确阈值域(场景参考、曝光线性、显示参考),阈值与软膝需一起转换;半径是跨 mip 扩散而非物理半径。r185 五级链要求 floor(bloomScale * min(drawingBufferWidth, drawingBufferHeight)) >= 16。
  5. 接入最终图像图:默认顺序为稳定场景线性 HDR → 时域解析(如有)→ 排除透明/折射层 → 泛光前测光抽头 → 泛光提取、模糊与 RGB 相加 → 适配曝光 → 色调映射、调色与一次输出转换。改变活动输出图后设 RenderPipeline.needsUpdate = true。
  6. 测量、降级与释放:测量预热后的成对图,报告物理像素、缩放、附件格式、目标清单、透明屏幕覆盖、持续耗时与边际时间;像素受限时先降 bloomScale 再重测;仍不达标则禁用泛光。禁用路径需替换输出节点、标记管线脏并释放 BloomNode 及专属贡献资源。

相关技能:曝光耦合阈值、色调映射、调色与输出转换用 $threejs-exposure-color-grading;场景通道、MRT 信号、透明排序或最终图与其他效果共享时用 $threejs-image-pipeline。

限制:资料未提供具体安装命令、收费、价格、平台支持范围与效果数据;实现细节以 r185 为准,其他版本行为暂未提供。