SleakEngine 1.0.0
C++23 multi-backend game engine
Loading...
Searching...
No Matches
RenderCommands.hpp File Reference

Go to the source code of this file.

Classes

class  Sleak::RenderEngine::BindConstantBufferCommand
 Binds a constant buffer to a pipeline slot. More...
class  Sleak::RenderEngine::BindMaterialCommand
 Binds a material's shader and textures for subsequent draws. More...
class  Sleak::RenderEngine::BindShaderCommand
 Binds a shader program for subsequent draws. More...
class  Sleak::RenderEngine::BindTextureCommand
 Binds a texture for subsequent draws. More...
class  Sleak::RenderEngine::CustomCommand
 Wraps an arbitrary callback as a queueable render command. More...
class  Sleak::RenderEngine::DrawCommand
 Non-indexed draw command with its vertex and constant buffers. More...
class  Sleak::RenderEngine::DrawIndexedCommand
 Indexed draw command with its vertex, index, and constant buffers. More...
class  Sleak::RenderEngine::RenderCommandBase
 One recorded draw plus the state it needs to replay into a command list. More...
class  Sleak::RenderEngine::SetRenderFaceCommand
 Switches the cull-face mode. More...
class  Sleak::RenderEngine::SetRenderModeCommand
 Switches the rasterizer fill mode. More...
class  Sleak::RenderEngine::UpdateConstantBufferCommand
 Constant buffer write, captured by value into inline storage or a heap fallback for larger payloads. More...

Namespaces

namespace  Sleak
 Root namespace for everything the engine exposes.
namespace  Sleak::RenderEngine
 Backend-facing rendering layer shared by the four graphics backends.

Macros

#define RENDER_COMMAND(Type)

Enumerations

enum class  Sleak::RenderEngine::CommandType {
  Sleak::RenderEngine::Draw = 0 , Sleak::RenderEngine::DrawIndexed = 1 , Sleak::RenderEngine::DrawInstanced = 2 , Sleak::RenderEngine::UpdateConstantBuffer = 3 ,
  Sleak::RenderEngine::BindConstantBuffer = 4 , Sleak::RenderEngine::SetRenderTarget = 5 , Sleak::RenderEngine::ClearRenderTarget = 6 , Sleak::RenderEngine::SetViewport = 7 ,
  Sleak::RenderEngine::SetShader = 8 , Sleak::RenderEngine::SetTexture = 9 , Sleak::RenderEngine::SetMode = 10 , Sleak::RenderEngine::SetFace = 11 ,
  Sleak::RenderEngine::SetBlendStae = 12 , Sleak::RenderEngine::SetDepthStencilState = 13 , Sleak::RenderEngine::SetRasterizerState = 14 , Sleak::RenderEngine::CustomCommand = 15 ,
  Sleak::RenderEngine::BindMaterial = 16
}
 Discriminator for RenderCommandBase subclasses, used for sorting and batching. More...

Macro Definition Documentation

◆ RENDER_COMMAND

#define RENDER_COMMAND ( Type)
Value:
void Execute(RenderContext* context) override; \
CommandType GetType() const override { return CommandType::Type;}

Definition at line 11 of file RenderCommands.hpp.