SoloCodigo
Programación Específica => Programación de Videojuegos => OpenGL => Mensaje iniciado por: Karkayu en Lunes 24 de Marzo de 2008, 00:02
-
Hola a todos:
A ver si alguno puede orientarme. Necesito implementar la típica opción de que, al pulsar una tecla, se me vuelque la escena que se esta visualizando en un fichero .jpg (o .bmp) ¿Como lo hacéis vosotros? ¿existe alguna librería para ello?
Yo habia pensado en volcar el contenido del framebuffer, pero me genera archivos .raw y yo necesito algo mas estandar.
Uso C y Glut, bajo Linux ¿Alguna idea?
Un saludo
-
Hay mas de una forma (como usar SDL).
Este tutorial te ayudara. (http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=10)
-
Hay mas de una forma (como usar SDL).
Este tutorial te ayudara. (http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=10)
Gracias por tu respuesta!!! B)
El tutorial ese ya lo había visto (visito mucho esa página), pero mi intención es no usar SDL. Me han comentado que existen unas librerías llamadas ¿Corona? que sirven para lo que quiero hacer. Sin embargo, no he encontrado mucho sobre el tema. ¿Alguien sabe algo?
De todas formas, y dado ando unpoco excaso de tiempo y que la aplicación solo se va a ejecutar en ordenadores con X-Windows, estoy viendo que terminare por hacer una chapuza (tipo llamada al comando XWD con system o algo similar) <_<
Un saludo y gracias otra vez
-
Ya esta resuelto y de una forma mas o menos correcta :)
Para ello he usado la librería netpbm que viene ya instalada en linux (si no esta instalada usas el apt-get o el gestor de paquetes que use tu distro).
Luego, para capturar la pantalla, construimos una funcion que realice llamas con system de la siguiente forma:
xwd -root -screen -out captura //Obtenemos formato grafico nativo .xwd
xwdtopnm captura > captura.pnm //Pasamos a pnm
pnm2png captura.pnm > captura.png //Obtenemos un formato mas estandar .png
Aparte habría que controlar que cada captura tuviese un nombre diferente (añadiendole al final un numero pej) y borrar los ficheros .xwd y .pnm que se crean durante el proceso.
Con este método podemos capturar en cualquier escritorio X-Windows
Un saludo