顶点数组中的OpenGL ES2 GLubyte颜色不起作用

时间:2011-06-10 08:54:39

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

Apple建议在iOS上使用GLubyte数据类型的颜色数据,所以我试图让它工作。我得到的结果是所有颜色分量< 255都是全黑的,只有颜色设置为255的组件才真正是那种颜色。

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

这样做很好,问题出在我的代码中的其他地方。