OpenGL |在 UV 坐标处渲染顶点

OpenGL | Render Vertex at UV coordinate

我正在使用 OpenGL,我需要在顶点的 UV 坐标处将 3D 模型的顶点渲染到 FBO。为此,我首先必须将 UV 坐标 space 转换为屏幕 space。

我得出的结论是:

uv.x * 2 - 1
uv.y * 2 - 1

…应该可以解决问题。

我在我的顶点着色器中使用它来将顶点放置在那些新位置。结果如下所示:

…虽然它应该看起来像这样:

好像放大了。不知道问题出在哪里

您确定您的屏幕 space 跨越 -1 到 1 而不是 -0.5 到 0.5?

尝试从 x 和 y 中减去 0.5。

修复了问题,我没有调用 gl 视口,这是坐标系未应用于 fbo 纹理大小的原因