Share via


Introducción a la presentación de una escena (Direct3D 9)

Las API de presentación son un conjunto de métodos que controlan el estado del dispositivo que afecta a lo que ve el usuario en el monitor. Estos métodos incluyen la configuración de los modos de presentación y los métodos una vez por fotograma que se usan para presentar imágenes al usuario.

Es necesario familiarizarse con los términos siguientes para comprender las API de presentación.

  • Búfer frontal. Rectángulo de memoria traducido por el adaptador de gráficos y mostrado en el monitor u otro dispositivo de salida.
  • búfer de reserva. Superficie cuyo contenido se puede promover al búfer frontal.
  • cadena de intercambio. Colección de búferes de reserva que se pueden presentar en serie en el búfer frontal. Normalmente, una cadena de intercambio de pantalla completa presenta imágenes posteriores con la interfaz de controlador de dispositivo de volteo (DDI) y una cadena de intercambio ventanada presenta imágenes con la DDI de división.

Dado que Direct3D 9 tiene una cadena de intercambio como propiedad del dispositivo, siempre hay al menos una cadena de intercambio por dispositivo. La interfaz IDirect3DDevice9 tiene un conjunto de métodos que manipulan la cadena de intercambio implícita y son una copia de la propia interfaz de la cadena de intercambio. Las aplicaciones pueden crear cadenas de intercambio adicionales; sin embargo, esto no es necesario para la aplicación típica de una sola ventana o de pantalla completa.

El búfer frontal no se expone directamente en Direct3D 9. Como resultado, las aplicaciones no pueden bloquear ni representarse en el búfer frontal. Para obtener más información, consulte Acceso al búfer frontal de color (Direct3D 9).

Nota

DirectX 7 proporcionó varias API de presentación que se llamaron juntas. Un buen ejemplo de esto es la secuencia IDirectDraw7::SetCooperativeLevel, IDirectDraw7::SetDisplayMode e IDirectDraw7::CreateSurface. Además, los métodos IDirectDrawSurface7::Flip e IDirectDrawSurface7::Blt señalaron el transporte de fotogramas representados al monitor. Direct3D 9 contrae estos grupos de API en dos métodos principales, Reset y Present. Restablezca subsumes SetCooperativeLevel, SetDisplayMode, CreateSurface y algunos de los parámetros que se van a voltear. Presente subsumes flip y los usos de presentación de lalit.

 

Una llamada a IDirect3D9::CreateDevice representa un restablecimiento implícito del dispositivo. La API de Direct3D 9 no tiene ninguna noción de una superficie principal; no se puede crear un objeto que represente la superficie principal. Se considera una propiedad interna del dispositivo.

Las rampas gamma están asociadas a una cadena de intercambio y se manipulan con los métodos IDirect3DDevice9::GetGammaRamp e IDirect3DDevice9::SetGammaRamp .

Presentación de una escena