Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
Viewport.cpp
Ir a la documentación de este archivo.
1
6#include "Viewport.h"
7#include "Window.h"
8#include "DeviceContext.h"
9
10HRESULT
11Viewport::init(const Window& window) {
12 if (!window.m_hWnd) {
13 ERROR("Viewport", "init", "Window handle (m_hWnd) is nullptr");
14 return E_POINTER;
15 }
16 if (window.m_width == 0 || window.m_height == 0) {
17 ERROR("Viewport", "init", "Window dimensions are zero.");
18 return E_INVALIDARG;
19 }
20
21 m_viewport.Width = static_cast<float>(window.m_width);
22 m_viewport.Height = static_cast<float>(window.m_height);
23 m_viewport.MinDepth = 0.0f;
24 m_viewport.MaxDepth = 1.0f;
25 m_viewport.TopLeftX = 0;
26 m_viewport.TopLeftY = 0;
27
28 return S_OK;
29}
30
31HRESULT
32Viewport::init(unsigned int width, unsigned int height) {
33 if (width == 0 || height == 0) {
34 ERROR("Viewport", "init", "Window dimensions are zero.");
35 return E_INVALIDARG;
36 }
37
38 m_viewport.Width = static_cast<float>(width);
39 m_viewport.Height = static_cast<float>(height);
40 m_viewport.MinDepth = 0.0f;
41 m_viewport.MaxDepth = 1.0f;
42 m_viewport.TopLeftX = 0;
43 m_viewport.TopLeftY = 0;
44
45 return S_OK;
46}
47
48void Viewport::render(DeviceContext& deviceContext) {
49 if (!deviceContext.m_deviceContext) {
50 ERROR("Viewport", "render", "Device context is not set.");
51 return;
52 }
53 deviceContext.RSSetViewports(1, &m_viewport);
54}
55
Declara la API de DeviceContext dentro del subsistema Core.
#define ERROR(classObj, method, errorMSG)
Declara la API de Viewport dentro del subsistema Core.
Declara la API de Window dentro del subsistema Core.
void RSSetViewports(unsigned int NumViewports, const D3D11_VIEWPORT *pViewports)
Configura los viewports en la etapa de rasterización.
ID3D11DeviceContext * m_deviceContext
Puntero al contexto inmediato de Direct3D 11.
void render(DeviceContext &deviceContext)
Aplica el viewport al contexto de dispositivo.
Definition Viewport.cpp:48
D3D11_VIEWPORT m_viewport
Estructura de Direct3D que define el viewport.
Definition Viewport.h:101
HRESULT init(const Window &window)
Inicializa el viewport a partir de una ventana.
Definition Viewport.cpp:11
Encapsula la creacion y administracion de la ventana principal de Win32.
Definition Window.h:20
unsigned int m_width
Ancho actual del area cliente.
Definition Window.h:47
unsigned int m_height
Alto actual del area cliente.
Definition Window.h:48
HWND m_hWnd
Handle de la ventana nativa.
Definition Window.h:46