【发布时间】:2013-04-29 11:48:46
【问题描述】:
我理解绽放/发光效果背后的想法:我们对纹理进行下采样以保持卷积核较小。现在我正在尝试实现它,我不太确定我应该走哪条路。
我的第一个想法是使用glGenerateMipMap 进行下采样。但是,我不能告诉它在 4 个步骤之后停止。这对我来说有点像黑匣子,据我所知,它可能会生成 10 张图像来对我的屏幕从 1024*768 到 1*1 进行采样。也许最后这些步骤很便宜,因为一切都已经那么小了,但也许它们不是。
我搜索了一下,发现很多人都在依赖 FBO,而不是 glGenerateMipMap。我熟悉 FBO,因为我使用延迟照明。我的第二个想法是简单地使用线性采样器将“四边形”渲染为更小的纹理。我会连续四次这样做,每次将宽度和高度减半。但是,我发现some people preferred 使用他们自己的片段着色器进行下采样而不是依赖GL_LINEAR,我想知道为什么;也许它更快?
有什么方法可以连续 4 次快速对全屏纹理进行下采样,同时保留每个版本?我不需要花哨的边缘保持采样算法,因为无论如何我都会模糊一切。
【问题讨论】: