gpt4 book ai didi

c++ - 在没有窗口的情况下创建 OpenGL 上下文

转载 作者:IT老高 更新时间:2023-10-28 23:01:01 44 4
gpt4 key购买 nike

我正在尝试找出创建用于离屏渲染的无窗口 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 来创建可绘制对象是最前沿但支持不太好的方法(某些嵌入式设备除外)。

关于c++ - 在没有窗口的情况下创建 OpenGL 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12482166/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com