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 纹理大小的原因
我正在使用 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 纹理大小的原因