Add renderer depth state contract

This commit is contained in:
2026-06-02 15:50:59 +02:00
parent 9a7e1c4def
commit b68ddc42c6
9 changed files with 243 additions and 58 deletions

View File

@@ -12,6 +12,7 @@ enum class RecordedRenderCommandKind : std::uint8_t {
set_viewport,
set_scissor,
set_blend_state,
set_depth_state,
bind_shader,
bind_texture,
bind_mesh,
@@ -31,6 +32,7 @@ struct RecordedRenderCommand {
Viewport viewport {};
ScissorRect scissor {};
BlendState blend_state {};
DepthState depth_state {};
MeshDesc mesh_desc {};
TextureDesc texture_desc {};
std::uint32_t texture_slot = 0;
@@ -104,6 +106,7 @@ public:
[[nodiscard]] pp::foundation::Status set_viewport(Viewport viewport) noexcept override;
[[nodiscard]] pp::foundation::Status set_scissor(ScissorRect scissor) noexcept override;
[[nodiscard]] pp::foundation::Status set_blend_state(BlendState state) noexcept override;
[[nodiscard]] pp::foundation::Status set_depth_state(DepthState state) noexcept override;
[[nodiscard]] pp::foundation::Status bind_shader(IShaderProgram& shader) noexcept override;
[[nodiscard]] pp::foundation::Status bind_texture(
std::uint32_t slot,