OpenGL ES 支持的顏色格式為 RGBA 模式(紅,綠,藍(lán),透明度)。顏色的定義通常使用 Hex 格式0xFF00FF 或十進(jìn)制格式(255,0,255), 在 OpenGL 中卻是使用0…1之間的浮點(diǎn)數(shù)表示。 0為0,1相當(dāng)于255(0xFF)。
我們在 Android OpenGL ES 開發(fā)教程(19):繪制迷你太陽系 繪制了紅太陽,藍(lán)地球,白月亮。使用的是 glColor4f 來指定顏色的. 這是使用的 Flat Coloring (單色).
http://wiki.jikexueyuan.com/project/opengl-es-guide/images/86.png" alt="" />
是通知 OpenGL 使用單一的顏色來渲染,OpenGL 將一直使用指定的顏色來渲染直到你指定其它的顏色。
指定顏色的方法為
public abstract void glColor4f(float red, float green, float blue, float alpha)。
缺省的 red,green,blue 為1,代表白色。
當(dāng)給每個(gè)頂點(diǎn)定義一個(gè)顏色時(shí),OpenGL自動(dòng)為不同頂點(diǎn)顏色之間生成中間過渡顏色(漸變色)。
可以參見 Android OpenGL ES 簡明開發(fā)教程五:添加顏色 如何使用顏色,此外后面還可以使用光照(Lighting) 給物體添加顏色。
http://wiki.jikexueyuan.com/project/opengl-es-guide/images/87.png" alt="" />