Temporarily use push constants to set view/projection matrices
This commit is contained in:
@@ -14,6 +14,8 @@ layout(location = 0) out vec2 tex_coords;
|
||||
|
||||
layout(push_constant) uniform PushConstants {
|
||||
mat4 model;
|
||||
mat4 view;
|
||||
mat4 projection;
|
||||
} push;
|
||||
|
||||
out gl_PerVertex {
|
||||
@@ -21,6 +23,6 @@ out gl_PerVertex {
|
||||
};
|
||||
|
||||
void main() {
|
||||
gl_Position = ubo.projection * ubo.view * push.model * vec4(position, 1.0);
|
||||
gl_Position = push.projection * push.view * push.model * vec4(position, 1.0);
|
||||
tex_coords = uv;
|
||||
}
|
||||
@@ -68,6 +68,8 @@ impl Game for TestGame {
|
||||
|
||||
renderer.game_data.line_push_constants.view = view.into();
|
||||
renderer.game_data.line_push_constants.projection = proj.into();
|
||||
renderer.game_data.push_constants.view = view.into();
|
||||
renderer.game_data.push_constants.projection = proj.into();
|
||||
|
||||
self.input.frame_end();
|
||||
|
||||
|
||||
@@ -111,6 +111,8 @@ impl VulkanRenderer {
|
||||
let mut data = GameData {
|
||||
push_constants: PushConstants {
|
||||
model: Matrix4::identity().into(),
|
||||
view: Matrix4::identity().into(),
|
||||
projection: Matrix4::identity().into(),
|
||||
},
|
||||
line_push_constants: LinePushConstants {
|
||||
model: Matrix4::identity().into(),
|
||||
@@ -469,6 +471,7 @@ pub fn start_event_loop(mut renderer: VulkanRenderer, mut game: Box<dyn Game>, e
|
||||
let ubo = game.update(&mut renderer);
|
||||
|
||||
event_loop.run(move |event, _, control_flow| {
|
||||
game.on_window_event(&event);
|
||||
match event {
|
||||
Event::WindowEvent { event: WindowEvent::CloseRequested, .. } => {
|
||||
*control_flow = ControlFlow::Exit;
|
||||
|
||||
Reference in New Issue
Block a user