-¿De vuelta al Bar eh? ¿O es tu primera vez por aquí?, En cualquier caso recuerda:
El Bar Scumm (foro) es donde los piratillas (fans del point & click) y usuarios de la Web de aventuras http://MoreMonkeyIsland.es.tl nos reunimos para hablar sobre las novedades del género aventurero, participar en concursos, hacer (y leer) reviews y en general pasar buenos ratos entre personas con los mismos gustos. Siéntate, toma el Grog que quieras y vigila tus modales (y tus espaldas). ¡Bienvenid@!-
(¡¡Lee las normas del foro y del concurso para no cometer errores!!)



 
ÍndicePortalFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarse

Comparte | 
 

 En que consiste DirectX

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
murphy
---------------------
---------------------


Localización : Dinky Island

MensajeTema: En que consiste DirectX   Sáb Jun 20, 2009 11:03 pm

Articulo sobre DirectX (por Murphy y Mungler de Digital Silence)


DirectX es una colección de APIs creadas y recreadas para facilitar las complejas tareas relacionadas con multimedia, especialmente programación de juegos y vídeo en la plataforma Microsoft Windows.

DirectX consta de los siguientes APIs:

* Direct3D: utilizado para el procesado y la programación de gráficos en tres dimensiones (una de las características más usadas de DirectX).
* Direct Draw: para dibujar imágenes en dos dimensiones (planas), y graficos en 2D (Sprites, backgrounds etc).
* DirectInput: utilizado para procesar datos del teclado, mouse, joystick y otros controles para juegos.
* DirectPlay: para comunicaciones en red.
* DirectSound: para la reproducción y grabación de sonidos de ondas.
* DirectMusic: para la reproducción de pistas musicales compuestas con DirectMusic Producer.
* DirectShow: para reproducir audio y vídeo con transparencia de red.
* DirectSetup: para la instalación de componentes DirectX.

Una API (Application Programming Interface) es básicamente, como su nombre indica, una interfaz de programación de aplicaciones, que sirve como interfaz de comunicación entre componentes de software, haciendo que los programas accedan a una serie de funciones generales (como dibujar ventanas en la pantalla, reproducir imágenes 3D o reproducir un determinado tipo de sonido) que ya incorpora Windows, evitando de este modo tener que estar repitiendo códigos y librerías.

Si bien en un principio se utilizaban sobre todo para juegos y algunas aplicaciones multimedia, con el paso del tiempo se ha extendido su uso a Internet y son bastantes las Web que para ejecutar acciones concretas, como reproducir vídeo o sonido e incluso acelerar el acceso a sus contenidos, necesitan instalar controladores DirectX en nuestro equipo.

Dado que la mayoría de las funciones encomendadas a DirectX están relacionadas con el tema de los gráficos, es muy importante que nuestra tarjeta gráfica sea capaz de soportar la versión de DirectX que tengamos instalada en nuestro Windows para conseguir su máximo rendimiento.


A pesar de ser desarrollado exclusivamente para la plataforma Windows, una implementación de su API se encuentra en progreso para sistemas Unix (en particular Linux) y X Window System conocida como Cedega, desarrollada por la empresa de software Transgaming y orientada a la ejecución de juegos desarrollados para Windows bajo sistemas Unix.


DirectX 10


Como cambio mayor en la API DirectX, DirectX 10 es lanzado junto a Windows Vista y es exclusivo de este sistema; versiones anteriores de Windows no pueden lanzar aplicaciones exclusivas de DirectX 10 de manera oficial.[1]

Muchas partes de la API fueron sacadas en el último DirectX SDK y se mantienen únicamente con motivos de compatibilidad: DirectInput fue retirado en favor de XInput, DirectSound fue retirado por XACT con la consecuente pérdida de soporte de aceleración de hardware, debido a nuevas características en la pila de audio de Windows Vista, la cual renderiza el audio directamente al procesador.

Para mantener una compatibilidad hacia atrás, DirectX de Windows Vista contiene muchas versiones de Direct3D:[2]

* Direct3D 9: emula el comportamiento de Direct3D 9 como lo era en Windows XP. Las ventajas del nuevo Windows Display Driver Model de Vista no son mostradas a la aplicación si están instalados controladores WDDM.
* Direct3D 9Ex (conocido internamente como 9.0L durante el desarrollo de Windows Vista, con la L refiriéndose a Longhorn, el nombre clave para Windows Vista): permite acceso total a las nuevas capacidades de WDDM (si están instalados controladores compatibles con WDDM) a la vez que se mantiene compatibilidad con aplicaciones Direct3D existentes. La interfaz de usuario Windows Aero trabaja en D3D 9Ex.
* Direct3D 10: Diseñada alrededor del nuevo modelo de controlador de Windows Vista y proporcionando muchas mejoras a las capacidades y flexibilidad de renderizado, incluyendo el Shader Model 4.

Direct3D 10.1 es una actualización incremental de Direct3D 10, la cual se incluye y requiere de Windows Vista Service Pack 1. Esta release sólo determina algunos estándares de calidad para los fabricantes de tarjetas gráficas, a la vez que proporciona a desarrolladores más control en la calidad de la imagen. También incluye una serie de nuevos requerimientos mínimos al hardware, como Shader Model 4.1 y operaciones de punto flotante de 32-bit. Direct3D 10.1 soporta completamente el hardware Direct3D 10, pero para acceder a las nuevas características se necesita de una tarjeta nueva.

Sin embargo hay que tener en consideración, que a pesar de que Microsoft trato de mantener en DirectX 10 cierta compatibilidad hacia atras, hay programas (especialmente videojuegos creados previos a la aparición de DirectX 10) que requieren tener instalado algunos de los archivos de DirectX 9; pero los cuales no fueron considerados que estuvieran presentes en la versión DirectX 10. Debido a ello igualmente a los usuarios de Windows Vista, se les sugiere también haber instalado la última versión de DirectX 9.0c (actualizaciones bimensuales); con el objetivo de mejorar la compatibilidad entre Windows Vista y los programas que requieran DirectX 9 (ambas versiones de DirectX son compatibles, ya que solo seran instalados los archivos que no estan presentes en la versión posterior de DirectX; con lo cual DirectX 10 aún permanecera como la versión instalada en Windows Vista).
Véase también: Direct3D

DirectX 11

A pesar de que DirectX 10 es relativamente nuevo, debido a la cantidad de novedades que están apareciendo últimamente en el mundo de las tarjetas gráficas, Microsoft ya está desarrollando DirectX 11.

Microsoft esta pensando en varias adiciones para las nuevas API como:

* Soporte completo (incluidas todos las características del DX11) en Windows Vista así como para versiones futuras de Windows.
* Compatibilidad con hardware DX10 y 10.1 así como soporte para el nuevo hardware DX11.
* Nueva tecnología de computación de shaders para permitir que la GPU no sea solamente usada para gráficos 3D y así puedan los desarrolladores tomar ventaja de las tarjetas gráficas como procesadores en paralelo.
* Manejo de recursos multi-tarea que permitirán a los juegos tomar ventaja de los procesadores multi-nucleo.

DirectX, y sus variadas versiones, ha tenido un gran impacto en algunos aspectos de la programación en Windows...afectando muchas cosas mas que por ejemplo nuestras experiencias jugando a nuevos juegos y aún asi...sigue siendo un gran desconocido entre la comunidad de usuarios..
Volver arriba Ir abajo
Ver perfil de usuario
murphy
---------------------
---------------------


Localización : Dinky Island

MensajeTema: Re: En que consiste DirectX   Sáb Jun 20, 2009 11:18 pm

Que es DirectX?
DirectX es un conjunto de multimedia Application Programming Interfaces (API's) escrito por Microsoft. es una colección de Dynamic Link Libraries (DLLs) que contienen funciones útiles para todos los programadores de multimedia, siendo en su mayoría, independiente de la plataforma (platform independent). Esto, permite a los programadores, el acceso a gráficos en alta velocidad, sonido y funciones de dispositivos de entrada asi como desarrollar sus programas sin tener que analizar o testear las capacidades de un ordenador concreto. DirectX evalúa estas capacidades y si no están presentes, DirectX intentará (en algunos casos) emular esas funciones por "software" en vez de por Hardware.



Si volvemos al viejo MS-DOS, gente como los desarrolladores de videojuegos, tenían acceso directo al hardware para el cual estaban desarrollando su juego o aplicacion. Con acceso total a interrupts, tarjetas de sonido, input devices, y la famosa VGA controller, normalmente, sabiendo programarlo, los desarrolladores podían hacer cualquier cosa que se les ocurriese. Con el lanzamiento de Windows 3.1 no se sintieron especialmente motivados debido a la enorme sobrecarga que requería aprender todo el nuevo sistema de desarrollo (eran tiempos de muchos cambios y mucha información). De cualquier manera, el DOS tenía sus propios problemas.



El soporte de dispositivos Hardware (Hardware device support) en DOS era una complicada "pesadilla". Como el PC de Escritorio y la informática de consumo se hacía mas popular conforme las familias tenian mejores ingresos, empezó la competición por ofrecer mejor hardware, ofreciendo cientos de configuraciones para el PC . Con la disparatada cifra de posibles "tipos" de PC que los programadores se podían encontrar, se invertía mas tiempo en mantener la compatibilidad o programación de diferentes configuraciones por código, lo cual cada vez quitaba mas tiempo a los planes de desarrollo de los Juegos en si mismos!! Afortunadamente, todo esto empezó a cambiar.

[Ed. Nota - Alguien recuerda la dificultad de programar la tarjeta de Sonido en aquellos tiempos? todo el dia configurando las IRQ's y los DMA channels fue un claro ejemplo de frustración. y las asignaciones de memoria? Trabajar con la EMM/XMS era igual de frustrante....o tal vez más Wink.]

Con las promesas de siempre...cosas nuevas , diferentes y mejores, Microsoft descubrió Windows 95 a todo el mundo. Windows 95 poseía algunas mejoras y cualidades que superaban significativamente su predecesor basado en DOS. El standard “Plug and Play” fue introducido como una forma de que los usuarios de PC pudiesen instalar con sencillez el hardware mas actual. El sistema de manejo-de-recursos fue completamente revisado para el facil manejo de dispositivos y la independencia de dispositivos fuese una realidad. Desafortunadamente, Windows 95 fijó las mejoras de rendimiento para llevar los intereses de los desarrolladores hacia la Plataforma Windows 95 . Consecuentemente, casi todos los juegos que "corrian" bajo el modo DOS o bien requeria un 'reboot' del PC para que el juego pudiese arrancar en su propio sistema DOS o similar (otros ya no funcionaban en absoluto).

DirectX apareció para cambiar todo esto.





La aparente sencillez de querer hacer de Microsoft Windows una plataforma deseable para el multimedia development se tornó en algo bastante mas complicado de lo que MS pensó en un principio. y fue determinante que para proveer de la actuación requerida, DirectX necesitaría funcionar con unas librerías rápidas, a bajo-nivel que permitirían a los desarrolladores, mantener ciertos aspectos creativos en su código, sin que el código de DirectX resultase un "incordio".

El siguiente paso en la lista para los desarrolladores de DirectX era dejar el desarrollo del "soporte de hardware" a los fabricantes de hardware. Esto tiene mucho sentido, pues los fabricantes de hardware estan mas cualificados para escribir los Drivers para sus productos que cualquier otro desarrollador. Este acercamiento también ayudó a unificar el estándar para tecnología de los Drivers, manteniendo los aspectos esenciales de la compatibilidad a la vanguardia, para todas las clases de componentes adicionales del PC.

Otra de las características de DirectX es la capacidad de las Aplicaciones basadas en DirectX de ejecutarse al mismo tiempo que otras aplicaciones que no son DirectX sin causar interferencias en el sistema. Por último, DirectX dispondría de las capacidades que tenia el DOS mientras intentaba conseguir las demas especificaciones.



Que es lo que hace DirectX realmente?.
DirectX provee de un juego de herramientas y comandos para mejorar la experiencia en juegos y otras aplicaciones del tipo multimedia permitiendo que el hardware y el software puedan "entenderse" mucho mas fácilmente.

El API provee a las aplicaciones multimedia de un gran acceso a las características avanzadas del Hardware de alto-rendimiento como las 3D (3 dimensiones) chips de aceleración gráfica asi como chips de tarjetas de sonido. Tambien controla otras funciones de bajo-nivel, esto incluye...aceleración de gráficos 2D (2 dimensiones), soporte para un amplio rango de dispositivos de entrada como por ejemplo joysticks/joy-pads, keyboards, ratones, controles de reproduccion y control de sonido para una gran gama de dispositivos, control de juegos en RED y multiplayer, y control de varios formatos de streaming multimedia. Con cada nueva revision, mas características son añadidas para que los desarrolladores de software puedan utilizarla cuanto antes en los nuevos proyectos de software multimedia....y en ultima instancia, tambien disponible para los aficionados a la programación multimedia..

Principales Componentes

Aqui tienes una lista de los principales componentes (con su función) que conforman DirectX:

DirectDraw - Gráficos 2D
Direct3D - Gráficos 3D
DirectSound - Sonido 2D

DirectSound3D - Sonido 3D
DirectMusic - Musica
DirectPlay - Network/Multiplayer
DirectInput - Dispositivos de Entrada

Necesito DirectX?
Si juegas a los juegos de Windows98 o algun sistema operativo posterior, posiblemente necesiten de las funcionalidades de DirectX. Afortunadamente, si las aplicaciones requieren una versión concreta de DirectX invariablemente vendrán con su propio setup de instalación del DirectX installer en el CD de instalación del software , garantizándote que tienes la revisión correcta para poder jugar al juego, Pero esto no es todo. tu puedes actualizar tu versión de DirectX aunque actualmente no la necesites. Haciendo esto, tendrás implementada la ultima version de los API’s, los cuales contienen mejoras y patchs (de solucion de errrores) que algunas otras distribuciones de DirectX contienen. Esto podría, al menos en teoria, ofrecerte una mejor experiencia en tus Juegos, una mejor calidad de sonido en tus aplicaciones, o una recepción del "streaming" mejorada. Tambien, Instalando la ultima versión de DirectX, tu puedes "activar" una característica avanzada de tu Tarjeta Gráfica (Pixel shader 3.0 en el juego Far-Cry por ejemplo). Nota: tambien podria ser necesario que te tuvieses que "descargar" los ultimos drivers de tu tarjeta de Video para poder "activar" esta característica avanzada..

Ahora quiero descargarmela, donde la consigo?
Windows 95, Windows 98, Windows 98 SE, Windows Millennium Edition (Windows Me), Windows 2000, Windows Server 2003, and Windows XP tienen integrado el soporte para DirectX. De cualquier manera, la versión mas "actual" de DirectX que Windows 95 puede usar es la 8.0a,. Para todos los demás, puedes bajarte la ultima versión de DirectX (9.0c) de la web de microsoft

Y que pasa con NT ? DirectX tambien está disponible para NT4.0 como parte del Service pack 6. Pensandolo bien... quien querria hacer esto?, es un misterio para mi ;-)

Después de instalarlo, dice que algunos drivers no están certificados, es algo malo?

Las actualizaciones de los Driver de los fabricantes de hardware, son enviadas a Microsoft los cuales efectuan una serie de pruebas para certificar su compatibilidad (WHQL). De cualquier manera, a veces el fabricante distribuye los drivers para su uso público y al mismo tiempo los evia a MS sin esperar por la certificación. Estos drivers pueden ofrecer soporte DirectX pero no han sido certificados. Asi que antes de instalar drivers no certificados, deberias echar un vistazo al manual de los drivers para comprobar su compatibilidad con DirectX.

Como se desinstala DirectX?
DirectX es un componente de sistema de Windows y como muchos otros componentes de sistema ( MSN messenger por ejemplo), una vez instalado en el sistema, te será bastante dificil desinstalarlo. asi que si algo va mal y te ves atascado. Pero tranquilo, hay algunas soluciones. Las ultimas versiones de Windows disponen de Puntos de Restauración del Sistema. siempre es buena idea hacer un punto de restauracion del sistema antes de instalar nuevos drivers o cosas como DirectX. Tambien, podemos usar la herramienta de diagnóstico de DirectX . Desafortunadamente, Microsoft no te dice donde está, y no se añade ningun icono al Panel de Control ni al menú de inicio. Para poder ejecutarlo, tienes que buscar este archivo (\windows\system32\dxdiag.exe). Esta herramienta de diagnóstico te permite controlar algunos parámetros del DirectX API (activar o desactivar características...etc.) Tambien es útil para saber que tipo de version se está ejecutando en el sistema sobre el que estes trabajando. Tambien existen des-instaladores de Terceras compañías....pero una desinstalacion de DirectX defectuosa, puede "estropear" todo el sistema (asi que cuidado Wink.

Que nos depara el futuro?
Por el momento, la version que mejor se acomoda a los juegos de ultima generacion es DirectX 9.0c. Esta versión cuenta con capacidades avanzadas como el Shader Model 3.0,. En breve plazo de tiempo, cada vez mas juegos se beneficiarán de las características avanzadas de DirectX 9.0c.

La siguiente versión DirectX vendrá como siempre con muchos mas cambios. Microsoft va a unificar los diferentes API's de DirectX bajo el nuevo nombre de la Windows Graphics Foundation y Avalon, el cual está planeado lanzar con la nueva version de Windows llamada Longhorn o Windows Vista . DirectX seguirá existiendo aún, pero solo de "nombre" y solo para los componentes que aun queden funcionando. Esto quiere decir que la nueva generación de Tarjetas Gráficas no dirán que son DirectX compatible, pero soportarán el WGF1.0 (o algo parecido).

Llegados aqui,

Mungler dice: it is not known if any other portion of DirectX is going to splinter off to form it's own "club." Functions of your controllers and sound cards will still be under the control of the main set of DirectX API's, but Longhorn is still a way off yet and things may change between now and then.

N.d.T: Creo que lo que Mungler viene a decir...es que las funciones de tus controladores y tarjetas de sonido seguirán bajo el control del juego de API's principales de DirectX, lo que ocurra a partir de ahora seria especular, ya que Longhorn está a punto de salir al mercado, y muchas cosas podrian cambiar de ahora a cuando salga este S.O. Tampoco se descarta que alguna "porción" de DirectX forme su propio "club"´.

Consideraciones Finales

Mientras que las cosas como OpenGL y el viejo Glide (3dfx) son solo API's gráficos, DirectX son una serie de funciones que controlan sonido, video, network communications y tambien los gráficos. DirectX actua como interprete de las funciones de software a funciones nativas de los Dispositivos de Video y de Sonido o inscluso permitiéndote controlar la tecla nº 25 de tu ratón (jejej). Ofreciendote grandes niveles de compatibilidad entre el Hardware moderno y los juegos antiguos (y tambien viejo Hardware con los nuevos Juegos). DirectX's provee y gestiona todas estas funciones para que los programadores puedan desarrollar nuevas aplicaciones multimedia y el usuario final apenas tenga que preocuparse de nada de esto."
Volver arriba Ir abajo
Ver perfil de usuario
 
En que consiste DirectX
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» en qué consiste la electrólisis
» ¿Qué es un foro, para qué sirve y en qué consiste?
» aNobii: para lectores consumados
» SIN IDENTIFICAR - Dinero de vellón
» Real de Juan I (1379-1390), ceca Sevilla (Falso por microfusión)

Permisos de este foro:No puedes responder a temas en este foro.
 :: PROGRAMACIÓN :: Tutoriales/Cursillos-
Cambiar a: