【发布时间】:2018-02-10 05:30:01
【问题描述】:
我对如何使用颜色缓冲区绘制颜色有点困惑。我发现了一个类似的问题here 并使我的着色器与帖子接受的答案中所示的相同。然后我使用了代码:
mColorHandle = GLES20.glGetAttribLocation(Shader, "vColor");
GLES20.glEnableVertexAttribArray(mColorHandle);
ByteBuffer cb = ByteBuffer.allocateDirect(color.length * BYTES_PER_FLOAT);
cb.order(ByteOrder.nativeOrder());
colorBuffer = cb.asFloatBuffer();
colorBuffer.put(color);
colorBuffer.position(0);
GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, cbo);
GLES20.glBufferSubData(GLES20.GL_ARRAY_BUFFER, 0, colorBuffer.capacity(), colorBuffer);
GLES20.glVertexAttribPointer(mColorHandle, 4,
GLES20.GL_FLOAT, false,
0, 0);
尝试绘制颜色。
该形状显示了我尝试绘制的颜色,但它使整个形状的颜色淡出,如下所示:
如果有人能告诉我出了什么问题,以及如何让形状全部变成相同的颜色,我将不胜感激。
【问题讨论】:
-
你能展示一下你得到的东西吗?
标签: colors opengl-es opengl-es-2.0