PDF de programación - Que es DirectX

Imágen de pdf Que es DirectX

Que es DirectXgráfica de visualizaciones

Publicado el 12 de Abril del 2019
1.725 visualizaciones desde el 12 de Abril del 2019
168,1 KB
16 paginas
Creado hace 9a (15/10/2014)
¿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.

Cuando una aplicación o un juego es escrito para DirectX, el programador no tiene que
preocuparse por exactamente qué tarjeta de sonido o por el adaptador gráfico que el
usuario final podría tener en su máquina. DirectX se encarga de eso por el.

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, lo cual no es
nada deseable a menos que sepas que el único mercado al que va dirigido la aplicacion
son personas con una computadora con Windows.



¿Porque 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 no solo soporta la parte de
gráficos y de 3D sino 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.







¿Como Funciona DirectX?

Básicamente el programador tiene a mano el API de DirectX de donde se tienen las
funciones con las que uno dispone para programar la aplicación.

Este API se comunica con un HAL (capa de abstracción del hardware) diciéndole a esta
lo que la aplicación esta queriendo hacer, el HAL es el que realmente conoce que es lo
que el hardware puede o no realizar y como lo realiza así que es este el que se comunica
con el hardware y de acuerdo a esto le asigna el trabajo, en caso de que nuestro hardware
no sea compatible con alguna de las funcionalidades de la versión de DirectX que es esta
utilizando existe un HEL (capa de emulación de hardware) que se encarga de emular las
funciones que nuestro hardware no puede manejar.

De esta manera se puede mantener la compatibilidad de DirectX con todo tipo de
hardware mas viejo y nos permite utilizar aplicaciones nuevas con estos hardwares, pero
con cierta penalización en performance o en calidad.





Alternativas a DirectX

OpenGL ( http://www.opengl.org )

OpenGL fue creado por Silicon Graphics en 1992, y se ha convertido en uno de los
principales ambientes de programación para desarrollar aplicaciones gráficas que existen.

OpenGL esta diseñado para poderse usar en una gran variedad de sistemas operativos, es
decir, que el mismo código que se utilice para desarrollar una aplicaron o juego en
Windows puede ser utilizado usarlo para desarrollar en Mac, Linux, etc. sin tener que
modificar o modificándo muy poco, esto puede significar una gran ventaja para cualquier
compañía en especial en estos días donde se busca abarcar el mayor mercado posible.

Otra gran ventaja que ofrece OpenGL es que su arquitectura fue pensada para poder
evolucionar conforme avanza el tiempo, de modo que pueda adaptarse con facilidad a las
novedades que van surgiendo en la industria.

En general, desde que apareció, OpenGL ha sido un ambiente de programación bastante
estable y confiable, y quizás la razón por la que es más conocido es porque fue la primera
en ofrecer la posibilidad de desarrollar aplicaciones 3D; fue precisamente con OpenGL
que se hicieron los primeros juegos 3D como Wolfenstain y Doom, hoy todavía es muy
utilizado en muchos de los ultimos juegos que salen al mercado.



SDL ( http://www.libsdl.org )

Simple DirectMedia Layer es una librería multimedia diseñada para proveer acceso
rápido al buffer gráfico y el sistema de sonido. Es usado por MPEG, emuladores y varios
juegos populares, incluyendo el premiado "Civilization: Call To Power" portado en
Linux. Otra característica que tiene es que fue diseñado para ser portable a diferentes
sistemas operativos como Windows, Linux, BeOS, MacOS, Solaris, IRIX, y FreeBSD sin
tener que cambiar ni siquiera una sola línea de código.

Esta librería fue escrita en C, pero trabaja en forma nativa con C++, y puede utilizarse
fácilmente con otros lenguajes de programación como Ada, Eiffel, ML, Perl, Python y
Ruby.

Una de las características que tiene SDL es que se trata de un proyecto "Open Source", es
decir el código fuente está disponible.





Allegro ( http://www.allegro.cc )

La Allegro Gaming Library es un API que fue originalmente creado por Shawn
Hargreaves, y está enfocado específicamente hacia la programación de video juegos.

Una de las principales ventajas que tiene es que fue específicamente diseñado para la
programación de video juegos, por lo tanto todas las rutinas que utiliza están hechas para
ser fáciles de manejar y sobretodo eficiente desde el punto de vista de un juego.

Con Allegro podrás manipular prácticamente toda la multimedia del juego, tal como la
Entrada/Salida, gráficas, midis, efectos de sonido y el tiempo.

Esta API es muy usada especialmente entre la gente que gusta de programar video juegos
por hobbie o gente que apenas comienza en este pequeño mundo de programación de
video juegos, principalmente esto se debe a que es muy fácil e intuitivo de usar, además
de que hace el código del programa muy legible.



RenderWare

API para manejo de gráficos 3D desarrollado por Criterion Software. Posee un API muy
amigable que incluye funciones para sombreados, mapeado y filtrado de texturas, realizar
transformaciones de geometría, clipping, e iluminación. RenderWave incluye un lenguaje
de scripts utilizado para guardar objetos en archivos de texto. También incluye una gran
librería de primitivas y modelos, desde la versión 2, incluye drivers para utilizar
aceleración por hardware, aunque tiene un muy buen desempeño inclusive sin la ayuda
del hardware.







Historia de DirectX



Los 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.
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 renderizacion customizada rápida.


Aparece Windows95

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.


Las metas de DirectX

Una de las razones primarias para crear DirectX era promover el desarrollo de los juegos
para la plataforma Windows. La mayoría de juegos desarrollados para la computadora
personal eran basados en MS-DOS. Sin embargo, al diseñar los juegos basados en DOS,
los diseñadores, debían programar varias implementaciones de hardware para una
variedad de tarjetas que complicaban la instalación

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.







A partir de este punto, DirectX fue evolucionando, agregando cada vez más
funcionalidades, y mejorando otras, en la actualidad, la última versión de DirectX es la
9.0b.


En general DirectX ha venido ganando mucha popularidad en los últimos años entre los
programadores de vjuegos, en especial desde que Microsoft comenzó a mejorar la parte
de Direct3D haciéndolo más amigable como eficiente, y se ha vuelto una seria
competencia para OpenGL, otro de los estandares graficos de gran aceptación.







Componentes de DirectX



El API de DirectX esta compuesto de los siguientes components:

DirectDraw

DirectDraw permite el acceso directo a la memoria del adaptador de video, hardware
blitters, hardware overlays, and page flipping. DirectDraw proporciona esta funcionalidad
manteniendo la compatibilidad con los todos los programas basados en versiones previas
de Windows y los drivers de distintos dispositivos de hardware.
Esencialmente, DirectDraw es un administrador de la memoria de video. Usando
DirectDraw, un programa puede manipular la memoria de video con facilidad, mientras
aprovecha todo tipo de capacidades de los tipos diferentes de adaptadores de video sin
depender de un ti
  • Links de descarga
http://lwp-l.com/pdf15718

Comentarios de: Que es DirectX (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad