Add and record Skinning phase

This commit is contained in:
mars 2022-05-07 21:48:54 -06:00
parent 3e0a15079d
commit 0360873dc4
2 changed files with 14 additions and 0 deletions

View File

@ -224,6 +224,18 @@ impl Renderer {
});
}
if let Some(skinning) = phase_passes.get_vec(&Phase::Skinning) {
let mut cmds = encoder.begin_compute_pass(&wgpu::ComputePassDescriptor {
label: Some("Skinning Phase"),
});
skinning.iter().for_each(|pass_index| {
let phase_data = frame_data.make_phase_data(Phase::Skinning, &viewport);
let pass = &self.render_passes[*pass_index];
pass.record_compute(phase_data, &mut cmds);
})
}
let record_render = |phase| {
let cmds = Mutex::new(Vec::new());
if let Some(passes) = phase_passes.get_vec(&phase) {

View File

@ -6,6 +6,7 @@
#[derive(Copy, Clone, Debug, Hash, Eq, Ord, PartialEq, PartialOrd, strum::EnumIter)]
pub enum Phase {
Upload,
Skinning,
Depth,
Opaque,
Transparent,
@ -17,6 +18,7 @@ impl Phase {
use Phase::*;
match self {
Upload => PhaseKind::Command,
Skinning => PhaseKind::Compute,
Depth | Opaque | Transparent | Overlay => PhaseKind::Render,
}
}