【发布时间】:2018-01-06 03:31:14
【问题描述】:
如果我将文件图像中的纹理加载到 OpenGL 中并创建一个垂直放置的平面,如果我将左上角的顶点设置为纹理坐标 (0, 0),则该点的纹理将在左上角采样您在应用程序中打开的图像。
但是,当我渲染到帧缓冲区并将其颜色附件绑定为纹理时,坐标为 (0, 0) 的左上角顶点将从左下角采样,如果此帧缓冲区显示到屏幕。换句话说,当从帧缓冲纹理中采样时,Y 似乎是反转的。
无论我将 glClipControl 设置为 GL_UPPER_LEFT 还是 GL_LOWER_LEFT,此纹理采样行为都是相同的,即,它将采样帧缓冲区纹理的左下角视为 (0, 0)。我注意到这一点是因为我将我的 GUI 渲染到帧缓冲区,然后渲染到默认帧缓冲区,而从图像左上角的文件样本 (0, 0) 加载的正常图像纹理,从帧缓冲纹理:
这是正常的吗,我可以让它从帧缓冲区纹理中采样 (0, 0) 是左上角吗? glClipControl(GL_UPPER_LEFT) 对这个特定的东西没有任何影响?我很困惑。
【问题讨论】:
标签: opengl textures framebuffer sampling