Dispositivos
Un dispositivo de Direct3D es el componente de representación de Direct3D. Un dispositivo encapsula y almacena el estado de representación, realiza transformaciones y operaciones de iluminación y rasteriza una imagen en una superficie.
Arquitecturamente, los dispositivos Direct3D contienen un módulo de transformación, un módulo de iluminación y un módulo de rasterización, como se muestra en el diagrama siguiente.
Direct3D admite dos tipos principales de dispositivos Direct3D:
- Un dispositivo hal con rasterización acelerada por hardware y sombreado con procesamiento de vértices de hardware y software
- Un dispositivo de referencia
Estos dispositivos son dos controladores independientes. Los dispositivos de software y referencia se representan mediante controladores de software y el dispositivo hal se representa mediante un controlador de hardware. La manera más común de aprovechar estos dispositivos es usar el dispositivo hal para enviar aplicaciones y el dispositivo de referencia para las pruebas de características. Estos son proporcionados por terceros para emular dispositivos concretos, por ejemplo, hardware de desarrollo que aún no se ha publicado.
El dispositivo Direct3D que crea una aplicación debe corresponder a las funciones del hardware en el que se ejecuta la aplicación. Direct3D proporciona funcionalidades de representación, ya sea mediante el acceso al hardware 3D instalado en el equipo o mediante la emulación de las funcionalidades del hardware 3D en el software. Por lo tanto, Direct3D proporciona dispositivos para el acceso de hardware y la emulación de software.
Los dispositivos acelerados por hardware ofrecen un rendimiento mucho mejor que los dispositivos de software. El tipo de dispositivo hal está disponible en todos los adaptadores gráficos compatibles con Direct3D. En la mayoría de los casos, las aplicaciones tienen como destino equipos que tienen aceleración de hardware y dependen de la emulación de software para acomodar equipos de gama inferior.
A excepción del dispositivo de referencia, los dispositivos de software no siempre admiten las mismas características que un dispositivo de hardware. Las aplicaciones siempre deben consultar las funcionalidades del dispositivo para determinar qué características se admiten.
Dado que el comportamiento de los dispositivos de software y referencia proporcionados con Direct3D 9 es idéntico al del dispositivo hal, el código de aplicación creado para trabajar con el dispositivo hal funcionará con el software o los dispositivos de referencia sin modificaciones. El comportamiento del dispositivo de referencia o software proporcionado es idéntico al del dispositivo hal, pero las funcionalidades del dispositivo varían, y un dispositivo de software determinado puede implementar un conjunto mucho más pequeño de funcionalidades.
En esta sección
Tema | Descripción |
---|---|
Los tipos de dispositivos Direct3D incluyen dispositivos de capa de abstracción de hardware (hal) y el rasterizador de referencia. |
|
Las aplicaciones de Direct3D se pueden ejecutar en cualquiera de los dos modos: en ventanas o en pantalla completa. En modo de ventana, la aplicación comparte el espacio de pantalla de escritorio disponible con todas las aplicaciones en ejecución. En modo de pantalla completa, la ventana en la que se ejecuta la aplicación cubre todo el escritorio, ocultando todas las aplicaciones en ejecución (incluido el entorno de desarrollo). |
|
Un dispositivo Direct3D puede estar en un estado operativo o en un estado perdido. El estado operativo es el estado normal del dispositivo en el que se ejecuta el dispositivo y presenta toda la representación según lo previsto. El dispositivo realiza una transición al estado perdido cuando un evento, como la pérdida de foco del teclado en una aplicación de pantalla completa, hace que la representación sea imposible. |
|
Una cadena de intercambio es una colección de búferes que se usan para mostrar fotogramas al usuario. Cada vez que una aplicación presenta un nuevo marco para mostrar, el primer búfer de la cadena de intercambio tiene lugar del búfer mostrado. Este proceso se denomina intercambio o volteo. |
|
A menudo, los puntos especificados para los vértices no coinciden exactamente con los píxeles de la pantalla. Cuando esto sucede, Direct3D aplica reglas de rasterización de triángulos para decidir qué píxeles se aplican a un triángulo determinado. |
Temas relacionados
Guía de aprendizaje de gráficos de Direct3D