0

最近几天,我阅读了很多关于使用bloom 等进行后处理的文章,并且我能够通过一个单独的着色器运行这个纹理来实现对纹理的渲染功能。现在我对整个事情有一些疑问。

  1. 我必须同时渲染吗?场景和纹理放在全屏四边形上?
  2. Bloom 或任何其他具有此渲染到纹理功能的后处理(DOF、模糊)如何工作?或者这是完全不同的东西?
  3. 我不太了解 Back 和 Front-Buffer 的概念以及如何将其用于后期处理。
  4. 我已经阅读了一些关于体积光渲染的内容,它们使用不同的颜色设置将场景渲染 6 次。这不是非常低效吗?还是我的理解不正确?

感谢有人愿意向我解释这些事情;)

4

2 回答 2

2

让我试着回答你的一些问题

  1. 是的,你必须同时渲染
  2. DOF 通常是通过将“模糊”因子渲染到屏幕外缓冲区来实现的,其中后处理过滤器然后使用该因子比其他像素更模糊某些像素(对锐利和模糊对象之间的颜色泄漏进行一些补偿)。所以是的,基本思想是相同的,渲染到缓冲区,处理它然后显示它(在原始场景的顶部混合或不混合)。
  3. 后台缓冲区是您渲染内容的对象(用户将在下一帧看到的内容)。所有的屏幕外渲染都是针对您将创建和使用的其他渲染目标完成的。
  4. 我不太明白你的意思。请提供您阅读内容的链接,以便我尝试理解并解释它。
于 2012-07-02T20:47:43.630 回答
0

假设:

  1. 你有一个单一纹理中每个渲染器像素的“亮度”

  2. 此纹理包含可以大于 1.0 的浮点值

现在:

你做了一个模糊通道(可能是一个单独的模糊),只考虑值大于 1.0 的像素,并将模糊结果放在另一个纹理中。

最后:

在最后一个着色器中,您对屏幕进行最终演示。您从“亮度”(限制为 1.0)和“模糊的过度亮度”中采样并添加它们,获得所谓的绽放效果。

于 2012-07-02T20:50:19.033 回答