android gl11,OpenGL(ES)Android - 爲什麼這個glcolorpointer只有黑色?

在尝试在OpenGL ES Android环境中创建渐变效果时遇到问题,使用glColor4f能正常显示颜色,但切换到glColorPointer时只显示黑色。代码中绑定了颜色缓冲,并设置了浮点颜色数组,但在调用glColorPointer和glDrawElements后,颜色并未正确显示。问题可能在于颜色数据的设置或缓冲区的配置。
摘要由CSDN通过智能技术生成

我想繪製一個漸變,但首先我只想讓glcolorpointer工作。如果我使用glColor4f(...),它會正確繪製顏色,但glcolorpointer只會繪製黑色。請幫助OpenGL(ES)Android - 爲什麼這個glcolorpointer只有黑色?

gl11.glPushMatrix();

//gl11.glColor4f(RGBBorder[0], RGBBorder[1], RGBBorder[2], alpha);

gl11.glBindBuffer(GL11.GL_ARRAY_BUFFER, vertexPointerCube);

gl11.glBindBuffer(GL11.GL_ELEMENT_ARRAY_BUFFER, indexPointerCube);

gl.glEnableClientState(GL10.GL_COLOR_ARRAY);

float colors[] = {.7f,.7f,.7f,.5f};

ByteBuffer vbb = ByteBuffer.allocateDirect(colors.length * 4);

vbb.order(ByteOrder.nativeOrder());

FloatBuffer buff = vbb.asFloatBuffer();

buff.put(colors);

buff.position(0);

gl.glColorPointer(4, GL10.GL_FLOAT, 0, buff);

gl11.glVertexPointer(3, GL10.GL_FLOAT, 0, 0);

gl11.glDrawElements(GL11.GL_TRIANGLES, indicesCube, GL11.GL_UNSIGNED_SHORT, 0);

gl.glDisableClientState(GL10.GL_COLOR_ARRAY);

gl11.glPopMatrix();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值