OpenGL

关于帧缓存与OpenGL的帧缓存操作 glClearColor,glClear,glClearDepth

2011/3/6

参考文献地址一:http://baike.baidu.com/view/1040793.htm

参考文献地址二:http://y150988451.javaeye.com/blog/812899

帧缓存

  帧缓冲存储器(Frame Buffer):简称帧缓存或显存,它是屏幕所显示画面的一个直接映象,又称为位映射图(Bit Map)或光栅。帧缓存的每一存储单元对应屏幕上的一个像素,整个帧缓存对应一帧图像。

  一个支持OpenGL渲染的窗口 (即帧缓存) 可能包含以下的组合:

  · 至多4个颜色缓存

  · 一个深度缓存

  · 一个模板缓存

  · 一个积累缓存

  · 一个多重采样缓存

1. glClearColor :设置颜色缓存的清除值

C语言描述

void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);

参数

red,green,blue,alpha 指定清除颜色缓存时所使用的红、绿、蓝和alpha值。

说明

指定由glClear清除颜色缓存时所使用的红、绿、蓝和alpha值,指定值的范围固定为[0.0f,1.0f]。

2. glClear :将缓存清除为预先的设置值

C语言描述

void glClear(GLbitfield mask);

参数

mask 对指定的需要清除的缓存进行按位或屏蔽操作,这四个屏蔽值如 下:GL_COLOR_BUFFER_BIT,GL_DEPTH_BUFFER_BIT,GL_ACCUM_BUFFER_BIT

和GL_STENCIL_BUFFER_BIT。

说明

本函数只有一个变量,这个变量对所清除的缓存值进行按位或操作,这些值如下:

GL_COLOR_BUFFER_BIT 指定当前被激活为写操作的颜色缓存。

GL_DEPTH_BUFFER_BIT 指定深度缓存。

GL_ACCUM_BUFFER_BIT 指定累加缓存。

GL_STENCIL_BUFFER_BIT 指定模板缓存。

3. glClearDepth:设置深度缓存的清除值

C语言描述

void glClearDepth(GLclampd depth);

参数

depth 指定清除深度缓存时使用的深度值。

说明

本函数指定用glClear清除深度缓存时所使用的深度值,该值的范围在[0,1]之间。