|
Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
|
Encapsula un IDXGISwapChain en Direct3D 11 para administrar buffers de presentación.
Más...
#include <SwapChain.h>
Métodos públicos | |
| void | destroy () |
| Libera todos los recursos asociados al Swap Chain. | |
| HRESULT | getBackBuffer (Texture &backBuffer) |
| HRESULT | init (Device &device, DeviceContext &deviceContext, Texture &backBuffer, Window window) |
| Inicializa el Swap Chain y obtiene el back buffer. | |
| void | present () |
| Presenta el back buffer en pantalla. | |
| void | render () |
| Ejecuta operaciones de renderizado relacionadas con el Swap Chain. | |
| HRESULT | resizeBuffers (unsigned int width, unsigned int height) |
| SwapChain ()=default | |
| Constructor por defecto. | |
| void | update () |
| Actualiza parámetros internos del Swap Chain. | |
| ~SwapChain ()=default | |
| Destructor por defecto. | |
Atributos públicos | |
| D3D_DRIVER_TYPE | m_driverType = D3D_DRIVER_TYPE_NULL |
| Tipo de driver utilizado (hardware, referencia, software, etc.). | |
| IDXGISwapChain * | m_swapChain = nullptr |
| Objeto principal del Swap Chain en Direct3D 11. | |
Atributos privados | |
| IDXGIAdapter * | m_dxgiAdapter = nullptr |
| Interfaz DXGI para el adaptador (GPU). | |
| IDXGIDevice * | m_dxgiDevice = nullptr |
| Interfaz DXGI para el dispositivo. | |
| IDXGIFactory * | m_dxgiFactory = nullptr |
| Interfaz DXGI para la fábrica (creación de swap chains). | |
| D3D_FEATURE_LEVEL | m_featureLevel = D3D_FEATURE_LEVEL_11_0 |
| Nivel de características de Direct3D soportado por el dispositivo. | |
| unsigned int | m_qualityLevels |
| Niveles de calidad soportados para la configuración de MSAA. | |
| unsigned int | m_sampleCount |
| Número de muestras para MSAA. | |
Un Swap Chain es responsable de la gestión de los buffers de renderizado que se presentan en pantalla (front y back buffer). Esta clase maneja su creación, actualización, renderizado y presentación final.
También soporta configuración de MSAA (Multisample Anti-Aliasing) para suavizado de bordes.
Definición en la lÃnea 24 del archivo SwapChain.h.
|
default |
|
default |
No libera automáticamente los recursos COM; llamar a destroy().
| void SwapChain::destroy | ( | ) |
También libera las interfaces relacionadas de DXGI (device, adapter, factory).
m_swapChain == nullptr. Definición en la lÃnea 143 del archivo SwapChain.cpp.
Hace referencia a m_dxgiAdapter, m_dxgiDevice, m_dxgiFactory, m_swapChain y SAFE_RELEASE.
Referenciado por BaseApp::destroy().
| HRESULT SwapChain::getBackBuffer | ( | Texture & | backBuffer | ) |
Definición en la lÃnea 196 del archivo SwapChain.cpp.
Hace referencia a ERROR y m_swapChain.
Referenciado por BaseApp::onResize().
| HRESULT SwapChain::init | ( | Device & | device, |
| DeviceContext & | deviceContext, | ||
| Texture & | backBuffer, | ||
| Window | window | ||
| ) |
Crea el objeto IDXGISwapChain asociado a una ventana específica, obteniendo además la textura del back buffer para el renderizado.
| device | Dispositivo con el que se crea el recurso. |
| deviceContext | Contexto de dispositivo asociado. |
| backBuffer | Textura que representará el back buffer. |
| window | Ventana de la aplicación donde se presentará la imagen. |
S_OK si fue exitoso; código HRESULT en caso contrario.S_OK, m_swapChain != nullptr. Definición en la lÃnea 13 del archivo SwapChain.cpp.
Hace referencia a ERROR, Device::m_device, DeviceContext::m_deviceContext, m_dxgiAdapter, m_dxgiDevice, m_dxgiFactory, m_featureLevel, Window::m_height, Window::m_hWnd, m_qualityLevels, m_sampleCount, m_swapChain, Window::m_width y MESSAGE.
Referenciado por BaseApp::init().
| void SwapChain::present | ( | ) |
Llama a IDXGISwapChain::Present para mostrar el contenido renderizado en la ventana asociada.
Definición en la lÃnea 159 del archivo SwapChain.cpp.
Hace referencia a ERROR y m_swapChain.
Referenciado por BaseApp::render().
| void SwapChain::render | ( | ) |
Usualmente se utilizaría para depuración o para sincronizar buffers antes de la presentación.
| HRESULT SwapChain::resizeBuffers | ( | unsigned int | width, |
| unsigned int | height | ||
| ) |
Definición en la lÃnea 172 del archivo SwapChain.cpp.
Hace referencia a ERROR y m_swapChain.
Referenciado por BaseApp::onResize().
| void SwapChain::update | ( | ) |
Método de marcador para soportar cambios dinámicos, como resize de ventana, reconfiguración de MSAA u otros ajustes.
| D3D_DRIVER_TYPE SwapChain::m_driverType = D3D_DRIVER_TYPE_NULL |
Definición en la lÃnea 116 del archivo SwapChain.h.
Referenciado por BaseApp::update().
|
private |
Definición en la lÃnea 144 del archivo SwapChain.h.
|
private |
Definición en la lÃnea 139 del archivo SwapChain.h.
|
private |
Definición en la lÃnea 149 del archivo SwapChain.h.
|
private |
Definición en la lÃnea 122 del archivo SwapChain.h.
Referenciado por init().
|
private |
Definición en la lÃnea 134 del archivo SwapChain.h.
Referenciado por init().
|
private |
Ejemplo: 4 = 4x MSAA (4 muestras por píxel).
Definición en la lÃnea 129 del archivo SwapChain.h.
Referenciado por init().
| IDXGISwapChain* SwapChain::m_swapChain = nullptr |
Definición en la lÃnea 111 del archivo SwapChain.h.
Referenciado por destroy(), getBackBuffer(), init(), BaseApp::onResize(), present() y resizeBuffers().