Add and record Skinning phase
This commit is contained in:
parent
3e0a15079d
commit
0360873dc4
12
src/lib.rs
12
src/lib.rs
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue