一、 设置像素格式
像素格式用于指定OpenGL绘画的一些属性,在windows中,使用PIXELFORMATDESCRIPTOR结构体来描述。一个设备可以支持许多像素格式,但只能拥有一种当前像素格式,需要从这一系列的像素格式中选择出一种合适的像素格式来,并设置它。主要属性有:
- 像素缓冲是单缓冲还是双缓冲;
- 像素数据时RGBA还是颜色索引;
- 颜色数据的位数;
- 深度缓冲的位数;
- 模板缓冲的位数;
- 层的数量;
- 各种可视化掩膜;
代码片段如下:
1.1 填写PIXELFORMATDESCRIPTOR结构体
static PIXELFORMATDESCRIPTOR pfd= {
sizeof(PIXELFORMATDESCRIPTOR), // Size Of This Pixel Format Descriptor
1, // Version Number
PFD_DRAW_TO_WINDOW | // Format Must Support Window
PFD_SUPPORT_OPENGL | // Format Must Support OpenGL
PFD_DOUBLEBUFFER, // Must Support Double Buffering
PFD_TYPE_RGBA, // Request An RGBA Format
bits, // Select Our Color Depth
0, 0, 0, 0, 0, 0, // Color Bits Ignored
0, // No Alpha Buffer
0, // Shift Bit Ignored
0, // No Accumulation Buffer
0, 0, 0, 0, // Accumulation Bits Ignored
16, // 16Bit Z-Buffer (Depth Buffer)
0, // No Stencil Buffer
0, // No Auxiliary Buffer
PFD_MAIN_PLANE, // Main Drawing Layer
0, // Reserved
0, 0, 0 // Layer Masks Ignored
};
1.2 选择合适的像素格式