Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android OpenGL ES中使用glColorMaterial()调用为立方体着色?_Android_Opengl Es - Fatal编程技术网

如何在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将始终使环境光和漫反射材质跟踪当前颜色。很抱歉造成混淆;-)