Fix alpha blending for wgpu msaa
This commit is contained in:
parent
449bbb112e
commit
aae880ca5d
3 changed files with 8 additions and 28 deletions
|
|
@ -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) => {
|
||||
|
|
@ -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);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
}],
|
||||
}),
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
}],
|
||||
}),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue