如何在Android OpenGL ES中使用glColorMaterial()调用为立方体着色?
我有一个立方体,我想在所有六个面上用相同的颜色绘制。我必须使用如何在Android OpenGL ES中使用glColorMaterial()调用为立方体着色?,android,opengl-es,Android,Opengl Es,我有一个立方体,我想在所有六个面上用相同的颜色绘制。我必须使用glColorMaterial()调用(或glMaterial()?)才能使灯光正常工作。如果我使用 glColor4f()。 能不能帮我提供一系列的命令,让我画出所有的六个面 (1,0,0,1)红色和100%不透明度?这必须在Android中工作。您可以使用GLCOLORMATERY设置并指定应跟踪当前颜色的材质参数。例如,使用 glEnable(GL_COLOR_MATERIAL) glColorMaterial(GL_FRONT
glColorMaterial()
调用(或glMaterial()
?)才能使灯光正常工作。如果我使用
glColor4f()。
能不能帮我提供一系列的命令,让我画出所有的六个面
(1,0,0,1)
红色和100%不透明度?这必须在Android中工作。您可以使用GLCOLORMATERY
设置并指定应跟踪当前颜色的材质参数。例如,使用
glEnable(GL_COLOR_MATERIAL)
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE)
然后使用glColor4f(…)
设置当前颜色。不要忘记glEnable
呼叫 您可以使用GLCOLORMATURE
设置并指定应跟踪当前颜色的材质参数。例如,使用
glEnable(GL_COLOR_MATERIAL)
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE)
然后使用glColor4f(…)
设置当前颜色。不要忘记glEnable
呼叫 你的答案有效,除了我必须注释掉gl.glColorMaterial(gl_FRONT_和_BACK,gl_AMBIENT_和_DIFFUSE);因为Android不支持这个。不确定这是否会有任何其他影响。啊,你是对的,当然,我把普通的OpenGL和OpenGL ES混在一起了。在OpenGL ES中,glColorMaterial确实不受支持,启用glColorMaterial将始终使环境光和漫反射材质跟踪当前颜色。很抱歉造成混淆;-)你的答案有效,除了我必须注释掉gl.glColorMaterial(gl_FRONT_和_BACK,gl_AMBIENT_和_DIFFUSE);因为Android不支持这个。不确定这是否会有任何其他影响。啊,你是对的,当然,我把普通的OpenGL和OpenGL ES混在一起了。在OpenGL ES中,glColorMaterial确实不受支持,启用glColorMaterial将始终使环境光和漫反射材质跟踪当前颜色。很抱歉造成混淆;-)