Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
SamplerState.cpp
Ir a la documentación de este archivo.
1
6#include "SamplerState.h"
7#include "Device.h"
8#include "DeviceContext.h"
9
10HRESULT
12 if (!device.m_device) {
13 ERROR("SamplerState", "init", "Device is nullptr");
14 return E_POINTER;
15 }
16
17 D3D11_SAMPLER_DESC sampDesc = {};
18 sampDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
19 sampDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP;
20 sampDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP;
21 sampDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP;
22 sampDesc.ComparisonFunc = D3D11_COMPARISON_NEVER;
23 sampDesc.MinLOD = 0;
24 sampDesc.MaxLOD = D3D11_FLOAT32_MAX;
25
26 HRESULT hr = device.CreateSamplerState(&sampDesc, &m_sampler);
27 if (FAILED(hr)) {
28 ERROR("SamplerState", "init", "Failed to create SamplerState");
29 return hr;
30 }
31
32 return S_OK;
33}
34
35void
37 // No hay lógica de actualización para un sampler en este caso.
38}
39
40void
42 unsigned int StartSlot,
43 unsigned int NumSamplers) {
44 if (!m_sampler) {
45 ERROR("SamplerState", "render", "SamplerState is nullptr");
46 return;
47 }
48
49 deviceContext.PSSetSamplers(StartSlot, NumSamplers, &m_sampler);
50}
51
52void
58
59
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 SamplerState dentro del subsistema Core.
void PSSetSamplers(unsigned int StartSlot, unsigned int NumSamplers, ID3D11SamplerState *const *ppSamplers)
Asigna Sampler States a la etapa de Pixel Shader.
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
HRESULT CreateSamplerState(const D3D11_SAMPLER_DESC *pSamplerDesc, ID3D11SamplerState **ppSamplerState)
Crea un Sampler State.
Definition Device.cpp:201
HRESULT init(Device &device)
Inicializa el Sampler State con una configuración predeterminada.
ID3D11SamplerState * m_sampler
Recurso COM de Direct3D 11 para el Sampler State.
void render(DeviceContext &deviceContext, unsigned int StartSlot, unsigned int NumSamplers)
Asigna el Sampler State a la etapa de Pixel Shader.
void destroy()
Libera el recurso ID3D11SamplerState.
void update()
Actualiza parámetros internos del Sampler.