Skip to content

Commit

Permalink
Merge pull request #1367 from tarkah/fix/wgpu-msaa-alpha-blending
Browse files Browse the repository at this point in the history
Fix alpha blending for wgpu msaa
  • Loading branch information
hecrj authored Jun 17, 2022
2 parents 449bbb1 + aae880c commit 9b46176
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 28 deletions.
8 changes: 4 additions & 4 deletions examples/solar_system/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ impl Application for SolarSystem {
String::from("Solar system - Iced")
}

fn background_color(&self) -> Color {
Color::BLACK
}

fn update(&mut self, message: Message) -> Command<Message> {
match message {
Message::Tick(instant) => {
Expand Down Expand Up @@ -137,16 +141,12 @@ impl<Message> canvas::Program<Message> for State {
use std::f32::consts::PI;

let background = self.space_cache.draw(bounds.size(), |frame| {
let space = Path::rectangle(Point::new(0.0, 0.0), frame.size());

let stars = Path::new(|path| {
for (p, size) in &self.stars {
path.rectangle(*p, Size::new(*size, *size));
}
});

frame.fill(&space, Color::BLACK);

frame.translate(frame.center() - Point::ORIGIN);
frame.fill(&stars, Color::WHITE);
});
Expand Down
13 changes: 1 addition & 12 deletions wgpu/src/triangle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -162,18 +162,7 @@ impl Pipeline {
entry_point: "fs_main",
targets: &[wgpu::ColorTargetState {
format,
blend: Some(wgpu::BlendState {
color: wgpu::BlendComponent {
src_factor: wgpu::BlendFactor::SrcAlpha,
dst_factor: wgpu::BlendFactor::OneMinusSrcAlpha,
operation: wgpu::BlendOperation::Add,
},
alpha: wgpu::BlendComponent {
src_factor: wgpu::BlendFactor::One,
dst_factor: wgpu::BlendFactor::OneMinusSrcAlpha,
operation: wgpu::BlendOperation::Add,
},
}),
blend: Some(wgpu::BlendState::ALPHA_BLENDING),
write_mask: wgpu::ColorWrites::ALL,
}],
}),
Expand Down
15 changes: 3 additions & 12 deletions wgpu/src/triangle/msaa.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,18 +95,9 @@ impl Blit {
entry_point: "fs_main",
targets: &[wgpu::ColorTargetState {
format,
blend: Some(wgpu::BlendState {
color: wgpu::BlendComponent {
src_factor: wgpu::BlendFactor::SrcAlpha,
dst_factor: wgpu::BlendFactor::OneMinusSrcAlpha,
operation: wgpu::BlendOperation::Add,
},
alpha: wgpu::BlendComponent {
src_factor: wgpu::BlendFactor::One,
dst_factor: wgpu::BlendFactor::OneMinusSrcAlpha,
operation: wgpu::BlendOperation::Add,
},
}),
blend: Some(
wgpu::BlendState::PREMULTIPLIED_ALPHA_BLENDING,
),
write_mask: wgpu::ColorWrites::ALL,
}],
}),
Expand Down

0 comments on commit 9b46176

Please sign in to comment.