Add renderer blend state contract

This commit is contained in:
2026-06-02 15:40:43 +02:00
parent 5dbeb0504d
commit 5226746c1a
9 changed files with 326 additions and 60 deletions

View File

@@ -10,6 +10,7 @@ namespace pp::renderer {
enum class RecordedRenderCommandKind : std::uint8_t {
begin_render_pass,
set_viewport,
set_blend_state,
bind_shader,
bind_texture,
bind_mesh,
@@ -27,6 +28,7 @@ struct RecordedRenderCommand {
TextureDesc target_desc {};
ClearColor clear_color {};
Viewport viewport {};
BlendState blend_state {};
MeshDesc mesh_desc {};
TextureDesc texture_desc {};
std::uint32_t texture_slot = 0;
@@ -98,6 +100,7 @@ public:
IRenderTarget& target,
ClearColor clear_color) noexcept override;
[[nodiscard]] pp::foundation::Status set_viewport(Viewport viewport) 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(
std::uint32_t slot,