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調用將被忽略。在同一時間只有一個線程可以渲染上下文。你不能讓一個多線程同時渲染一個上下文。應用程序可以執行不同的渲染上下文,目前不同的線程,每個線程提供自己的渲染上下文和設備上下文的多線程繪圖。
如果出現錯誤,使得之前當前線程在返回前不會渲染上下文。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章