diff --git a/models/missing-texture.jpg b/models/missing-texture.jpg new file mode 100644 index 0000000..256d9c1 Binary files /dev/null and b/models/missing-texture.jpg differ diff --git a/src/main.rs b/src/main.rs index 9263886..9d3634a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -66,7 +66,7 @@ impl TestGame { self.cubes = self.test_meshes.iter().map(|(mesh, tex_id)| renderer.add_game_object(GameObject::new(*mesh, *tex_id, renderer))).collect(); } - self.cam_rotation = self.cam_rotation * Quaternion::from_angle_z(Deg(self.input.get_axis("look_horizontal") * 0.05)); + self.cam_rotation = self.cam_rotation * Quaternion::from_angle_y(Deg(self.input.get_axis("look_horizontal") * 0.05)); self.cam_rotation = Quaternion::from_angle_x(Deg(self.input.get_axis("look_vertical") * 0.05)) * self.cam_rotation; self.cam_position += self.cam_rotation.invert().rotate_vector(Vector3::new( self.input.get_axis("move_sideways") * -0.05, @@ -110,10 +110,10 @@ fn main() { let mut renderer = VulkanRenderer::init( (-line_count..=line_count) .flat_map(|it| vec![ - LinePoint { position: [it as f32, -line_count as f32, 0.] }, - LinePoint { position: [it as f32, line_count as f32, 0.] }, - LinePoint { position: [-line_count as f32, it as f32, 0.] }, - LinePoint { position: [line_count as f32, it as f32, 0.] }, + LinePoint { position: [it as f32, 0., -line_count as f32] }, + LinePoint { position: [it as f32, 0., line_count as f32] }, + LinePoint { position: [-line_count as f32, 0., it as f32] }, + LinePoint { position: [line_count as f32, 0., it as f32] }, ]).collect(), log_config.vulkan_validation_layers, ); diff --git a/src/vulkan.rs b/src/vulkan.rs index 6e5feb7..1700b2a 100644 --- a/src/vulkan.rs +++ b/src/vulkan.rs @@ -289,18 +289,20 @@ impl VulkanRenderer { let (default_tex, default_tex_future) = { - let image = image::load_from_memory_with_format(include_bytes!("../models/Eye.png"), - ImageFormat::PNG).unwrap().to_rgba(); + let image = image::load_from_memory_with_format(include_bytes!("../models/missing-texture.jpg"), + ImageFormat::JPEG).unwrap().to_rgba(); let image_data = image.into_raw().clone(); ImmutableImage::from_iter( image_data.iter().cloned(), - Dimensions::Dim2d { width: 4096, height: 4096 }, + Dimensions::Dim2d { width: 128, height: 128 }, Format::R8G8B8A8Unorm, queue.clone(), ).unwrap() }; + default_tex_future.flush().unwrap(); + let default_descriptor_set = Arc::new(PersistentDescriptorSet::start(pipeline.clone(), 0) .add_sampled_image(default_tex.clone(), sampler.clone()).unwrap() .build().unwrap()