首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Opengl 2不同颜色的形状

Android Opengl 2不同颜色的形状
EN

Stack Overflow用户
提问于 2012-02-13 02:04:11
回答 1查看 1.2K关注 0票数 0

我是一个在android上使用opengl的新手。我正在试着画两个不同的形状。形状一有纹理,而形状二应该有颜色,比如说绿色。当我运行应用程序时,第一个形状获得其纹理,但也具有绿色。纹理本身会变成浅绿色。形状二是我想要的绿色。下面是我的draw方法:

代码语言:javascript
复制
public void draw(GL10 gl) {

    gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

    //My first shape

    gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
    gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);

    gl.glPushMatrix();

    gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer);
    gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, textureBuffer);
    gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, vertices.length / 3);
    gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
    gl.glPopMatrix();

    //My second shape
    gl.glPushMatrix();
            //Setting the color green
    gl.glColor4f(0.0f, 1.0f, 0.0f, 0.5f);
    gl.glVertexPointer(3, GL10.GL_FLOAT, 0, locvertexBuffer);
    gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, locvertices.length / 3);
    gl.glPopMatrix();
    gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
}

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-13 02:43:46

尝试在绘制第一个形状之前放置gl.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);

使用gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, GL10.GL_REPLACE);

在绑定纹理之后

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9251220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档