正如标题所说,OpenGL中的渲染目标是什么?我是OpenGL的新手,我见过的所有网站都让我很困惑。
它只是一个缓冲区,我放置了以后用于渲染的东西吗?
如果你能提供一个很好的参考资料,那将非常感激。
答案 0 :(得分:10)
渲染缓冲区是任何专门创建的单个缓冲区,可以将部分渲染定向到该缓冲区。颜色缓冲区是最明显的例子,深度缓冲区可能是第二个最明显的。
帧缓冲区是渲染缓冲区的绑定集合,例如它可以是颜色缓冲区和深度缓冲区的组合。它也可以使用纹理作为其中一个信息流的目的地而不是渲染缓冲区(警告适用但不相关)。
纹理不是渲染缓冲区,渲染缓冲区不是纹理。即使帧缓冲区可以用作目标,它们也是不同的东西。因此,渲染目标是渲染缓冲区或用作渲染目标的纹理的总称。
该短语是非正式定义的,但被Kronos认可 - 例如GL 4.4规范将GL_ARB_draw_buffers
称为"多个渲染目标的名称字符串"但该规范从未提及过呈现目标,甚至没有使用“目标”这个词。相反,它定义了允许多个颜色缓冲区同时命名为目标的机制。所以这两件事合在一起意味着上面的定义。