Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Opengl en linux sin ventana

Iniciado por tamat, 22 de Octubre de 2008, 01:31:35 PM

« anterior - próximo »

tamat

Resulta que tengo una aplicación en OpenGL que genera N frames y los dumpea a disco. La aplicación se comporta como un comando, tu lo llamas pasandole unos parametros y te genera un output en disco.

Me gustaría que esta aplicación estuviese en un servidor como un servicio (sería llamada desde el servidor http) el problema es que opengl requiere de una ventana para funcionar, sin la cual no se crea el contexto.

Existe alguna manera de lanzar openGL sin tener el sistema de ventanas activado? supongo que no ya que el driver de opengl va adherido al sistema de ventanas pero quizá alguien sepa algun truco.

Gracias
Por un stratos menos tenso

Prompt

No requiere una ventana para funcionar, eso es falso, yo tengo una consola de test y para hacer pruebas de render no necesito una ventana, solo el contexto.

Mira en los ejemplos de glew como se crea el contexto de OpenGL. No obstante OpenGL si necesita de aceleracion por hardware (aunque nVidia tiene un software para simular y tal...) que no es comun en tarjetas graficas de servidores.

tamat

hablas de una consola abierta en tu escritorio, no de una consola abierta remotamente en un PC que no tiene Xs. verdad?
Por un stratos menos tenso

Prompt

Un proceso vamos, sin Xs

Quizas el driver obligatoriamente necesite tener las X por algun motivo, pero seria estupido, así que estoy seguro de que podrias tener un servicio, una aplicacion con contexto de renderizado de OGL al cual por TCP/IP le pases cosas.

fjfnaranjo

¿Cómo vas con esto, has conseguido algún avance?

Estaba interesado en el tema porque una vez me encontré con un problema similar desarrollando un GIS.
fjfnaranjo.com - Creating entertainment - Creando entretenimiento
fjfnaranjo [4t] gm4il [d0t] c0m (mail y msn)

davidgf

Diría que buscas esto:

http://en.wikipedia.org/wiki/VirtualGL

Si lo hacer funcionar avisa cómo ;)

Saludos!
Tàrraco: una aventura por la Tarragona romana (http://tarraco.davidgf.net)

wereoffs

Hola, para crear un contexto de opengl se necesitan las X, así que creo que actualmente no es posible poder utilizar la gpu mediante opengl si no se tienen las X corriendo. Aunque supongo que podrás usar perfectamente las glx aunque no tengas ninguna ventana, pero necesitarás algun buffer donde pintar. Si tu tarjeta soporta framebuffer object, creo que podras  crear el buffer interno y pintar ahí. Aunque tal vez sólo te ionmteresa hacer cálculos con la gpu y recoger la informacion con glgetmatrixf.

Para crear el contexto no hay que crear ninguna ventana:

Primero hay que buscar un visual  con glxChooseVisual
Despues a partir de ese visual crear el contexto con glxCreateContext

Un saludo.

tamat

Es para generar videos on demand, cada frame se dumpea a disco donde se comprime a flash video y se envia al cliente. pero creo que al final da igual, dejaré las Xs y ya está.

Gracias a todos.
Por un stratos menos tenso






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.