我正在开发一个带有简单矢量图形的iPhone游戏,虽然如果屏幕上的对象发光(即在渲染中应用了bloom滤镜),它会显得格外漂亮。
我对后处理技术相当陌生,我正在阅读的大多数教程都利用了GPU上的着色器。我只是想知道这在iPhone硬件上是否可能,或者是否所有这些都必须在软件中完成(在这种情况下,我认为使用实时太慢了)。
发布于 2010-02-06 01:07:49
即使是在es1设备上,这也是绝对可能的。
1)渲染到纹理照明几何体,这些几何体应该在黑色背景上显示为纯白色。例如,如果相机在房间中看着一扇窗户,而您希望窗户开花-仅将窗口渲染为纯白色,而不渲染纹理。
2)创建此纹理的多个副本,每个副本都缩小到以前大小的一半
3)使用加法混合在渲染场景的顶部渲染所有这些拉伸到全屏的纹理,调整每一层的alpha,直到你得到你想要的质量
从本质上讲,步骤2和步骤3所做的是使用本地纹理过滤在硬件中模拟高斯模糊。
所以你得到的是你的光源几何形状,黑底白光,高斯模糊,然后添加到你的场景中-瞧,假的布隆:)
发布于 2009-04-19 16:46:36
由于iPhone根本不支持着色器,我认为bloom filter很难实现。根据场景的不同,一些多通道技巧可以产生令人信服的模仿,但可能会太慢。
此外,游戏“边缘”似乎在暂停屏幕上使用了bloom效果,但它是静态的,所以它可能是在软件中实现的。
发布于 2011-12-20 07:03:20
你总是可以把一个screenshot模糊一点like on this post,然后使用加性混合,可能行得通?
https://stackoverflow.com/questions/763826
复制相似问题