| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "device/vr/android/gvr/gvr_delegate.h" | 5 #include "device/vr/android/gvr/gvr_delegate.h" |
| 6 | 6 |
| 7 #include "base/trace_event/trace_event.h" | 7 #include "base/trace_event/trace_event.h" |
| 8 #include "third_party/gvr-android-sdk/src/libraries/headers/vr/gvr/capi/include/
gvr.h" | 8 #include "third_party/gvr-android-sdk/src/libraries/headers/vr/gvr/capi/include/
gvr.h" |
| 9 #include "third_party/gvr-android-sdk/src/libraries/headers/vr/gvr/capi/include/
gvr_types.h" | 9 #include "third_party/gvr-android-sdk/src/libraries/headers/vr/gvr/capi/include/
gvr_types.h" |
| 10 #include "ui/gfx/geometry/vector3d_f.h" | 10 #include "ui/gfx/geometry/vector3d_f.h" |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 | 59 |
| 60 gfx::Transform delta_mat; | 60 gfx::Transform delta_mat; |
| 61 gfx::Transform inverse_head_mat; | 61 gfx::Transform inverse_head_mat; |
| 62 // Calculate difference matrix, and inverse head matrix rotation. | 62 // Calculate difference matrix, and inverse head matrix rotation. |
| 63 // For the inverse rotation, just transpose the 3x3 subsection. | 63 // For the inverse rotation, just transpose the 3x3 subsection. |
| 64 // | 64 // |
| 65 // Assume that epsilon is nonzero since it's based on a compile-time constant | 65 // Assume that epsilon is nonzero since it's based on a compile-time constant |
| 66 // provided by the caller. | 66 // provided by the caller. |
| 67 for (int j = 0; j < 3; ++j) { | 67 for (int j = 0; j < 3; ++j) { |
| 68 for (int i = 0; i < 3; ++i) { | 68 for (int i = 0; i < 3; ++i) { |
| 69 delta_mat.matrix().set(j, i, | 69 delta_mat.matrix().set( |
| 70 head_mat_2.matrix().get(j, i) - | 70 j, i, |
| 71 head_mat.matrix().get(j, i) / epsilon_seconds); | 71 (head_mat_2.matrix().get(j, i) - head_mat.matrix().get(j, i)) / |
| 72 epsilon_seconds); |
| 72 inverse_head_mat.matrix().set(j, i, head_mat.matrix().get(i, j)); | 73 inverse_head_mat.matrix().set(j, i, head_mat.matrix().get(i, j)); |
| 73 } | 74 } |
| 74 delta_mat.matrix().set(j, 3, 0); | 75 delta_mat.matrix().set(j, 3, 0); |
| 75 delta_mat.matrix().set(3, j, 0); | 76 delta_mat.matrix().set(3, j, 0); |
| 76 inverse_head_mat.matrix().set(j, 3, 0); | 77 inverse_head_mat.matrix().set(j, 3, 0); |
| 77 inverse_head_mat.matrix().set(3, j, 0); | 78 inverse_head_mat.matrix().set(3, j, 0); |
| 78 } | 79 } |
| 79 delta_mat.matrix().set(3, 3, 1); | 80 delta_mat.matrix().set(3, 3, 1); |
| 80 inverse_head_mat.matrix().set(3, 3, 1); | 81 inverse_head_mat.matrix().set(3, 3, 1); |
| 81 gfx::Transform omega_mat = delta_mat * inverse_head_mat; | 82 gfx::Transform omega_mat = delta_mat * inverse_head_mat; |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 gvr::Mat4f eye_mat = gvr_api->GetEyeFromHeadMatrix(eye); | 266 gvr::Mat4f eye_mat = gvr_api->GetEyeFromHeadMatrix(eye); |
| 266 eye_params->offset[0] = -eye_mat.m[0][3]; | 267 eye_params->offset[0] = -eye_mat.m[0][3]; |
| 267 eye_params->offset[1] = -eye_mat.m[1][3]; | 268 eye_params->offset[1] = -eye_mat.m[1][3]; |
| 268 eye_params->offset[2] = -eye_mat.m[2][3]; | 269 eye_params->offset[2] = -eye_mat.m[2][3]; |
| 269 } | 270 } |
| 270 | 271 |
| 271 return device; | 272 return device; |
| 272 } | 273 } |
| 273 | 274 |
| 274 } // namespace device | 275 } // namespace device |
| OLD | NEW |