[英]Creating OpenGL context without window
我試圖找出最簡單的方法來創建用於離屏渲染的無窗口OpenGL程序。
目前,我正在使用它,並且到目前為止效果很好:(為清楚起見,此處刪除了錯誤檢查)
BOOL create_opengl_context(){
GLuint PixelFormat;
static PIXELFORMATDESCRIPTOR pfd;
hDC = GetDC(NULL);
PixelFormat = ChoosePixelFormat(hDC, &pfd);
SetPixelFormat(hDC, PixelFormat, &pfd);
hRC = wglCreateContext(hDC);
wglMakeCurrent(hDC, hRC);
}
使用安全嗎? 創建無窗口OpenGL程序的“標准”方法是什么?
編輯:我正在使用FBO進行屏幕外渲染。
純無窗口OpenGL的舊方法是使用PBuffer。 在Windows上,這需要使用常規窗口創建中間OpenGL上下文,以獲得所需的擴展功能指針。 在X11 / GLX上,無需費一切功夫。
實現屏幕外渲染的現代方法是使用常規但隱藏的窗口,該窗口具有常規的OpenGL上下文和FBO作為渲染目標。
前沿技術,但尚未得到很好的支持(某些嵌入式設備除外),正在使用EGL進行可繪制的創建。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.