是否可以将纹理作为渲染目标附加到默认帧缓冲区?

时间:2014-01-30 23:37:31

标签: c++ opengl glsl

是否可以将纹理作为渲染目标附加到默认帧缓冲区?

    glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
    GLenum bufs[] = {GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1};
    glDrawBuffers(2, bufs);
    glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, sceneTexture, 0);
    glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT1, GL_TEXTURE_2D, postProcessingStuffTexture, 0);
    // Draw something

另外,为什么渲染到纹理没有anit-aliasing?对我的廉价5xRCSAA或它是什么感到非常满意。

1 个答案:

答案 0 :(得分:3)

  

是否可以将纹理作为渲染目标附加到默认帧缓冲区?

没有

  

另外,为什么渲染纹理会在没有反对锯齿的情况下发生呢?

因为抗锯齿需要多重采样渲染目标。常规纹理不是多重采样的。但是有多重样本纹理可用于此目的。您可以使用glTexStorage2DMultisampleglTexImage2DMultisample创建多重采样纹理对象。