From ea3c24ec46ea2f07d06765c6b8572387f9ce14db Mon Sep 17 00:00:00 2001 From: Janis Date: Tue, 31 Dec 2024 11:58:09 +0100 Subject: [PATCH] correct egui blending --- crates/renderer/shaders/egui.slang | 14 +++++++------- crates/renderer/src/lib.rs | 14 +++++++++----- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/crates/renderer/shaders/egui.slang b/crates/renderer/shaders/egui.slang index ede6d28..34397d5 100644 --- a/crates/renderer/shaders/egui.slang +++ b/crates/renderer/shaders/egui.slang @@ -22,18 +22,18 @@ struct PushConstant { ConstantBuffer push_constant; [shader("vertex")] -VertexOut vertex(VertexIn vertex, uint draw_id : SV_DrawIndex) { +VertexOut vertex(VertexIn vertex, uint draw_id: SV_DrawIndex) { VertexOut output; - output.position = float4( + output.position = float4( 2.0 * vertex.pos.x / push_constant.screen_size.x - 1.0, - 2.0 * vertex.pos.y / push_constant.screen_size.y - 1.0, - 0.0, + 2.0 * vertex.pos.y / push_constant.screen_size.y - 1.0, + 0.0, 1.0, ); - output.color = vertex.color; - output.uv = vertex.uv; - output.draw_id = draw_id; + output.color = vertex.color; + output.uv = vertex.uv; + output.draw_id = draw_id; return output; } diff --git a/crates/renderer/src/lib.rs b/crates/renderer/src/lib.rs index c292645..5c05c09 100644 --- a/crates/renderer/src/lib.rs +++ b/crates/renderer/src/lib.rs @@ -1996,11 +1996,15 @@ impl EguiState { ..Default::default() }), color_blend: Some(pipeline::ColorBlendState { - attachments: &[vk::PipelineColorBlendAttachmentState { - color_write_mask: vk::ColorComponentFlags::RGBA, - blend_enable: 0, - ..Default::default() - }], + attachments: &[vk::PipelineColorBlendAttachmentState::default() + .color_write_mask(vk::ColorComponentFlags::RGBA) + .blend_enable(true) + .color_blend_op(vk::BlendOp::ADD) + .src_color_blend_factor(vk::BlendFactor::ONE) + .dst_color_blend_factor(vk::BlendFactor::ONE_MINUS_SRC_ALPHA) + .alpha_blend_op(vk::BlendOp::ADD) + .src_alpha_blend_factor(vk::BlendFactor::ONE) + .dst_alpha_blend_factor(vk::BlendFactor::ONE_MINUS_SRC_ALPHA)], ..Default::default() }), rendering: Some(pipeline::RenderingState {