2011-03-07 51 views
1

我有一個立方體,我想用所有六面上的相同顏色進行繪製。我必須使用glColorMaterial()來電(或glMaterial()?)才能使燈正常工作。如果我使用 glColor4f()呼叫,那麼這不適用於燈光。 可以幫助我提供一系列命令來繪製所有六面與 (1,0,0,1)紅色和100%不透明度?這必須在Android中工作。如何使用Android OpenGL ES中的glColorMaterial()調用顏色多維數據集?

回答

4

您可以使用glColorMaterial設置指定應跟蹤當前顏色的材料參數。例如,使用

glEnable(GL_COLOR_MATERIAL) 
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE) 

然後使用glColor4f(...)設置當前顏色。別忘了撥打glEnable

+0

你的答案除了我必須註釋掉gl.glColorMaterial(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE);因爲Android不支持這一點。不確定這是否會產生其他影響。 – ace 2011-03-07 13:57:14

+4

啊,你當然是對的,我將OpenGL-ES與OpenGL混合在一起。在OpenGL-ES中,確實不支持glColorMaterial,啓用GL_COLOR_MATERIAL將始終使環境和漫反射材料跟蹤當前顏色。對困惑感到抱歉 ;-) – svdree 2011-03-07 14:57:12

相關問題