DirectX es una colección de APIs creadas por Microsoft para facilitar el desarrollo de aplicaciones multimedia y de videojuegos en Windows. Permite a los programadores acceder al hardware de forma estandarizada sin tener que escribir código específico para cada dispositivo. DirectX incluye APIs para gráficos 2D y 3D, entrada de usuario, audio, red y más. Aunque está diseñado para Windows, existen alternativas multiplataforma como OpenGL y SDL.
2. D
¿Que es DirectX? I
•Una colección de APIs
R
•Creadas para facilitar tareas relacionadas con la
programación de juegos y multimedia en Windows.
E
C
•Permite a los programadores acceder al hardware sin
tener que escribir código específico. T
X
•DirectX juega un papel en muchas funciones, incluyendo
renderizacion 3D, reproducción de video.
• Interfaces para joysticks, ratones, gestión de redes para
multi-jugador y muchos más.
Desventaja: no es portable, es decir, una aplicación
programada con DirectX esta condenada a trabajar
solamente en Windows
3. D
¿Por qué utilizar DirectX? I
DirectX proporciona a los programadores una manera
estandarizada y amigable de acceder a los recursos de la
R
computadora para programar aplicaciones y juegos E
aprovechando las ultimas tecnologías de hardware de
manera generalizada. C
T
Posee todas las herramientas para construir aplicaciones
completas de alto nivel de una manera en la que el X
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 tipos de
hardware.
4. Historia DirectX
Versión DirectX Sistema Operativo Año
DOS Windows 3.1 <1995
DirectX 1.0(SDK) Windows 95 1995
DirectX 5.2 Windows 98 1998
DirectX 6.0 Windows CE para la Dreamcast 1998
DirectX 8.0a Windows 95 2000
DirectX 8.1 Windows XP 2001
DirectX 9.0 Windows Server 2003 2002
DirectX 9.0a 2003
DirectX 9.0b 2003
DirectX 9.0c Windows XP SP2, Windows Server 2003 SP1, y Xbox 360. Última versión exclusiva 2004
para 32-bit.
DirectX 9.0c Compatible con todos los Sistemas Windows que soporten 9.0c (RC0) Primera versión 2005
en incluir D3DX DLLs
Última ver: marzo
DirectX 9.0c 2009
DirectX 10 Exclusivo de Windows Vista 2006
Service Pack 1 para Windows Vista, Windows Server 2008 2008
incluye Direct3D 10.1
DirectX 11 Windows Vista y Windows 7 2009
5. D
Alternativas a DirectX I
R
OpenGL (independiente del sistema operativo ) E
C
SDL (Simple DirectMedia Layer) soporta Linux, Windows,T
Windows CE, BeOS, MacOS, MacOS X, FreeBSD, NetBSD etc.
X
Allegro, soporta diferentes SO
RenderWare
6. D
Componentes I
Consta de los siguientes APIs: R
Direct3D: Utilizado para el procesado y/o programado de
gráficos en tres dimensiones, proporciona un librería que permite E
optimizar la renderización de objetos 3D tomando las ventajas
del hardware existente, o mediante software si no se encontrara el C
hardware adecuado. (características más usadas de DirectX)
T
DirectGraphics: para dibujado de imágenes en dos dimensiones
(planas),y para representación de imágenes en tres dimensiones.
X
DirectInput (XInput): Proporciona una interfaz para el manejo
de entrada y salida. Como el teclado, el mouse, y controles para
videojuegos.
7. D
Componentes (cont.) I
R
DirectPlay: para comunicaciones en red. Da acceso al servidor, al E
clientes y acceso al intercambio de archivos.
C
DirectSound (XACT): maneja todo lo relacionado con el sonido y
grabación de sonido. Proporcionado tecnologías de mixing, sonido T
estéreo y 3D, aprovechando al máximo las capacidades del
hardware. X
DirectDraw: 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.
8. D
Componentes (cont.) I
R
DirectMusic: para la reproducción de pistas musicales E
compuestas. C
DirectShow: para reproducir audio y video con transparencia de T
red. X
DirectSetup: para la instalación de componentes DirectX.
11. Formatos Soportados por
DirectShow
Windows Media Audio (WMA) Windows Media® Video (WMV)*
Advanced Systems Format (ASF) MPEG Motion Picture Experts Group
QuickTime (version 2 and lower)
AVI - Audio-Video Interleaved
WAV AIFF
AU (Unix Audio) SND (Sound File)
MIDI
http://www.sensoray.com/support/videoLan.htm
vulnerabilidad
http://www.microsoft.com/latam/technet/seguridad/alerta/971778.mspx
12. DirectShow FAQ
What OS does DirectShow support?
Windows
Do I need to know COM(ComponentObjectModel) knowledge?
How to instantiate them
Access the interface they expose
Manage reference count
(Filter designer requires more )
Is there a DirectShow Hardware Compatibility List (HCL) ?
Using DirectDraw & DirectSound hardware, if they available
Or using GDI video & waveOut* audio
13. DirectShow FAQ
What language can I use ?
DirectShow is designed for C++
VB access subset of the API
Script based DVD or TV AP
Will it accessible through managed code?
no current plans, the CLR is not recommended for performance reasons
How does DirectShow relate to Microsoft® ActiveMovie®?
the original name for DirectShow
14. Que versión de DirectX tengo?
dxdiag
Primero, en el menú
elegir la opción
y escribir dxdiag
16. Video processing using
DirectShow.NET
We are developing
video processing
softwares using
DirectShow.NET.
The left figure shows
a simple
demonstration where
a video from a web
camera settled on the
top of a biped robot,
is transformed into
the one with a cyber-
space-like appearance.
This application is used to test the camera mounted on a car, the
system to record the class, and so on.
http://brain.cc.kogakuin.ac.jp/research/
17. http://www.filebuzz.com/files/music_mixer/1.html
Webcam Tracker Live! v1.31
Webcam Tracker Live! is a video and audio capture software that can broadcast
captured data via internet (or local area network) to other users in real time
(streaming). Webcam Tracker Live! use DirectShow technology to capturing and
preprocessing video and audio data and Windows Media technology to
broadcasting ones. You can use any video and audio capture device such as
Webcams, TV Tuners, Sound and Video cards with capabilities of capturing audio
and video data. With using Windows Media technology you can encode captured
data with any video and audio codec installed in your system. So you can broadcast
live video and audio even through low speed communication lines such as phone
line with modem.
18. ARToolKit(Plus) and WPF 3D
http://www.brains-n-brawn.com/default.aspx?
vDir=wpfaugreal
http://www.youtube.com/watch?v=vPaXR24FP5g
http://www.hitlabnz.org/forum/showthread.php?t=546
19. AR Maze Game
March 11, 2009
http://www.youtube.com/watch?v=BjEKoDW9S-4
20. Augmented Reality Physics
May 24, 2009
http://www.youtube.com/watch?v=fWS374HZA-A
Augmented Reality Physics Game with jMonkeyEngine
22. COR
(Colaboración Remota)
COR permite el trabajo colaborativo entre sus usuarios
mediante la transmisión y recepción de audio y video en
tiempo real (videoconferencia) y el uso de aplicaciones de red
como Compartición de Escritorio, Chat y Presentation.
COR esta basado en ConferenceXP 3.0 de Microsoft
Research que proporciona una plataforma escalable y
extensible para el desarrollo de nuevas aplicaciones
colaborativas.
Mediante la utilización de las APIs de DirectShow y
WindowsMedia se tiene acceso a distintas características para
el control del audio y video, tales como la codificación y
decodificación de los flujos, manejo de dispositivos de captura
y el envío de los datos por la red.
http://www.cti.espol.edu.ec/proyecto.php?id=32
23. Bibliografía D
http://www.wikilearning.com/capitulo.php?
I
id_contenido=5096&order=1 R
http://www.conocimientosweb.net/dcmt/ficha1672.html
http://es.wikipedia.org/wiki/DirectX E
http://gda.utp.edu.co:9673/gda/documentacion/programacion_3d
/directx/tutorial01 C
http://www.thealphasite.org/articulos/managed_directx_introducc
ion_y_tutorial_i T
http://www.jeuazarru.com/docs/DirectX.pdf X
http://www.brains-n-brawn.com/default.aspx?vDir=wpfaugreal
http://go.microsoft.com/fwlink/?LinkId=10138
http://go.microsoft.com/fwlink/?LinkId=19380
http://discuss.microsoft.com/archives/DIRECTXAV.htm
24. D
Ventajas al usar DirectX I
Acceso directo al hardware: Especialmente importante en el caso
de la tarjeta de video. R
Rapidez: La performance en el desarrollo de un programa es E
fundamental, DirectX permite obtener todo el rendimiento
posible del hardware, inclusive, aprovechando mejoras en el C
Hardware que podrían aparecer , después de construir la
aplicación. T
Facilidad: Sin dudas, tareas como configurar el tipo de video, la
X
profundidad de colores, la reproducción de sonido, la
compatibilidad con el hardware existente, resultan tarea más
sencillas trabajar con DirectX.
25. Books
Programming Microsoft® DirectShow®
for Digital Video and Television
DirectShow: Core Media Technology in
Windows XP Empowers You to Create
Custom Audio/Video Processing
Components