6

任何想法如何做到这一点?现在我已经动态生成了立方体贴图,我将其用作环面上的反射纹理。

分别模糊每一面是不行的,对吧?因为靠近边界的像素,不会受到邻居的模糊影响。

也许我应该制作另一个 FBO,绑定它,在屏幕上“展开”立方体贴图,应用基本模糊着色器,然后将模糊纹理分成 6 个面?不知道如何做“单独”的部分。

4

1 回答 1

6

模糊立方体贴图?这很难。

要进行数学上正确的高斯模糊,您需要将其转换到频域(球谐波),在那里应用低通滤波器,然后进行逆变换。这不是一项简单的任务。

如果近似值足够,请执行以下操作。

  1. 创建一个空的目标立方体贴图。
  2. 对于立方体的每个面 F,渲染面 F 和其他 4 个面的相邻像素,如下所示:

     ___________
    |\         /|
    | \       / |
    |  \-----/  |
    |  |     |  |
    |  |  F  |  |
    |  |     |  |
    |  /-----\  |
    | /       \ |
    |/_________\|
    

    相邻像素的数量取决于模糊半径。

  3. 应用您最喜欢的模糊算法。
  4. 将 F 复制到目标立方体贴图。
  5. 对每个面重复 2-4。
于 2010-12-04T13:17:44.827 回答