diff --git a/src/core/render/primitives/command.rs b/src/core/render/primitives/command.rs index 877d55f..36a7956 100644 --- a/src/core/render/primitives/command.rs +++ b/src/core/render/primitives/command.rs @@ -49,6 +49,26 @@ pub trait AsRecordable { Ok(()) } + + fn record_commands( + builder: &mut AutoCommandBufferBuilder, + descriptor_set_allocator: &Arc, + pipeline: &Arc, + mesh: &impl AsRenderableMesh, + instances: &impl AsRenderableMeshInstance, + descriptor_sets: Vec>, + ) -> Result<(), Box> { + Self::record_bind_commands( + builder, + descriptor_set_allocator, + pipeline, + mesh, + instances, + descriptor_sets, + )?; + Self::record_draw_commands(builder, mesh, instances)?; + Ok(()) + } } pub trait AsRenderableMesh { diff --git a/src/game/scenes/main_scene.rs b/src/game/scenes/main_scene.rs index 67ea2e0..efacfc5 100644 --- a/src/game/scenes/main_scene.rs +++ b/src/game/scenes/main_scene.rs @@ -263,7 +263,7 @@ impl Scene for MainScene { state .pipeline_loader .with_pipeline::(|pipeline| { - SimplePipeline::record_bind_commands( + SimplePipeline::record_commands( &mut builder, &app_context.descriptor_set_allocator, pipeline, @@ -278,13 +278,8 @@ impl Scene for MainScene { .clone(), ], )?; - SimplePipeline::record_draw_commands( - &mut builder, - &state.square, - &square_transform_uniform, - )?; - SimplePipeline::record_bind_commands( + SimplePipeline::record_commands( &mut builder, &app_context.descriptor_set_allocator, pipeline, @@ -299,11 +294,6 @@ impl Scene for MainScene { .clone(), ], )?; - SimplePipeline::record_draw_commands( - &mut builder, - &state.obj, - &obj_transform_uniform, - )?; Ok(()) })?;