glutInitDisplayMode
函数功能:设置初始显示模式。
函数原型:void glutInitDisplayMode(unsigned int mode);
值
|
对应宏定义
|
意义
|
GLUT_RGB
|
0x0000
|
指定
RGB 颜色模式的窗口
|
GLUT_RGBA
|
0x0000
|
指定
RGBA 颜色模式的窗口
|
GLUT_INDEX
|
0x0001
|
指定颜色索引模式的窗口
|
GLUT_SINGLE
|
0x0000
|
指定单缓存窗口
|
GLUT_DOUBLE
|
0x0002
|
指定双缓存窗口
|
GLUT_ACCUM
|
0x0004
|
窗口使用累加缓存
|
GLUT_ALPHA
|
0x0008
|
窗口的颜色分量包含 alpha 值
|
GLUT_DEPTH
|
0x0010
|
窗口使用深度缓存
|
GLUT_STENCIL
|
0x0020
|
窗口使用模板缓存
|
GLUT_MULTISAMPLE
|
0x0080
|
指定支持多样本功能的窗口
|
GLUT_STEREO
|
0x0100
|
指定立体窗口
|
GLUT_LUMINANCE
|
0x0200
|
窗口使用亮度颜色模型
|
glViewport
glViewport是OpenGL中的一个函数。计算机图形学中,在屏幕上打开窗口的任务是由窗口系统,而不是OpenGL负责的。
glViewport(GLint x,GLint y,GLsizei width,GLsizei height)为其函数原型。
X,Y————以像素为单位,指定了视口的左下角(在第一象限内,以(0,0)为原点的)位置。
width,height————表示这个视口矩形的宽度和高度,根据窗口的实时变化重绘窗口。
glClear
函数原型
void glClear(GLbitfield mask);
参数说明
GLbitfield:可以使用 | 运算符组合不同的缓冲标志位,表明需要清除的缓冲,例如glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)表示要清除颜色缓冲以及深度缓冲,可以使用以下标志位
- GL_COLOR_BUFFER_BIT: 当前可写的颜色缓冲
- GL_DEPTH_BUFFER_BIT: 深度缓冲
- GL_ACCUM_BUFFER_BIT: 累积缓冲
- GL_STENCIL_BUFFER_BIT: 模板缓冲
函数说明
glClear()函数的作用是用当前缓冲区清除值,也就是glClearColor或者glClearDepth、glClearIndex、glClearStencil、glClearAccum等函数所指定的值来清除指定的缓冲区,也可以使用glDrawBuffer一次清除多个颜色缓存。比如:
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
第一条语句表示清除颜色设为黑色,第二条语句表示实际完成了把整个窗口清除为黑色的任务,glClear()的唯一参数表示需要被清除的缓冲区。
像素检验、裁剪检验、抖动和缓存的写屏蔽都会影响glClear的操作,其中,裁剪范围限制了清除的区域,而glClear命令还会忽略alpha函数、融合函数、逻辑操作、模板、纹理映射和z缓存;