|
SleakEngine 1.0.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) |
| 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 18 of file DirectX12Shader.hpp.
| Sleak::RenderEngine::DirectX12Shader::DirectX12Shader | ( | ID3D12Device * | device | ) |
Definition at line 10 of file DirectX12Shader.cpp.
|
overridedefault |
|
overridevirtual |
Binds the shader's cached PSO to the current command list.
Implements Sleak::RenderEngine::Shader.
Definition at line 55 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 16 of file DirectX12Shader.cpp.
|
overridevirtual |
Compiles separate vertex and pixel shader HLSL files.
Implements Sleak::RenderEngine::Shader.
Definition at line 39 of file DirectX12Shader.cpp.
| ID3D12PipelineState * Sleak::RenderEngine::DirectX12Shader::GetPipelineState | ( | ) | const |
Definition at line 73 of file DirectX12Shader.cpp.
| ID3DBlob * Sleak::RenderEngine::DirectX12Shader::getPixelShaderBlob | ( | ) | const |
Definition at line 65 of file DirectX12Shader.cpp.
| ID3DBlob * Sleak::RenderEngine::DirectX12Shader::getVertexShaderBlob | ( | ) | const |
Definition at line 61 of file DirectX12Shader.cpp.
| void Sleak::RenderEngine::DirectX12Shader::SetCommandList | ( | ID3D12GraphicsCommandList * | cmdList | ) |
Definition at line 77 of file DirectX12Shader.cpp.
| void Sleak::RenderEngine::DirectX12Shader::SetPipelineState | ( | Microsoft::WRL::ComPtr< ID3D12PipelineState > | pso | ) |
Definition at line 69 of file DirectX12Shader.cpp.