OpenGL 绘图的机制是: 先用 OpenGL 的绘图上下文 Rendering Context (简称为 RC )把图画好,再把所绘结果通过 SwapBuffer() 函数传给 Window 的 绘图上下文 Device Context (简记为 DC).要注意的是,程序运行过程中,可以有多个 DC,但只能有一个 RC。因此当一个 DC 画完图后,要立即释放 RC,以便其它的 DC 也使用。
常用到关于DC/RC使用的函数
m_pDC = new CClientDC(this); //创建 DC
m_hRC = wglCreateContext(m_pDC->m_hDC);//创建 RC
wglMakeCurrent(m_pDC->m_hDC, m_hRC); //RC 与当前 DC 相关联
wglMakeCurrent(m_pDC->m_hDC,NULL); //释放与m_hDC 对应的 RC
wglDeleteContext(m_hRC); //删除 RC
SwapBuffers(m_pDC->m_hDC);//把 RC 中所绘传到当前的 DC 上,从而在屏幕上显示
wglMakeCurrent(m_pDC->m_hDC,NULL);//释放 RC,以便其它 DC 进行绘图