【问题标题】:OpenGL | Render Vertex at UV coordinateOpenGL |在 UV 坐标处渲染顶点
【发布时间】:2017-01-30 14:47:17
【问题描述】:

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

我得出的结论是:

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

……应该可以解决问题。

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

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

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

【问题讨论】:

  • 欢迎来到 StackOverflow。为什么不能直接包含图像?您应该可以使用 SO 编辑器的图像上传功能来放置它们。
  • 新帐户不允许我直接添加它们
  • 啊,我没有意识到这一点。
  • 我已代表您嵌入了图像。祝你好运。
  • 谢谢gfullam

标签: opengl fbo


【解决方案1】:

您确定您的屏幕空间跨度为 -1 到 1 而不是 -0.5 到 0.5?

尝试只从 x 和 y 中减去 0.5。

【讨论】:

  • 我去试试
  • 是的,OpenGL 空间从 -1 到 1
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多