【问题标题】:OpenGL ES2 GLubyte colors in vertex array not working顶点数组中的OpenGL ES2 GLubyte颜色不起作用
【发布时间】:2011-06-10 08:54:38
【问题描述】:

Apple 建议在 iOS 上对颜色数据使用 GLubyte 数据类型,所以我正在尝试让它工作。我得到的结果是所有

我在做什么: - 将单个对象的颜色保存在我自己的 GLubytes 颜色类中(范围 0-255) - 将颜色传递给 GLubyte 类型的顶点属性数组中的着色器(范围仍为 0-255) -在片段着色器中,直接使用颜色或将分量除以255,两者都不行。

编辑:这确实有效,问题出在我的代码中的其他地方。

【问题讨论】:

  • 如果使用通用属性,请确保在glVertexAttribPointer 中设置标准化标志,以便您的值自动转换为 [0,1]。
  • 将颜色作为 GLubytes 在 [0-255] 范围内传递并将归一化参数设置为 true 会产生相同的结果:仍然不起作用?

标签: colors shader opengl-es-2.0 vertex-array


【解决方案1】:

Apple 建议在哪里使用GLubyte 来表示顶点属性?我认为您误解了该提示。您真正想要做的是将这些值存储在 256x1 灰度 (GL_LUMINANCE) 纹理中,并将其作为统一传递给着色器。这确实比使用数组要快。

【讨论】:

    【解决方案2】:

    这确实可以正常工作,问题出在我的代码中的其他地方。

    【讨论】:

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