代码之家  ›  专栏  ›  技术社区  ›  alvatar

OpenGL中的帧缓冲区对象和像素缓冲区对象之间有什么区别?

  •  43
  • alvatar  · 技术社区  · 17 年前

    FBO和PBO的区别是什么?我应该使用哪一个进行屏幕外渲染?

    4 回复  |  直到 17 年前
        1
  •  84
  •   Nicol Bolas    10 年前

    FBO和PBO的区别是什么?

    一个更好的问题是它们有什么相似之处。他们唯一相似的地方就是他们的 名字

    A. Framebuffer Object (注意大小写:framebuffer是一个单词,而不是两个)是一个包含多个图像的对象,可以用作渲染目标。

    A. Pixel Buffer Object

    1. A. Buffer Object . FBO是
    2. 用于异步存储的缓冲区对象 uploading/downloading of pixel data to/from images

    如果要渲染到纹理或仅渲染到 non-screen framebuffer

    他们一点也不像。

        2
  •  20
  •   Reed Copsey    14 年前

    A. FBO

    A. PBO (像素缓冲区对象)允许

        3
  •  11
  •   Andrew Hare    17 年前

    VBOs, PBOs and FBOs :

    演示PBO和PBO的示例代码 FBO。即使这些是 Mac专用,作为示例代码 在任何一个排上都很好,因为PBOs和 FBO是OpenGL扩展,而不是 窗口系统扩展。

    情况:

        4
  •  5
  •   wow2006    10 年前

    FBO 它不是内存块。我认为它看起来像指针的结构。必须将纹理附加到FBO才能使用它。附加纹理后,现在可以绘制到该纹理以进行屏幕外渲染或第二遍效果。

    struct FBO{
    AttachColor0 *ptr0;
    AttachColor1 *ptr1;
    AttachColor2 *ptr2;
    AttachDepth  *ptr3;
    };
    

    另一方面,, PBO

    • 为什么要使用PBO?

    创建中间内存缓冲区,以与主机内存接口,并且不停止OpenGL绘图将纹理上载到主机或从主机上载纹理。

    推荐文章