开源、免登录的 Three.js/WebGL 交互式 UI 组件目录,附带实时渲染与完整 React 源码。
pmndrs/postprocessing
为 three.js 提供全屏后期处理效果(如泛光、SSAO、调色)的 WebGL 库。
- Star
- 2,957
- Fork
- 258
- 未关闭 Issue
- 30
- 最近提交
- 6天前
这是什么?
postprocessing 是一个为 three.js 场景添加全屏后期处理效果的 JavaScript 库。后期处理在场景渲染完成后,对最终画面进行图像空间上的处理。库的核心是 EffectComposer,它按顺序执行各个 pass:RenderPass 负责绘制场景,EffectPass 负责应用特效。
EffectPass 会把任意组合的特效合并到尽可能少的渲染操作中,因此叠加多个特效时无需为每个特效单独串联 pass,性能开销更低。每个特效还可以定义自己的混合函数。全屏操作使用覆盖屏幕的单个三角形而非四边形。库支持高精度的 HalfFloat 帧缓冲,适合 HDR 风格的渲染流程,并提供 ToneMappingEffect 用于将 HDR 颜色映射到可显示的输出。
内置特效包括泛光(Bloom)、模糊、景深、故障效果、体积光、描边、SSAO、像素化、基于 LUT 的调色和暗角等。开发者也可以编写自定义特效和 pass。
核心功能
- 01将多个特效合并到单个 EffectPass 中,减少渲染操作。
- 02内置泛光、SSAO、景深、描边、调色等多种特效。
- 03每个特效可单独设置混合函数。
- 04提供高精度 HalfFloat 帧缓冲,适用于 HDR 风格渲染。
- 05包含 ToneMappingEffect,用于 HDR 到 LDR 的颜色转换。
- 06支持编写自定义特效和 pass。
适用场景
- 为 three.js 产品展示或游戏场景添加泛光和辉光效果。
- 为 WebGL 场景加入扫描线、像素化或故障等复古风格效果。
- 使用 LUT 文件对三维场景进行调色。
- 为选中对象实现冲击波或描边等交互效果。
标签
常见问题
- postprocessing 是什么?
- 为 three.js 提供全屏后期处理效果(如泛光、SSAO、调色)的 WebGL 库。 postprocessing 是一个为 three.js 场景添加全屏后期处理效果的 JavaScript 库。后期处理在场景渲染完成后,对最终画面进行图像空间上的处理。库的核心是 EffectComposer,它按顺序执行各个 pass:RenderPass 负责绘制场景,EffectPass 负责应用特效。
- postprocessing 可以免费使用吗?用的什么许可证?
- postprocessing 以 Zlib 许可证开源。用于商业产品前,请先确认许可证条款。
- postprocessing 还在维护吗?
- 活跃维护中。postprocessing 最近一次提交是在 2026年11月1日。
- postprocessing 适合用来做什么?
- 为 three.js 产品展示或游戏场景添加泛光和辉光效果。 为 WebGL 场景加入扫描线、像素化或故障等复古风格效果。 使用 LUT 文件对三维场景进行调色。 为选中对象实现冲击波或描边等交互效果。
- 在哪里获取 postprocessing?
- 源代码和安装说明在 GitHub 上:https://github.com/pmndrs/postprocessing
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
7131+174 本周670HTMLMIT维护活跃更新于 2个月前
一个函数式 WebGL 封装库,通过消除共享状态,把绘制调用描述为命令并编译成优化后的 JavaScript。
5594328JavaScriptMIT更新于 22天前
社区编写的 100 多种 GLSL 图像转场效果集合,可用于网页、移动端、视频工具等多种平台。
2232+16 本周331GLSLOther更新于 21小时前