GPU PRO 5 - 3.3 Bokeh Effects on the SPU 笔记

本笔记仅为个人的理解,如果有误欢迎指出。

Bokeh Effects on the SPU

基于 SPU 的散景效果实现

本文讲述的是一种通过sprite实现的散景方案,并将其应用到PlayStation 3 的 协同处理单元(Synergistic Processing Unit,SPU)

算法思路很简单通过分析每个像素的亮度,如果高于阈值就在对应位置生成一个sprite模拟散射效果。

像素的亮度计算公式以及平均公式:

计算平均亮度时需要用到滤波核确定平均范围,文章演示中用了5x5的滤波核:

这里的优化方案是降低遍历用的分辨率以及选用小一些的滤波核。

这样利用滤波核计算出每个像素的亮度后,如果该像素亮度高于某个阈值(threshold),就在该像素对应的屏幕空间位置生成一个纹理精灵(sprite)

简单来说流程就是:

遍历像素

计算亮度

亮度 > 阈值

生成一个 Bokeh Sprite

接下来需要为每个Sprite调整缩放值,这部分通过计算像素深度来去调整:

参考资料:

GPU Pro5 图像空间篇

相关推荐
今儿敲了吗11 小时前
CO——CPU
笔记
今儿敲了吗11 小时前
Python ——第三方包
笔记·python
吃着火锅x唱着歌11 小时前
Effective C++ 学习笔记 条款40 明智而审慎地使用多重继承
c++·笔记·学习
落知秋11 小时前
RUST中的trait是什么?
笔记·rust
xian_wwq12 小时前
【学习笔记】Prompt Engineering 没死,只是它不再够用了-2/16
笔记·学习·prompt
210Brian13 小时前
STM32学习笔记(五)EXTI外部中断(上)
笔记·stm32·学习
xian_wwq15 小时前
【学习笔记】RAG 只是 Context Engineering 的一小块-5/16
笔记·学习·rag
iCxhust15 小时前
8088单板机VScode集成开发环境使用方法
ide·笔记·vscode·编辑器·微机原理·8088单板机
文人sec15 小时前
MySQL事务与索引做了什么?
android·笔记·mysql
NoteStream16 小时前
【C语言基础】分支和循环(上)
c语言·开发语言·c++·经验分享·笔记·算法·c#