hotload shader + directional light
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
|
||||
use cgmath::{Deg, InnerSpace, Quaternion, Rotation3};
|
||||
use winit::event::Event;
|
||||
|
||||
use level::{load_level, save_level};
|
||||
use player::Player;
|
||||
|
||||
use crate::config::{LogConfig};
|
||||
use crate::config::LogConfig;
|
||||
use crate::input::InputState;
|
||||
use crate::vulkan::{Game, MeshHandle, VulkanRenderer};
|
||||
use crate::vulkan::gameobject::{GameObject, GameObjectHandle, Updatable};
|
||||
@@ -22,6 +23,7 @@ pub struct TestGame {
|
||||
pub texture_index_counter: usize,
|
||||
pub last_time: f32,
|
||||
pub components: Vec<Box<dyn Updatable>>,
|
||||
pub paused: bool,
|
||||
}
|
||||
|
||||
impl Game for TestGame {
|
||||
@@ -48,7 +50,7 @@ impl Game for TestGame {
|
||||
}
|
||||
|
||||
if self.input.button_just_pressed("reload_shaders") {
|
||||
renderer.game_data.recreate_pipeline = true;
|
||||
renderer.recreate_swapchain = true;
|
||||
}
|
||||
|
||||
if self.input.button_just_pressed("quicksave") {
|
||||
@@ -65,17 +67,15 @@ impl Game for TestGame {
|
||||
}
|
||||
|
||||
if self.input.button_just_pressed("test") {
|
||||
if renderer.render_config.msaa_samples > 0 {
|
||||
renderer.render_config.msaa_samples = 0;
|
||||
} else {
|
||||
renderer.render_config.msaa_samples = 8;
|
||||
}
|
||||
renderer.recreate_swapchain = true;
|
||||
self.paused = !self.paused;
|
||||
}
|
||||
|
||||
// Custom game object stuff
|
||||
let light_pos = self.player.camera.position * -1.0;
|
||||
self.player.update(frame_time, &self.input, renderer);
|
||||
if !self.paused {
|
||||
self.player.update(frame_time, &self.input, renderer);
|
||||
}
|
||||
self.game_objects[1].get_game_object_mut(renderer).unwrap().rotation = Quaternion::from_angle_y(Deg(time * -20.)).normalize();
|
||||
|
||||
// End frame
|
||||
self.last_time = time;
|
||||
@@ -86,9 +86,11 @@ impl Game for TestGame {
|
||||
projection: self.player.camera.proj.into(),
|
||||
time,
|
||||
light_position: light_pos.into(),
|
||||
light_directional_rotation: [45.0, 45.0, 0.0],
|
||||
camera_position: self.player.camera.position.into(),
|
||||
_dummy0: [0; 12],
|
||||
_dummy1: [0; 4],
|
||||
_dummy2: [0; 4],
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -103,6 +105,7 @@ impl TestGame {
|
||||
texture_index_counter: 0,
|
||||
last_time: 0.0,
|
||||
components: vec![],
|
||||
paused: false,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user