【问题标题】:Can't find gl_MultiTexCoord0 replacement找不到 gl_MultiTexCoord0 替换
【发布时间】:2013-09-14 12:27:35
【问题描述】:

我正在使用 LWJGL 制作一个 OpenGL 游戏,并且刚刚成功实现了顶点属性和 VBO,我现在的问题是我有一个基于 slick-util 的小型 UI,它没有按应有的方式渲染纹理是的,我想这一定是如何巧妙地将纹理坐标传递给着色器。现在我通过这样的顶点属性将纹理坐标传递给顶点着色器:

pass_TextureCoord = in_TextureCoord;

当我改成这个时:

pass_TextureCoord = gl_MultiTexCoord0;

所有 3d 事物都失去了它们的纹理,UI 恢复正常。

【问题讨论】:

    标签: java opengl shader lwjgl


    【解决方案1】:

    gl_MultiTexCoord0 只能使用固定函数纹理坐标指针函数。如果不了解 slick-util 是如何实现的,几乎不可能告诉您正确的行为应该是什么。然而,如果你有一个选择,你应该倾向于使用通用顶点属性指针; glTexCoordPointer (...) 已弃用。

    尽管如此,如果使用glTexCoordPointer (...),指针将应用于活动纹理单元。如果您希望 gl_MultiTexCoord0 引用您的纹理坐标,请确保在使用 slick-util 设置纹理坐标指针之前将活动纹理单元设置为 GL_TEXTURE0

    【讨论】:

    • 那么有什么方法可以将来自 slick-util 的 UI 和顶点属性连接在一起?
    • @user2054583:在最坏的情况下,您可能会考虑在渲染 slick-util UI 时使用不同的顶点着色器。
    猜你喜欢
    • 2017-11-17
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2012-04-26
    • 2019-07-06
    • 2018-06-15
    相关资源
    最近更新 更多