Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
Referencia de la clase Device

Encapsula un ID3D11Device y facilita la creación de recursos gráficos en Direct3D 11. Más...

#include <Device.h>

Métodos públicos

HRESULT CreateBuffer (const D3D11_BUFFER_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Buffer **ppBuffer)
 Crea un Buffer genérico (vertex, index, constant, etc.).
 
HRESULT CreateDepthStencilView (ID3D11Resource *pResource, const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc, ID3D11DepthStencilView **ppDepthStencilView)
 Crea una Depth Stencil View.
 
HRESULT CreateInputLayout (const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs, unsigned int NumElements, const void *pShaderBytecodeWithInputSignature, unsigned int BytecodeLength, ID3D11InputLayout **ppInputLayout)
 Crea un Input Layout.
 
HRESULT CreatePixelShader (const void *pShaderBytecode, unsigned int BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11PixelShader **ppPixelShader)
 Crea un Pixel Shader.
 
HRESULT CreateRenderTargetView (ID3D11Resource *pResource, const D3D11_RENDER_TARGET_VIEW_DESC *pDesc, ID3D11RenderTargetView **ppRTView)
 Crea una Render Target View.
 
HRESULT CreateSamplerState (const D3D11_SAMPLER_DESC *pSamplerDesc, ID3D11SamplerState **ppSamplerState)
 Crea un Sampler State.
 
HRESULT CreateTexture2D (const D3D11_TEXTURE2D_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Texture2D **ppTexture2D)
 Crea una textura 2D.
 
HRESULT CreateVertexShader (const void *pShaderBytecode, unsigned int BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11VertexShader **ppVertexShader)
 Crea un Vertex Shader.
 
void destroy ()
 
 Device ()=default
 
void init ()
 
void render ()
 
void update ()
 
 ~Device ()=default
 

Atributos públicos

ID3D11Device * m_device = nullptr
 Puntero al dispositivo Direct3D 11.
 

Descripción detallada

Esta clase actúa como un contenedor del objeto ID3D11Device. Expone métodos que encapsulan la creación de vistas, texturas, shaders, estados y buffers para simplificar el manejo del ciclo de vida de los recursos gráficos.

Nota
No administra automáticamente ID3D11DeviceContext.
Atención
Asegurarse de inicializar la instancia con init() antes de crear recursos.

Definición en la línea 20 del archivo Device.h.

Documentación de constructores y destructores

◆ Device()

Device::Device ( )
default

◆ ~Device()

Device::~Device ( )
default

Documentación de funciones miembro

◆ CreateBuffer()

HRESULT Device::CreateBuffer ( const D3D11_BUFFER_DESC *  pDesc,
const D3D11_SUBRESOURCE_DATA *  pInitialData,
ID3D11Buffer **  ppBuffer 
)
Parámetros
pDescDescriptor del buffer.
pInitialDataDatos iniciales opcionales (puede ser nullptr).
ppBufferPuntero de salida al buffer creado.

Definición en la línea 229 del archivo Device.cpp.

Hace referencia a ERROR, m_device y MESSAGE.

Referenciado por Buffer::createBuffer().

◆ CreateDepthStencilView()

HRESULT Device::CreateDepthStencilView ( ID3D11Resource *  pResource,
const D3D11_DEPTH_STENCIL_VIEW_DESC *  pDesc,
ID3D11DepthStencilView **  ppDepthStencilView 
)
Parámetros
pResourceRecurso asociado (textura con flag D3D11_BIND_DEPTH_STENCIL).
pDescDescriptor de la DSV (puede ser nullptr).
ppDepthStencilViewPuntero de salida.

Definición en la línea 71 del archivo Device.cpp.

Hace referencia a ERROR, m_device y MESSAGE.

◆ CreateInputLayout()

HRESULT Device::CreateInputLayout ( const D3D11_INPUT_ELEMENT_DESC *  pInputElementDescs,
unsigned int  NumElements,
const void *  pShaderBytecodeWithInputSignature,
unsigned int  BytecodeLength,
ID3D11InputLayout **  ppInputLayout 
)
Parámetros
pInputElementDescsDescriptores de entrada.
NumElementsNúmero de elementos en el arreglo.
pShaderBytecodeWithInputSignatureBytecode del shader que define la firma.
BytecodeLengthTamaño del bytecode.
ppInputLayoutPuntero de salida al input layout.

Definición en la línea 133 del archivo Device.cpp.

Hace referencia a ERROR, m_device y MESSAGE.

Referenciado por InputLayout::init().

◆ CreatePixelShader()

HRESULT Device::CreatePixelShader ( const void *  pShaderBytecode,
unsigned int  BytecodeLength,
ID3D11ClassLinkage *  pClassLinkage,
ID3D11PixelShader **  ppPixelShader 
)
Parámetros
pShaderBytecodeBytecode compilado del shader.
BytecodeLengthTamaño del bytecode.
pClassLinkageEnlace de clases (opcional).
ppPixelShaderPuntero de salida al pixel shader.

Definición en la línea 168 del archivo Device.cpp.

Hace referencia a ERROR, m_device y MESSAGE.

Referenciado por ShaderProgram::CreateShader().

◆ CreateRenderTargetView()

HRESULT Device::CreateRenderTargetView ( ID3D11Resource *  pResource,
const D3D11_RENDER_TARGET_VIEW_DESC *  pDesc,
ID3D11RenderTargetView **  ppRTView 
)
Parámetros
pResourceRecurso de origen (usualmente una textura).
pDescDescriptor de la RTV (puede ser nullptr para usar valores por defecto).
ppRTViewPuntero de salida donde se guarda la RTV creada.
Devuelve
S_OK si fue exitoso; código HRESULT en caso de error.

Definición en la línea 13 del archivo Device.cpp.

Hace referencia a ERROR, m_device y MESSAGE.

◆ CreateSamplerState()

HRESULT Device::CreateSamplerState ( const D3D11_SAMPLER_DESC *  pSamplerDesc,
ID3D11SamplerState **  ppSamplerState 
)
Parámetros
pSamplerDescDescriptor del sampler.
ppSamplerStatePuntero de salida al estado de muestreo.

Definición en la línea 201 del archivo Device.cpp.

Hace referencia a ERROR, m_device y MESSAGE.

Referenciado por SamplerState::init().

◆ CreateTexture2D()

HRESULT Device::CreateTexture2D ( const D3D11_TEXTURE2D_DESC *  pDesc,
const D3D11_SUBRESOURCE_DATA *  pInitialData,
ID3D11Texture2D **  ppTexture2D 
)
Parámetros
pDescDescriptor de la textura.
pInitialDataDatos iniciales opcionales (puede ser nullptr).
ppTexture2DPuntero de salida a la textura creada.

Definición en la línea 42 del archivo Device.cpp.

Hace referencia a ERROR, m_device y MESSAGE.

Referenciado por Texture::CreateCubemap(), anonymous_namespace{Texture.cpp}::CreateTextureFromRGBA() y Texture::init().

◆ CreateVertexShader()

HRESULT Device::CreateVertexShader ( const void *  pShaderBytecode,
unsigned int  BytecodeLength,
ID3D11ClassLinkage *  pClassLinkage,
ID3D11VertexShader **  ppVertexShader 
)
Parámetros
pShaderBytecodeBytecode compilado del shader.
BytecodeLengthTamaño del bytecode.
pClassLinkageEnlace de clases (opcional).
ppVertexShaderPuntero de salida al vertex shader.

Definición en la línea 100 del archivo Device.cpp.

Hace referencia a ERROR, m_device y MESSAGE.

Referenciado por ShaderProgram::CreateShader().

◆ destroy()

void Device::destroy ( )

Definición en la línea 8 del archivo Device.cpp.

Hace referencia a m_device y SAFE_RELEASE.

Referenciado por BaseApp::destroy().

◆ init()

void Device::init ( )

◆ render()

void Device::render ( )

◆ update()

void Device::update ( )

Documentación de datos miembro

◆ m_device


La documentación de esta clase está generada de los siguientes archivos: