Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
RasterizerState.cpp
Ir a la documentación de este archivo.
1
6#include "RasterizerState.h"
7#include "Device.h"
8#include "DeviceContext.h"
9
10HRESULT
12 D3D11_RASTERIZER_DESC rasterizerDesc = {};
13 rasterizerDesc.FillMode = D3D11_FILL_SOLID;
14 rasterizerDesc.CullMode = D3D11_CULL_BACK;
15 rasterizerDesc.FrontCounterClockwise = false;
16 rasterizerDesc.DepthBias = 0;
17 rasterizerDesc.SlopeScaledDepthBias = 0.0f;
18 rasterizerDesc.DepthBiasClamp = 0.0f;
19 rasterizerDesc.DepthClipEnable = true;
20 rasterizerDesc.ScissorEnable = false;
21 rasterizerDesc.MultisampleEnable = false;
22 rasterizerDesc.AntialiasedLineEnable = false;
23
24 HRESULT hr = S_OK;
25 hr = device.m_device->CreateRasterizerState(&rasterizerDesc, &m_rasterizerState);
26
27 if (FAILED(hr)) {
28 ERROR("Rasterizer", "init", "CHECK FOR CreateRasterizerState()");
29 }
30 return hr;
31}
32
33HRESULT
35 D3D11_FILL_MODE fill,
36 D3D11_CULL_MODE cull,
37 bool frontCCW,
38 bool depthClip) {
39 D3D11_RASTERIZER_DESC desc{};
40 desc.FillMode = fill;
41 desc.CullMode = cull;
42 desc.FrontCounterClockwise = frontCCW ? true : false;
43 desc.DepthClipEnable = depthClip ? true : false;
44
45 HRESULT hr = S_OK;
46 hr = device.m_device->CreateRasterizerState(&desc, &m_rasterizerState);
47
48 if (FAILED(hr)) {
49 ERROR("Rasterizer", "init", "CHECK FOR CreateRasterizerState()");
50 }
51 return hr;
52}
53
54void
57
58void
61 {
62 ERROR("RasterizerState", "render", "RasterizerState is nullptr (init failed or not called)");
63 return;
64 }
65 deviceContext.RSSetState(m_rasterizerState);
66}
67
68void
72
Declara la API de DeviceContext dentro del subsistema Core.
Declara la API de Device dentro del subsistema Core.
#define SAFE_RELEASE(x)
#define ERROR(classObj, method, errorMSG)
Declara la API de RasterizerState dentro del subsistema Core.
void RSSetState(ID3D11RasterizerState *pRasterizerState)
Configura el Rasterizer State actual.
Encapsula un ID3D11Device y facilita la creación de recursos gráficos en Direct3D 11.
Definition Device.h:21
ID3D11Device * m_device
Puntero al dispositivo Direct3D 11.
Definition Device.h:146
void update()
Actualiza parámetros internos del Rasterizer.
void destroy()
Libera el recurso ID3D11RasterizerState.
void render(DeviceContext &deviceContext)
Aplica el Rasterizer State al contexto de dispositivo.
HRESULT init(Device device)
Inicializa el Rasterizer State.
ID3D11RasterizerState * m_rasterizerState
Estado de rasterización de Direct3D 11.