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調用將被忽略。在同一時間只有一個執行緒可以渲染上下文。你不能讓一個多執行緒同時渲染一個上下文。應用程式可以執行不同的渲染上下文,目前不同的執行緒,每個執行緒提供自己的渲染上下文和設備上下文的多執行緒繪圖。

如果出現錯誤,使得之前當前執行緒在返回前不會渲染上下文。

相關詞條

相關搜尋

熱門詞條

聯絡我們