WIP: show overworld map
This commit is contained in:
26
src/view.rs
26
src/view.rs
@@ -67,32 +67,24 @@ impl ViewRoot<gfx_device_gl::Device, ColorFormat, DepthFormat> {
|
||||
|
||||
for &(eye, buffers) in [(vr::Eye::Left, &self.left),
|
||||
(vr::Eye::Right, &self.right)].into_iter() {
|
||||
window.encoder.clear(&buffers.target, [0.1, 0.2, 0.3, 1.0]);
|
||||
window.encoder.clear(&buffers.target, [0.05, 0.05, 0.1, 1.0]);
|
||||
|
||||
window.encoder.clear_depth(&buffers.depth, 1.0);
|
||||
|
||||
// Submit eye textures
|
||||
let proj_mat = vr.projection_matrix(eye, NEAR, FAR);
|
||||
let eye_mat = vr.head_to_eye_transform(eye);
|
||||
for track in (0..poses.count).map(|pose| poses.poses[pose]) {
|
||||
match track.device_class() {
|
||||
vr::TrackedDeviceClass::Controller |
|
||||
vr::TrackedDeviceClass::TrackingReference => {
|
||||
let model_mat = track.to_device.as_matrix4();
|
||||
|
||||
let trans = Trans { matrix: *(proj_mat * eye_mat * hmd_mat * model_mat).as_ref() };
|
||||
window.encoder.update_constant_buffer(&self.trans, &trans);
|
||||
let model_mat = na::Matrix4::one();
|
||||
|
||||
scene.render(&mut window.factory,
|
||||
&mut window.encoder,
|
||||
&self.trans,
|
||||
&buffers.target,
|
||||
&buffers.depth);
|
||||
},
|
||||
_ => ()
|
||||
}
|
||||
}
|
||||
let trans = Trans { matrix: *(proj_mat * eye_mat * hmd_mat * model_mat).as_ref() };
|
||||
window.encoder.update_constant_buffer(&self.trans, &trans);
|
||||
|
||||
scene.render(&mut window.factory,
|
||||
&mut window.encoder,
|
||||
&self.trans,
|
||||
&buffers.target,
|
||||
&buffers.depth);
|
||||
}
|
||||
// draw monitor window
|
||||
window.encoder.update_constant_buffer(&self.trans,
|
||||
|
||||
Reference in New Issue
Block a user