Guía de DirectX - Usar DirectDraw
22 de Septiembre de 2005
Arquitectura de aplicaciones
Cuando se trabaja con Direct Draw, lo primero que se debe hacer es crear un objeto DirectDraw. Ese objeto proporciona los métodos para crear y gestionar otros objetos, que nos permitirán trabajar con las superficies, paletas, obtener la información del sistema, etc.
Cuando se crea un objeto Direct Draw, se crea para un dispositivo DirectDraw concreto corresponde al HAL instalado en el sistema.
Crear un objeto DirectDraw
Este código muestra como instanciar un objeto DirectDraw, utilizando la función DirectDrawCreate que contiene 3 parámetros.
Parámetro 1: El primer parámetro toma un único identificar (GUID) que representa el dispositivo de display. En este caso el valor será NULL, lo que significa que DirectDraw usará el driver por defecto del sistema.
Parámetro 2: Identifíca la dirección del puntero en donde Objeto fué creado.
Parámetro 3: El tercer parámetro debe ser seteado como NULL.
if ( FAILED( DirectDrawCreate( NULL, &lpDD, NULL ) ) )
{
return Fail ( hwnd, "No se creó el Objeto DirectDraw.\n" );
}
Configurar el nivel cooperativo
El nivel cooperativo especifíca cómo la aplicación interactuará con el sistema (A pantalla completa, en una ventana, etc), mediante la funcióm SetCooperativeLevel. Si estamos programando un juego, seguramente vamos a configurar la aplicación a pantalla completa.
if ( FAILED( lpDD->SetCooperativeLevel ( hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN ) )
{
return Fail ( hwnd, "No se pudo fijar el nivel cooperativo.\n" );
}
Configurar el modo de video
El modo de video, configura el ancho, el alto, y la profundidad de colores.
if ( FAILED( lpDD->SetDisplayMode ( 640, 480, 16 ) ) )
{
return Fail ( hwnd, "No se pudo fijar el modo de video.\n" );
}
Bueno, hasta ahora no hicimos mucho, sólo creamos un objeto DirectDraw, seteamos el nivel cooperativo y el modo de video, claro está que todo esto sólo tiene sentido cuando esté todo el código completo.
Superficies
Las superficies son el tema central en DirectDraw, en resumen, las superficies son bloques de memoria, que DirectDraw trata como rectángulos, estos bloques de memoria son los que contendrán los gráficos que necesitamos mostrar en la aplicación.
El ejemplo más sencillo de superficies, es cuando queremos mostrar una imagen cualquiera, supongamos, foto.bmp, lo primero que hace DirectDraw es crear una superficie y después cargar la imagen en esa superficie.
Cuando se crea un objeto Direct Draw, se crea para un dispositivo DirectDraw concreto corresponde al HAL instalado en el sistema.
Crear un objeto DirectDraw
Este código muestra como instanciar un objeto DirectDraw, utilizando la función DirectDrawCreate que contiene 3 parámetros.
Parámetro 1: El primer parámetro toma un único identificar (GUID) que representa el dispositivo de display. En este caso el valor será NULL, lo que significa que DirectDraw usará el driver por defecto del sistema.
Parámetro 2: Identifíca la dirección del puntero en donde Objeto fué creado.
Parámetro 3: El tercer parámetro debe ser seteado como NULL.
if ( FAILED( DirectDrawCreate( NULL, &lpDD, NULL ) ) )
{
return Fail ( hwnd, "No se creó el Objeto DirectDraw.\n" );
}
Configurar el nivel cooperativo
El nivel cooperativo especifíca cómo la aplicación interactuará con el sistema (A pantalla completa, en una ventana, etc), mediante la funcióm SetCooperativeLevel. Si estamos programando un juego, seguramente vamos a configurar la aplicación a pantalla completa.
if ( FAILED( lpDD->SetCooperativeLevel ( hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN ) )
{
return Fail ( hwnd, "No se pudo fijar el nivel cooperativo.\n" );
}
Configurar el modo de video
El modo de video, configura el ancho, el alto, y la profundidad de colores.
if ( FAILED( lpDD->SetDisplayMode ( 640, 480, 16 ) ) )
{
return Fail ( hwnd, "No se pudo fijar el modo de video.\n" );
}
Bueno, hasta ahora no hicimos mucho, sólo creamos un objeto DirectDraw, seteamos el nivel cooperativo y el modo de video, claro está que todo esto sólo tiene sentido cuando esté todo el código completo.
Superficies
Las superficies son el tema central en DirectDraw, en resumen, las superficies son bloques de memoria, que DirectDraw trata como rectángulos, estos bloques de memoria son los que contendrán los gráficos que necesitamos mostrar en la aplicación.
El ejemplo más sencillo de superficies, es cuando queremos mostrar una imagen cualquiera, supongamos, foto.bmp, lo primero que hace DirectDraw es crear una superficie y después cargar la imagen en esa superficie.
Valora este capítulo:
Autor y licencia de 'Guía de DirectX - Usar DirectDraw'
|
Opiniona sobre 'Guía de DirectX - Usar DirectDraw' (2)
Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.
Opina sobre este tutorial |
Wikis relacionados con 'Guía de DirectX - Usar DirectDraw'
Este documento describe cómo usar el sistema de spooling para impresoras de líneas que provee...
Más »
En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento...
Más »
Este documento tiene por objetivo ayudar a todas aquellas personas que por cualquier motivo no...
Más »
El principal objetivo de este documento es lograr que el lector adquiera la capacidad de...
Más »
La unidad Iomega ZIP es una unidad de disco extraíble y de moda. Está disponible...
Más »


