Creando contexto OpenGL sin ventana

Estoy tratando de averiguar cuál es la forma más sencilla de crear un progtwig OpenGL sin ventanas para el procesamiento fuera de pantalla.

Actualmente utilizo esto, y hasta ahora funciona bien: (se eliminaron las comprobaciones de errores aquí para mayor claridad)

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); } 

¿Es seguro usar esto? ¿Cuál es la forma “estándar” de crear un progtwig OpenGL sin ventanas?

Edición: Estoy usando FBO para el renderizado fuera de pantalla.

El antiguo método para OpenGL sin ventanas es usar un PBuffer. En Windows, esto requiere la creación de un contexto OpenGL intermedio utilizando una ventana regular para obtener los punteros de función de extensión necesarios. En X11 / GLX funciona sin más dilación.

La forma moderna de implementar el renderizado fuera de pantalla es usar una ventana regular pero oculta con el contexto habitual de OpenGL y un FBO como objective de renderizado.

El método de vanguardia, y aún así no muy bien soportado (excepto en ciertos dispositivos integrados) está utilizando EGL para la creación dibujable.