Compare commits

..

3 commits

Author SHA1 Message Date
1e6f9b8347 Update Rust crate shaderc to 0.9.0 2025-03-10 18:02:33 +00:00
f7f3f9ccf1 Fix deadlock when resizing 2025-03-10 17:19:17 +01:00
402f3eb5bd Change visibility of eye_position 2025-03-10 17:04:38 +01:00
3 changed files with 9 additions and 8 deletions

View file

@ -103,7 +103,7 @@ impl Camera {
} }
// view matrix handling // view matrix handling
fn eye_position(&self) -> Vector3<f32> { pub fn eye_position(&self) -> Vector3<f32> {
rotate_z(self.eye_offset, self.eye_rotation) + self.center + self.center_offset rotate_z(self.eye_offset, self.eye_rotation) + self.center + self.center_offset
} }

View file

@ -14,8 +14,8 @@ fn main() -> Result<()> {
world_builder.add_system(GameState::update); world_builder.add_system(GameState::update);
world_builder.resources.insert(GameState::default()); world_builder.resources.insert(GameState::default());
let dir = Path::new("C:/Users/M.Huebner/Downloads/skybox"); // let dir = Path::new("C:/Users/M.Huebner/Downloads/skybox");
// let dir = Path::new("/home/michaelh/Sync/skybox_labeled"); let dir = Path::new("/home/michaelh/Sync/skybox");
SkyBox::new( SkyBox::new(
&mut world_builder, &mut world_builder,
[ [

View file

@ -54,7 +54,7 @@ impl SkyBox {
.sample_count; .sample_count;
let context = world.resources.get_mut_unchecked::<Context>(); let context = world.resources.get_mut_unchecked::<Context>();
context.render_core_mut().add_render_routine::<Self>(1); context.render_core_mut().add_render_routine::<Self>(10);
let images = images.into(); let images = images.into();
let cube_map = Image::cube_map([ let cube_map = Image::cube_map([
@ -91,7 +91,7 @@ impl SkyBox {
) )
.build(context.device().clone())?; .build(context.device().clone())?;
let render_target = Self::create_render_target(context, sample_count)?; let render_target = Self::create_render_target(context, &context.images(), sample_count)?;
let pipeline_layout = PipelineLayout::builder() let pipeline_layout = PipelineLayout::builder()
.add_descriptor_set_layout(&descriptor_set_layout) .add_descriptor_set_layout(&descriptor_set_layout)
@ -179,9 +179,10 @@ impl SkyBox {
fn create_render_target( fn create_render_target(
context: &Context, context: &Context,
images: &TargetMode<Vec<Arc<Image>>>,
sample_count: VkSampleCountFlags, sample_count: VkSampleCountFlags,
) -> Result<TargetMode<RenderTarget>> { ) -> Result<TargetMode<RenderTarget>> {
context.images().execute(|images| { images.execute(|images| {
let first = images.first().unwrap(); let first = images.first().unwrap();
let width = first.width(); let width = first.width();
@ -287,7 +288,7 @@ impl TScene for SkyBox {
&mut self, &mut self,
_window_width: f32, _window_width: f32,
_window_height: f32, _window_height: f32,
_images: &TargetMode<Vec<Arc<Image>>>, images: &TargetMode<Vec<Arc<Image>>>,
world: &mut World, world: &mut World,
) -> Result<()> { ) -> Result<()> {
let sample_count = world let sample_count = world
@ -303,7 +304,7 @@ impl TScene for SkyBox {
TargetMode::Stereo(p, _) => p.pipeline_layout().clone(), TargetMode::Stereo(p, _) => p.pipeline_layout().clone(),
}; };
self.render_target = Self::create_render_target(context, sample_count)?; self.render_target = Self::create_render_target(context, images, sample_count)?;
self.pipeline = Self::create_pipeline( self.pipeline = Self::create_pipeline(
context, context,
sample_count, sample_count,