1

我正在开发一个带有简单矢量图形的 iPhone 游戏,尽管如果屏幕上的对象发光(即在渲染中应用了布隆过滤器),它看起来会特别好。

我对后处理技术相当陌生,我正在阅读的大多数教程都使用 GPU 上的着色器。我只是想知道这是否可以在 iPhone 硬件上实现,或者是否都必须在软件中完成(在这种情况下,我认为实时使用会太慢)。

4

3 回答 3

1

这在 es1 设备上绝对是可能的。

1) 渲染纹理光照几何体,该几何体应该在黑色背景上绽放为纯白色。例如,如果相机在房间里看着窗户,并且您希望窗户绽放 - 仅将窗户渲染为纯白色,没有纹理。

2)创建此纹理的多个副本,每个副本缩小到之前大小的一半

3) 使用加法混合将所有这些拉伸到全屏的纹理渲染到渲染场景的顶部,调整每一层的 alpha 直到获得所需的质量

本质上,第 2 步和第 3 步所做的是使用本机纹理过滤在硬件中模拟高斯模糊。

所以你所拥有的是你的光源几何形状为黑底白字,高斯模糊,然后添加到你的场景中——瞧,假绽放:)

于 2010-02-05T17:07:49.143 回答
0

由于 iPhone 根本不支持着色器,我认为布隆过滤器很难实现。一些多通道技巧可能会根据场景产生令人信服的模仿,但可能太慢了。

此外,游戏“边缘”似乎在暂停屏幕上使用了绽放效果,但它是静态的,因此它可能是在软件中实现的。

于 2009-04-19T16:46:35.923 回答
0

您可以随时截取屏幕截图并像在这篇文章中那样模糊它,然后只使用添加剂混合,可能有用吗?

于 2011-12-19T23:03:19.930 回答