Class RenderingDevice¶
Defined in File rendering_device.h
Class Documentation¶
-
class
RenderingDevice¶ The boss of all rendering, all DirectX API calls requiring the Device or Context go through this.
Public Types
Public Functions
-
void
initialize(HWND hWnd, int width, int height)¶
-
void
createOffScreenViews(int width, int height)¶
-
void
createSwapChainAndRTVs(int width, int height, const HWND &hWnd)¶ Create resources which depend on window height and width.
-
void
setScreenState(bool fullscreen)¶
-
ID3D11Device *
getDevice()¶
-
ID3D11DeviceContext *
getContext()¶
-
void
enableSkyDSS()¶
-
void
disableSkyDSS()¶
-
void
disableDSS()¶
-
void
enableDSS()¶
-
void
createRTVAndSRV(Microsoft::WRL::ComPtr<ID3D11RenderTargetView> &rtv, Microsoft::WRL::ComPtr<ID3D11ShaderResourceView> &srv)¶
-
Microsoft::WRL::ComPtr<ID3D11Buffer>
createBuffer(const char *data, size_t size, D3D11_BIND_FLAG bindFlags, D3D11_USAGE usage, int cpuAccess)¶
-
void
editBuffer(const char *data, size_t byteSize, ID3D11Buffer *bufferPointer)¶
-
template<class
T>
Microsoft::WRL::ComPtr<ID3D11Buffer>createBuffer(const T &data, D3D11_BIND_FLAG bindFlags, D3D11_USAGE usage, D3D11_CPU_ACCESS_FLAG cpuAccess)¶
-
Microsoft::WRL::ComPtr<ID3DBlob>
compileShader(const String &shaderPath, const char *entryPoint, const char *profile)¶ To hold shader blobs loaded from the compiled shader files.
-
Microsoft::WRL::ComPtr<ID3D11PixelShader>
createPS(ID3DBlob *blob)¶
-
Microsoft::WRL::ComPtr<ID3D11VertexShader>
createVS(ID3DBlob *blob)¶
-
Microsoft::WRL::ComPtr<ID3D11InputLayout>
createVL(ID3DBlob *vertexShaderBlob, const D3D11_INPUT_ELEMENT_DESC *ied, UINT size)¶
-
Microsoft::WRL::ComPtr<ID3D11ShaderResourceView>
createDDSTexture(const char *imageDDSFileData, size_t size)¶
-
Microsoft::WRL::ComPtr<ID3D11ShaderResourceView>
createTexture(const char *imageFileData, size_t size)¶
-
Microsoft::WRL::ComPtr<ID3D11ShaderResourceView>
createTextureFromPixels(const char *imageRawData, unsigned int width, unsigned int height)¶
-
unsigned char *
downloadTexture(ID3D11Texture2D *texture, unsigned int width, unsigned int height)¶
-
Microsoft::WRL::ComPtr<ID3D11SamplerState>
createSS(SamplerState type)¶
-
void
setVSSRV(unsigned int slot, unsigned int count, ID3D11ShaderResourceView **texture)¶
-
void
setPSSRV(unsigned int slot, unsigned int count, ID3D11ShaderResourceView **texture)¶
-
void
setVSSS(unsigned int slot, unsigned int count, ID3D11SamplerState **samplerState)¶
-
void
setPSSS(unsigned int slot, unsigned int count, ID3D11SamplerState **samplerState)¶
-
void
setVSCB(unsigned int slot, unsigned int count, ID3D11Buffer **constantBuffer)¶
-
void
setPSCB(unsigned int slot, unsigned int count, ID3D11Buffer **constantBuffer)¶
-
void
bind(ID3D11Buffer *const *vertexBuffer, int count, const unsigned int *stride, const unsigned int *offset)¶
-
void
bind(ID3D11Buffer *indexBuffer, DXGI_FORMAT format)¶
-
void
bind(ID3D11VertexShader *vertexShader)¶
-
void
bind(ID3D11PixelShader *pixelShader)¶
-
void
bind(ID3D11InputLayout *inputLayout)¶
-
void
mapBuffer(ID3D11Buffer *buffer, D3D11_MAPPED_SUBRESOURCE &subresource)¶
-
void
unmapBuffer(ID3D11Buffer *buffer)¶
-
void
setDefaultBS()¶
-
void
setAlphaBS()¶
-
void
setCurrentRS()¶
-
RasterizerState
getRSType()¶
-
void
setRSType(RasterizerState rs)¶
-
void
setTemporaryUIRS()¶
-
void
setTemporaryUIScissoredRS()¶
-
void
setDSS()¶
-
void
setScissorRectangle(int x, int y, int width, int height)¶
-
void
setResolutionAndRefreshRate(int width, int height, int refreshRateNum, int refreshRateDeno)¶
-
void
setOffScreenRTVDSV()¶
-
void
setOffScreenRTVOnly()¶
-
void
setMainRT()¶
-
void
setRTV(Microsoft::WRL::ComPtr<ID3D11RenderTargetView> rtv)¶
-
void
setRTV(ID3D11RenderTargetView *rtv)¶
-
void
setInputLayout(ID3D11InputLayout *inputLayout)¶
-
void
unbindSRVs()¶
-
void
unbindRTVs()¶
-
void
unbindDepthSRV()¶
-
Microsoft::WRL::ComPtr<ID3D11ShaderResourceView>
getMainSRV()¶
-
Microsoft::WRL::ComPtr<ID3D11ShaderResourceView>
getDepthSSRV()¶
-
Microsoft::WRL::ComPtr<ID3D11ShaderResourceView>
getStencilSRV()¶
-
Microsoft::WRL::ComPtr<ID3D11ShaderResourceView>
getOffScreenSRV()¶
-
void
setPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY pt)¶
-
void
setViewport(const D3D11_VIEWPORT *vp)¶
-
void
drawIndexed(UINT indices)¶ The last boss, draws Triangles.
-
void
drawIndexedInstanced(UINT indices, UINT instances, UINT startInstance)¶
-
void
beginDrawUI()¶
-
void
endDrawUI()¶
-
void
draw(UINT vertexCount, UINT startVertexLocation)¶
-
void
clearRTV(Microsoft::WRL::ComPtr<ID3D11RenderTargetView> rtv, float r, float g, float b, float a)¶
-
void
clearMainRT(float r, float g, float b, float a)¶
-
void
clearOffScreenRT(float r, float g, float b, float a)¶
-
void
clearDSV()¶
Public Static Functions
-
static RenderingDevice *
GetSingleton()¶
-
void