• Viernes 8 de Noviembre de 2024, 19:47

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Zelkop

Páginas: [1]
1
DirectX / Filtro Directshow
« en: Martes 27 de Diciembre de 2005, 11:15 »
Hola:

   Me gustaria saber que me puede ofrecer un mejor rendimiento a la hora de capturar imagenes de una camara digtal.

Capture --> FrameGrabber --> NullRender, y capturar el buffer cada X tiempo
Capture --> AviDecompresor--> NullRender, e intentar capturar el frame cada X tiempo.

Gracias.

2
OpenGL / Openscenegraph -> Texturas
« en: Martes 27 de Diciembre de 2005, 11:11 »
Hola:

    No se hasta que punto este es el lugar idoneo para hacer esta pregunta pero, ahi va y espero que alguien me pueda ayudar.

    Estoy trabajando con Directx y Openscenegraph àra capturar de un dispositivo digital ( en la fase de pruebas trabajo con una webcam 640 x 480 para la plicacion ereal se usara una camara 800 x 600 ), capturo con el filtro framegrabber y luego recojo la imagen patra colocarla como fondo ( un plano en vertical que ocupa toda la pantalla en proyeccion ortografica ), mi problema es que pierdo mucho tiempo en el registro de la textura. lo que actualmente hago es indicar la textura que se va a usar:

// Capturar e buffer con la imagen
pFrame = capture->getFrame();
// Crear y Registrar la textura
background->setImage(camWindth,camHeight,0,GL_RGB, GL_BGR, GL_UNSIGNED_BYTE, pFrame, osg::Image::NO_DELETE,4);
// Aplicarla
backgroundTexture->setImage(background);

Y me olvido de ella, hasta el refresco que lo hago de la siguiente manera:

// Vuelvo a pedir l aimagen que queda almacenada en el buffer comun de directx y osg
capture->grabFrame();
// Realizar el refresco de la misma
background->dirty();

Este ultimo paso ->dirty(), creo que vuelve a registrar la textura ( lo mas costoso de toda programacion grafica ) por lo que tengo un rendimiento pobre a 640 x 480, y me temo que peor aun a 800 x 600, la aplicacion debe correr en tiempo real y ademas esta el inconveniente de que debe tener la resolucion que os comento...

¿ Es posible hacer una carga optimizada de texturas, es posible mediante osg cargar las texturas directamente en hardware ? como lo hariais ??

Gracias.

Páginas: [1]