Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
DeviceContext.h
Ir a la documentación de este archivo.
1
6#pragma once
7#include "Prerequisites.h"
8
9class
11public:
12 DeviceContext() = default;
13 ~DeviceContext() = default;
14
21 void
23
28 void
30
35 void
37
43 void
44 destroy();
45
52 void
53 RSSetViewports(unsigned int NumViewports, const D3D11_VIEWPORT *pViewports);
54
62 void
63 PSSetShaderResources(unsigned int StartSlot,
64 unsigned int NumViews,
65 ID3D11ShaderResourceView* const* ppShaderResourceViews);
66
72 void
73 IASetInputLayout(ID3D11InputLayout* pInputLayout);
74
82 void
83 VSSetShader(ID3D11VertexShader* pVertexShader,
84 ID3D11ClassInstance* const* ppClassInstances,
85 unsigned int NumClassInstances);
86
94 void
95 PSSetShader(ID3D11PixelShader *pPixelShader,
96 ID3D11ClassInstance *const *ppClassInstances,
97 unsigned int NumClassInstances);
98
109 void
110 UpdateSubresource(ID3D11Resource* pDstResource,
111 unsigned int DstSubresource,
112 const D3D11_BOX* pDstBox,
113 const void* pSrcData,
114 unsigned int SrcRowPitch,
115 unsigned int SrcDepthPitch);
116
126 void
127 IASetVertexBuffers(unsigned int StartSlot,
128 unsigned int NumBuffers,
129 ID3D11Buffer *const *ppVertexBuffers,
130 const unsigned int* pStrides,
131 const unsigned int* pOffsets);
132
140 void
141 IASetIndexBuffer(ID3D11Buffer *pIndexBuffer,
142 DXGI_FORMAT Format,
143 unsigned int Offset);
144
152 void
153 PSSetSamplers(unsigned int StartSlot,
154 unsigned int NumSamplers,
155 ID3D11SamplerState* const* ppSamplers);
156
162 void
163 RSSetState(ID3D11RasterizerState* pRasterizerState);
164
172 void
173 OMSetBlendState(ID3D11BlendState* pBlendState,
174 const float BlendFactor[4],
175 unsigned int SampleMask);
176
184 void
185 OMSetRenderTargets(unsigned int NumViews,
186 ID3D11RenderTargetView* const* ppRenderTargetViews,
187 ID3D11DepthStencilView* pDepthStencilView);
188
194 void
195 IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY Topology);
196
203 void
204 ClearRenderTargetView(ID3D11RenderTargetView* pRenderTargetView,
205 const float ColorRGBA[4]);
206
215 void
216 ClearDepthStencilView(ID3D11DepthStencilView* pDepthStencilView,
217 unsigned int ClearFlags,
218 float Depth,
219 UINT8 Stencil);
220
228 void
229 VSSetConstantBuffers(unsigned int StartSlot,
230 unsigned int NumBuffers,
231 ID3D11Buffer* const* ppConstantBuffers);
232
240 void
241 PSSetConstantBuffers(unsigned int StartSlot,
242 unsigned int NumBuffers,
243 ID3D11Buffer* const* ppConstantBuffers);
244
252 void
253 DrawIndexed(unsigned int IndexCount,
254 unsigned int StartIndexLocation,
255 int BaseVertexLocation);
256public:
261 ID3D11DeviceContext* m_deviceContext = nullptr;
262
263};
264
265
Declara la API de Prerequisites dentro del subsistema Core.
void RSSetState(ID3D11RasterizerState *pRasterizerState)
Configura el Rasterizer State actual.
void DrawIndexed(unsigned int IndexCount, unsigned int StartIndexLocation, int BaseVertexLocation)
Envía un comando de dibujado de primitivas indexadas.
DeviceContext()=default
void OMSetBlendState(ID3D11BlendState *pBlendState, const float BlendFactor[4], unsigned int SampleMask)
Asigna un Blend State al Output Merger.
void PSSetShaderResources(unsigned int StartSlot, unsigned int NumViews, ID3D11ShaderResourceView *const *ppShaderResourceViews)
Asigna Shader Resource Views a la etapa de Pixel Shader.
void IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY Topology)
Define la topología de primitivas a renderizar.
void destroy()
Libera el recurso ID3D11DeviceContext.
void PSSetConstantBuffers(unsigned int StartSlot, unsigned int NumBuffers, ID3D11Buffer *const *ppConstantBuffers)
Asigna constant buffers a la etapa de Pixel Shader.
void RSSetViewports(unsigned int NumViewports, const D3D11_VIEWPORT *pViewports)
Configura los viewports en la etapa de rasterización.
void update()
Actualiza parámetros internos del contexto.
void PSSetShader(ID3D11PixelShader *pPixelShader, ID3D11ClassInstance *const *ppClassInstances, unsigned int NumClassInstances)
Asigna un Pixel Shader al pipeline.
ID3D11DeviceContext * m_deviceContext
Puntero al contexto inmediato de Direct3D 11.
void VSSetConstantBuffers(unsigned int StartSlot, unsigned int NumBuffers, ID3D11Buffer *const *ppConstantBuffers)
Asigna constant buffers a la etapa de Vertex Shader.
void IASetIndexBuffer(ID3D11Buffer *pIndexBuffer, DXGI_FORMAT Format, unsigned int Offset)
Asigna un Index Buffer a la etapa de ensamblado de entrada.
void ClearDepthStencilView(ID3D11DepthStencilView *pDepthStencilView, unsigned int ClearFlags, float Depth, UINT8 Stencil)
Limpia un Depth Stencil View.
~DeviceContext()=default
void init()
Inicializa el contexto del dispositivo.
void OMSetRenderTargets(unsigned int NumViews, ID3D11RenderTargetView *const *ppRenderTargetViews, ID3D11DepthStencilView *pDepthStencilView)
Asigna Render Targets y Depth Stencil al Output Merger.
void UpdateSubresource(ID3D11Resource *pDstResource, unsigned int DstSubresource, const D3D11_BOX *pDstBox, const void *pSrcData, unsigned int SrcRowPitch, unsigned int SrcDepthPitch)
Copia datos desde CPU hacia un recurso en GPU.
void VSSetShader(ID3D11VertexShader *pVertexShader, ID3D11ClassInstance *const *ppClassInstances, unsigned int NumClassInstances)
Asigna un Vertex Shader al pipeline.
void IASetVertexBuffers(unsigned int StartSlot, unsigned int NumBuffers, ID3D11Buffer *const *ppVertexBuffers, const unsigned int *pStrides, const unsigned int *pOffsets)
Asigna buffers de vértices a la etapa de ensamblado de entrada.
void PSSetSamplers(unsigned int StartSlot, unsigned int NumSamplers, ID3D11SamplerState *const *ppSamplers)
Asigna Sampler States a la etapa de Pixel Shader.
void IASetInputLayout(ID3D11InputLayout *pInputLayout)
Define el Input Layout activo en la etapa de ensamblado de entrada.
void ClearRenderTargetView(ID3D11RenderTargetView *pRenderTargetView, const float ColorRGBA[4])
Limpia un Render Target con un color dado.
void render()
Ejecuta operaciones relacionadas con render.