|
SleakEngine 0.1.0
C++23 multi-backend game engine
|
D3D12 vertex+pixel shader pair; the pipeline state object itself is owned per-shader. More...
#include <DirectX12Shader.hpp>
Public Member Functions | |
| DirectX12Shader (ID3D12Device *device) | |
| ~DirectX12Shader () override | |
| void | bind () override |
| Binds the shader's cached PSO to the current command list. | |
| bool | compile (const std::string &shaderPath) override |
| Compiles the combined-path convention (vs_main/ps_main entry points) from a single HLSL file. | |
| bool | compile (const std::string &vertPath, const std::string &fragPath) override |
| Compiles separate vertex and pixel shader HLSL files. | |
| ID3D12PipelineState * | GetPipelineState () const |
| ID3DBlob * | getPixelShaderBlob () const |
| ID3DBlob * | getVertexShaderBlob () const |
| void | SetCommandList (ID3D12GraphicsCommandList *cmdList) |
| void | SetPipelineState (Microsoft::WRL::ComPtr< ID3D12PipelineState > pso) |
| void | SetRenderer (DirectX12Renderer *renderer) |
| Routes bind() through the renderer so pass-specific PSOs are respected. | |
| Public Member Functions inherited from Sleak::RenderEngine::Shader | |
| virtual | ~Shader ()=default |
D3D12 vertex+pixel shader pair; the pipeline state object itself is owned per-shader.
Definition at line 19 of file DirectX12Shader.hpp.
| Sleak::RenderEngine::DirectX12Shader::DirectX12Shader | ( | ID3D12Device * | device | ) |
Definition at line 14 of file DirectX12Shader.cpp.
|
overridedefault |
|
overridevirtual |
Binds the shader's cached PSO to the current command list.
Implements Sleak::RenderEngine::Shader.
Definition at line 59 of file DirectX12Shader.cpp.
|
overridevirtual |
Compiles the combined-path convention (vs_main/ps_main entry points) from a single HLSL file.
Implements Sleak::RenderEngine::Shader.
Definition at line 20 of file DirectX12Shader.cpp.
|
overridevirtual |
Compiles separate vertex and pixel shader HLSL files.
Implements Sleak::RenderEngine::Shader.
Definition at line 43 of file DirectX12Shader.cpp.
| ID3D12PipelineState * Sleak::RenderEngine::DirectX12Shader::GetPipelineState | ( | ) | const |
Definition at line 80 of file DirectX12Shader.cpp.
| ID3DBlob * Sleak::RenderEngine::DirectX12Shader::getPixelShaderBlob | ( | ) | const |
Definition at line 72 of file DirectX12Shader.cpp.
| ID3DBlob * Sleak::RenderEngine::DirectX12Shader::getVertexShaderBlob | ( | ) | const |
Definition at line 68 of file DirectX12Shader.cpp.
| void Sleak::RenderEngine::DirectX12Shader::SetCommandList | ( | ID3D12GraphicsCommandList * | cmdList | ) |
Definition at line 84 of file DirectX12Shader.cpp.
| void Sleak::RenderEngine::DirectX12Shader::SetPipelineState | ( | Microsoft::WRL::ComPtr< ID3D12PipelineState > | pso | ) |
Definition at line 76 of file DirectX12Shader.cpp.
| void Sleak::RenderEngine::DirectX12Shader::SetRenderer | ( | DirectX12Renderer * | renderer | ) |
Routes bind() through the renderer so pass-specific PSOs are respected.
Definition at line 88 of file DirectX12Shader.cpp.