DirectX

16
DirectX Steve Salas Christian Idrovo

description

Presentacion del framework DirectX en clase de Aplicaciones Multimedia Interactiva

Transcript of DirectX

Page 1: DirectX

DirectX

Steve SalasChristian Idrovo

Page 2: DirectX

DIRECTX

¿Que es DirectX? Microsoft DirectX es una colección avanzada de interfaces de programación de aplicaciones (APIs) integrada a los sistemas operativos Microsoft Windows.

Este conjunto de APIs mantiene una plataforma de desarrollo de aplicaciones multimedia estándar para aplicaciones Windows, permitiéndoles a los programadores del software acceder al hardware especializado sin tener que escribir código específico de cada tipo de hardware.

DirectX juega un papel en muchas funciones, incluyendo renderizacion 3D, reproducción de video, interfaces para joysticks y ratones, gestión de redes para multi-jugador y muchos más.

Sin embargo, DirectX tiene una gran desventaja: no es portable, es decir, una aplicación programada con DirectX esta condenada a trabajar solamente en Windows

Page 3: DirectX

HistoriaLos Años Obscuros

• Antes de 1995 virtualmente todos los juegos se ejecutaban desde DOS, sin ninguna aceleración de hardware de video.

• DOS mismo presentaba una interfase hostil para el usuario, con dificultades para la configuración.

• Aparece Windows 3.1 con una interfase más amistosa pero como una pobre plataforma para los juegos.

• Era Virtualmente imposible lograr una renderización customizada rápida.

DIRECTX

Page 4: DirectX

Aparece Windows 95

• Diseñado para reemplazar a DOS/ Windows 3.1

• Podía correr la mayoría de las aplicaciones de DOS de forma nativa, lo que permitió que las aplicaciones pudieran migrar sin problemas.

• Se introdujo un SDK para juegos, mas tarde conocido como DirectX 1.

Historia (cont.) DIRECTX

Page 5: DirectX

Las Metas

• DirectX fue desarrollado para garantizar a los programas basados en Windows un alto rendimiento en el acceso en tiempo real al hardware disponible en las computadoras.

• Este provee interfaces consistentes entre en los desarrolladores de hardware y software para dar a los programadores acceso de bajo nivel a las capacidades del hardware, como acceso directo a la memoria de video, acceso a la aceleración de video y sonido por hardware, etc.

• Todo esto mediante una capa de abstracción entre el software y los distintos dispositivos de hardware.

DIRECTX

Page 6: DirectX

Componentes

• Consta de los siguientes APIs:• Direct3D: Utilizado para el procesado y/o

programado de gráficos en tres dimensiones, proporciona un librería que permite optimizar la renderización de objetos 3D tomando las ventajas del hardware existente, o mediante software si no se encontrara el hardware adecuado.

• Direct Graphics: para dibujado de imágenes en dos dimensiones (planas),y para representación de imágenes en tres dimensiones.

• DirectInput: Proporciona una interfaz para el manejo de entrada y salida. Como el teclado, el mouse, joystick, etc.

DIRECTX

Page 7: DirectX

• DirectPlay: para comunicaciones en red.

• DirectSound: la librería de DirectSound maneja todo lo relacionado con el sonido. Proporcionado tecnologías de mixing, sonido estéreo y 3D, aprovechando al máximo las capacidades del hardware.

• DirectDraw: es una librería de bajo nivel contenida

principalmente en el archivo ddraw.dll, que le permite al programador acceder al hardware de video directamente. Además a través de DirectDraw podemos implementar varias técnicas para el manejo de la memoria, intercambio de páginas, sobreimpresiones, etc.

Componentes (cont.) DIRECTX

Page 8: DirectX

• DirectMusic: para la reproducción de pistas musicales compuestas con Direct Producer.

• DirectShow: para reproducir audio y video con transparencia de red.

• DirectSetup: para la instalación de componentes DirectX.

Componentes (cont.) DIRECTX

Page 9: DirectX

DIRECTX

¿Por qué utilizar DirectX?

DirectX proporciona a los programadores una manera estandarizada y amigable de acceder a los recursos de la computadora para programar aplicaciones y juegos aprovechando las ultimas tecnologías de hardware de manera generalizada.

Otra de las principales ventajas de trabajar con DirectX es que posee todas las herramientas para construir aplicaciones completas de alto nivel de una manera en la que el hardware no es una limitación, sino que el programador solo debe conocer el API y este es el que se encarga de saber como realmente funcionan los distintos tipo tipos de hardware.

Page 10: DirectX

Alternativas a DirectX

• OpenGL

• SDL (Simple DirectMedia Layer)

• Allegro

• RenderWare

DIRECTX

Page 11: DirectX

(DirectX vs. SDL) DIRECTX

Page 12: DirectX

DirectX 9 (Half Life 2)

DIRECTX

Page 13: DirectX

DIRECTX

DirectX 10 (Crysis)

Page 14: DirectX

Wallpaper renderizadoen DirectX9

Wallpaper renderizadoen DirectX10

Page 15: DirectX

• Acceso directo al hardware: Especialmente importante en el caso de la tarjeta de video.

 • Rapidez: La performance en el desarrollo de un

programa es fundamental, DirectX permite obtener todo el rendimiento posible del hardware, inclusive, aprovechando mejoras en el Hardware que podrían aparecer , después de construir la aplicación.

• Facilidad: Sin dudas, tareas como configurar el

tipo de video, la profundidad de colores, la reproducción de sonido, la compatibilidad con el hardware existente, resultan tarea más sencillas trabajar con DirectX.

Ventajas al usar DirectX DIRECTX

Page 16: DirectX

Bibliografía• http://www.wikilearning.com/capitulo.php?

id_contenido=5096&order=1

• http://www.conocimientosweb.net/dcmt/ficha1672.html

• http://es.wikipedia.org/wiki/DirectX

• http://gda.utp.edu.co:9673/gda/documentacion/programacion_3d/directx/tutorial01

• http://www.thealphasite.org/articulos/managed_directx_introduccion_y_tutorial_i

• http://www.jeuazarru.com/docs/DirectX.pdf

DIRECTX