函式原型
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調用將被忽略。在同一時間只有一個執行緒可以渲染上下文。你不能讓一個多執行緒同時渲染一個上下文。應用程式可以執行不同的渲染上下文,目前不同的執行緒,每個執行緒提供自己的渲染上下文和設備上下文的多執行緒繪圖。
如果出現錯誤,使得之前當前執行緒在返回前不會渲染上下文。