Reduce Generics in pipeline rendering
This commit is contained in:
parent
90a5b5d117
commit
0174aeb60e
8 changed files with 92 additions and 76 deletions
|
@ -1,19 +1,19 @@
|
|||
use std::collections::HashMap;
|
||||
use std::error::Error;
|
||||
use std::sync::Arc;
|
||||
|
||||
use super::settings_scene::SettingsScene;
|
||||
use crate::core::app::DEPTH_IMAGE_ID;
|
||||
use crate::core::app::context::WindowContext;
|
||||
use crate::core::app::user_event::UserEvent;
|
||||
use crate::core::render::primitives::AsRecordable;
|
||||
use crate::core::render::primitives::camera::Camera3D;
|
||||
use crate::core::render::primitives::transform::Transform;
|
||||
use crate::core::render::primitives::{AsDescriptorSet, AsRecordable};
|
||||
use crate::core::render::render_pass_manager::{RenderPassConfig, RenderPassManager};
|
||||
use crate::core::render::resources::meshes::{ObjMesh, SquareMesh};
|
||||
use crate::core::render::resources::texture::{
|
||||
Texture, TextureLoadInfo, TextureLoader, TextureSourceKind,
|
||||
};
|
||||
use crate::core::render::resources::texture::{TextureLoadInfo, TextureLoader, TextureSourceKind};
|
||||
use crate::core::scene::Scene;
|
||||
use crate::game::assets::pipelines::simple::{SimplePipeline, SimplePipelineRenderData};
|
||||
use crate::game::assets::pipelines::simple::SimplePipeline;
|
||||
use egui_winit_vulkano::egui;
|
||||
use glam::EulerRot;
|
||||
use glam::Quat;
|
||||
|
@ -21,7 +21,7 @@ use glam::Vec3;
|
|||
use vulkano::format::Format;
|
||||
use vulkano::image::sampler::{Filter, SamplerAddressMode, SamplerCreateInfo};
|
||||
use vulkano::{
|
||||
command_buffer::{AutoCommandBufferBuilder, CommandBufferUsage, PrimaryCommandBufferAbstract},
|
||||
command_buffer::{AutoCommandBufferBuilder, CommandBufferUsage},
|
||||
sync::GpuFuture,
|
||||
};
|
||||
use winit::window::CursorGrabMode;
|
||||
|
@ -250,7 +250,7 @@ impl Scene for MainScene {
|
|||
}
|
||||
|
||||
// Create camera uniform using the actual camera
|
||||
let camera_uniform = state.camera.create_buffer(&app_context.memory_allocator)?;
|
||||
let camera_uniform = Arc::new(state.camera.create_buffer(&app_context.memory_allocator)?);
|
||||
let square_transform_uniform =
|
||||
Transform::create_buffer(&app_context.memory_allocator, &state.square_instances)?;
|
||||
let obj_transform_uniform =
|
||||
|
@ -262,10 +262,14 @@ impl Scene for MainScene {
|
|||
state.simple_pipeline.pipeline(),
|
||||
&state.square,
|
||||
&square_transform_uniform,
|
||||
&SimplePipelineRenderData {
|
||||
mvp_uniform: &camera_uniform,
|
||||
texture: &state.texture_loader.get_texture("wooden-crate").unwrap(),
|
||||
},
|
||||
vec![
|
||||
camera_uniform.clone() as Arc<dyn AsDescriptorSet>,
|
||||
state
|
||||
.texture_loader
|
||||
.get_texture("wooden-crate")
|
||||
.unwrap()
|
||||
.clone(),
|
||||
],
|
||||
)?;
|
||||
SimplePipeline::record_draw_commands(
|
||||
&mut builder,
|
||||
|
@ -279,10 +283,14 @@ impl Scene for MainScene {
|
|||
state.simple_pipeline.pipeline(),
|
||||
&state.obj,
|
||||
&obj_transform_uniform,
|
||||
&SimplePipelineRenderData {
|
||||
mvp_uniform: &camera_uniform,
|
||||
texture: &state.texture_loader.get_texture("cube-diffuse").unwrap(),
|
||||
},
|
||||
vec![
|
||||
camera_uniform.clone() as Arc<dyn AsDescriptorSet>,
|
||||
state
|
||||
.texture_loader
|
||||
.get_texture("cube-diffuse")
|
||||
.unwrap()
|
||||
.clone(),
|
||||
],
|
||||
)?;
|
||||
SimplePipeline::record_draw_commands(&mut builder, &state.obj, &obj_transform_uniform)?;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue