OpenGL绘图环境建立的关键步骤
来源:互联网 发布:win7重启后数据不对 编辑:程序博客网 时间:2024/05/22 09:46
// **********************************************************
* step1:
定义像素格式,
------------
static PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR), // 结构体的大小
1, // 版本号
PFD_DRAW_TO_WINDOW | // 格式支持窗口
PFD_SUPPORT_OPENGL | // 格式支持OpenGL
PFD_DOUBLEBUFFER, // 支持双缓冲
PFD_TYPE_RGBA, // 申请RGBA格式
bits, // 像素色深
0,0,0,0,0,0, // 忽略的色彩位
0, // 无Alpha缓存
0, // 忽略ShiftBit
0, // 无累加缓存
0,0,0,0, // 忽略聚集位
16, // 16位深度缓存
0, // 无蒙板缓存
0, // 无辅助缓存
PFD_MAIN_PLANE, // 主绘图层
0, // 保留参数
0,0,0 // 忽略层遮罩
};
----------------
* step2:
根据当前设备环境(DC)选择与pfd匹配的像素显示格式
---------------
HDC hDC = GetDC(hWnd);
PixelFormat = ChoosePixelFormat(hDC,&pfd));
---------------
* step3:
若当前设备可以显示pfd指定的像素格式,则尝试设置像素格式
---------------
SetPixelFormat(hDC,PixelFormat,&pfd);
---------------
* step4:
正常设置像素格式以后,尝试取得着色描述表RC
---------------
HGLRC hRC = wglCreateContext(hDC);
---------------
* step5:
激活并使用当前着色描述表
---------------
wglMakeCurrent(hDC,hRC);
---------------
* additional things:
另外,用于绘图的窗体样式要设置为WS_CLIPCHILDREN,WS_CLIPSIBLINGS。例如:
---------------
BOOL CGLStartView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
return CView::PreCreateWindow(cs);
}
----------------
绘图结束后,要释放着色描述表,可以写在负责绘制GL的窗体类析构函数中
----------------
wglDeleteContext(m_hRC);
----------------
// **********************************************************
- OpenGL绘图环境建立的关键步骤
- OpenGL绘图环境建立的关键步骤 (转 cacar 的Blog)
- opengl 使用 texture2d 关键步骤
- OpenGL ES利用纹理绘制实时视频的关键步骤
- 建立openGL编程环境
- 建立OpenGL ES环境
- 建立OpenGL ES环境
- 红宝书OpenGL环境建立
- Android环境搭建关键步骤
- OpenGL 绘图的机制
- canvas 绘图的步骤
- 建立OpenGL MFC开发环境
- 建立一个OpenGL ES环境
- MFC中建立OpenGL环境(高手#三石的空间)
- 在Ubuntu下建立opengl的开发环境
- 在Eclipse3.2中建立可视化编程环境的步骤!
- 分布式nagios监控环境建立的详细步骤
- opengl 基于MFC的OpenGL绘图原理
- 2005-10-07 00:33 唱K
- ASP中的正则表达式
- asp.net 2.0 三层架构的实现(最最原始,简单,一般, 但不平凡)用通俗的语言说出难以理解的。。。
- ActionMessage与ActionError
- 2005-10-14 18:30 追忆
- OpenGL绘图环境建立的关键步骤
- 2005-10-14 18:56 追忆2
- 遭遇Worm.Win32.Viking.lm/Worm.Viking.tc,Trojan.PSW.Win32.OnlineGames等2
- 一道面试题,java编写decode方法
- 2005-10-16 00:45 考研
- ASP.NET所谓得三层分层的小解
- 2005-10-14 19:00 我怎么了
- 2005-10-16 20:11 床
- 2005-10-23 00:02 独自等待