Add renderer scissor state contract

This commit is contained in:
2026-06-02 15:46:03 +02:00
parent 5226746c1a
commit 9a7e1c4def
9 changed files with 215 additions and 65 deletions

View File

@@ -10,6 +10,7 @@ namespace pp::renderer {
enum class RecordedRenderCommandKind : std::uint8_t {
begin_render_pass,
set_viewport,
set_scissor,
set_blend_state,
bind_shader,
bind_texture,
@@ -28,6 +29,7 @@ struct RecordedRenderCommand {
TextureDesc target_desc {};
ClearColor clear_color {};
Viewport viewport {};
ScissorRect scissor {};
BlendState blend_state {};
MeshDesc mesh_desc {};
TextureDesc texture_desc {};
@@ -100,6 +102,7 @@ public:
IRenderTarget& target,
ClearColor clear_color) noexcept override;
[[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 bind_shader(IShaderProgram& shader) noexcept override;
[[nodiscard]] pp::foundation::Status bind_texture(