1. glShadeModel :选择平面明暗模式或光滑明暗模式
C语言描述
void glShadeModel( GLenum mode )
参数
mode 指定表示明暗模式的符号值,可以选择GL_FLAT(平面明暗模式)和GL_SMOOTH(光滑明暗模式),缺省值为GL_SMOOTH。
说明
OpenGL图元需要进行明暗处理,处理得模式可以为平面明暗模式或光滑(Gouraud着色)明暗模式。光滑明暗模式时,多边形各个内部点的颜色是根据各顶点指定的颜色来插值得到的,这意味着两个顶点之间的颜色是从一顶点的颜色渐变到另一顶点的颜色。对于平面明暗模式,整个图元区域的颜色就是最后一个顶点指定的颜色,唯一例外的是GL_POLYGON,这是整个区域的颜色是第一个顶点所指定的颜色。但要注意,如果激活了光照,计算到的顶点颜色都是光照后的结果颜色,若光照关闭,计算到的颜色就是指定顶点时的当前颜色。
2. glColor :设置当前颜色
C语言描述
void glcolor3b(GLbyte red,GLbyte green,GLbyte blue);
void glcolor3d(GLdouble red,GLdouble green,GLdouble blue);
void glcolor3f(GLfloat red,GLfloat green,GLfloat blue);
void glcolor3i(GLint red,GLint green,GLint blue);
void glcolor3s(GLshort red,GLshort green,GLshort blue);
void glcolor3ub(GLubyte red,GLubyte green,GLubyte blue);
void glcolor3ui(GLuint red,GLuint green,GLuint blue);
void glcolor3us(GLushort red,GLushort green,GLushort blue);
void glcolor4b(GLbyte red,GLbyte green,GLbyte blue,GLbyte alpha);
void glcolor4d(GLdouble red,GLdouble green,GLdouble blue,GLdouble alpha);
void glcolor4f(GLfloat red,GLfloat green,GLfloat blue,GLfloat alpha);
void glcolor4i(GLint red,GLint green,GLint blue,GLint alpha);
void glcolor4s(GLshort red,GLshort green,GLshort blue,GLshort alpha);
void glcolor4ub(GLubyte red,GLubyte green,GLubyte blue,GLubyte alpha);
void glcolor4ui(GLuint red,GLuint green,GLuint blue,GLuint alpha);
void glcolor4us(GLushort red,GLushort green,GLushort blue,GLushort alpha);
void glcolor3bv(const GLbyte *v);
void glcolor3dv(const GLdouble *v);
void glcolor3fv(const GLfloat *v);
void glcolor3iv(const GLint *v);
void glcolor3sv(const GLshort *v);
void glcolor3ubv(const GLubyte *v);
void glcolor3uiv(const GLuint *v);
void glcolor3usv(const GLushort *v);
void glcolor4bv(const GLbyte *v);
void glcolor4dv(const GLdouble *v);
void glcolor4fv(const GLfloat *v);
void glcolor4iv(const GLint *v);
void glcolor4sv(const GLshort *v);
void glcolor4ubv(const GLubyte *v);
void glcolor4uiv(const GLuint *v);
void glcolor4usv(const GLushort *v);
参数
red,green, blue 指定当前颜色中的红、绿和蓝色成分。
alpha 指定颜色中的α成分。只有在glColor4函数带4个变量时才指定此参数。
*v 指定一个指向包含红、绿、蓝和alpha值的数组指针。
说明
本函数通过指定红、绿、蓝的颜色成分来设置当前的颜色,同时部分函数可以接受α成分。每个成分亮度的表示范围是从零(0.0)到全光强(1.0),当指定了非浮点类型时,该类型从0到最大值的表示法与浮点类型范围的0.0到1.0相映射。
3. glColorMask :激活或关闭帧缓存颜色分量的写操作
C语言描述
void glColorMask(GLboolean red,GLboolean green,GLboolean blue,GLboolean alpha)
参数
red,green,blue,alpha 指定红、绿、蓝和α成分是否可以修改。
说明
本函数指定是否可以将单个的颜色分量写入帧缓存。例如,若red为GL_FALSE,那么不管执行什么样的绘制操作,任何颜色缓存中任何像素的红色分量均不被改变。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/MyTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:layout_alignParentBottom="true" /> <com.google.android.maps.MapView android:id="@+id/map" android:layout_width="fill_parent" android:layout_height="wrap_content" android:apiKey="Your api key" android:enabled="true" android:clickable="true" android:layout_above="@+id/MyTextView"" /> </RelativeLayout>
@Override public void onCreate(Bundle savedInstanceState) { // do all your other stuff here new Handler().postDelayed(new Runnable() { @Override public void run() { mProgressDialog = ProgressDialog.show(YouTube.this.getApplicationContext(), "", YouTube.this.getString(R.string.loading), true); // start time consuming background process here } }, 1000); // starting it in 1 second }
在1.6上有时候mProgressDialog = ProgressDialog.show(this, "", getString(R.string.loading), true)会出现错误 然后就在线程中加