wglMakeCurrent

功能
使一个指定的OpenGL渲染上下文调用线程的当前呈现上下文 。所有后续的OpenGL调用线程所确定的设备 HDC上绘制 。您还可以使用wglMakeCurrent改变,所以旧的上下文将不再是当前调用线程的当前呈现的上下文 。
函数原型
BOOL wglMakeCurrent( HDC hdc, HGLRC hglrc);
参数
HDC
一个设备上下文句柄。其后的OpenGL调用由调用线程所确定的设备HDC上绘制。
hglrc
OpenGL渲染上下文的功能设置为调用线程的渲染上下文的句柄。
如果hglrc为NULL,函数使调用线程的当前呈现上下文不再是当前,并释放设备当前使用的上下文。在这种情况下,HDC被忽略。
返回值
当wglMakeCurrent函数成功,返回值是TRUE,否则返回值是FALSE。为了获得更多的错误信息,请调用GetLastError函数。
备注
hdc 参数必须指向一个支持OpenGL的绘图表面 。它不需要和 wglCreateContext 创建时的HDC相同,但它必须是在同一设备上,具有相同的像素格式。GDI函数和裁剪HDC不被渲染上下文支持。当前渲染上下文中使用 HDC设备上下文,直到不再是当前的渲染上下文。
在切换到新的渲染上下文前,OpenGL将刷新当前线程使用的上下文。一个线程只可以有一个当前呈现的上下文。一个进程可以有多个渲染背景下,通过多线程方式实现。一个线程调用任何OpenGL函数之前必须设置当前渲染上下文。否则,所有的OpenGL调用将被忽略。在同一时间只有一个线程可以渲染上下文。你不能让一个多线程同时渲染一个上下文。应用程序可以执行不同的渲染上下文,目前不同的线程,每个线程提供自己的渲染上下文和设备上下文的多线程绘图。
如果出现错误,使得之前当前线程在返回前不会渲染上下文。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章