| Index: chrome/browser/android/vr_shell/vr_shell_gl.cc
|
| diff --git a/chrome/browser/android/vr_shell/vr_shell_gl.cc b/chrome/browser/android/vr_shell/vr_shell_gl.cc
|
| index c3b906768d2fd7e09fea01670323b19e788e14ad..04576097918cdeb873940654a892d8a31229dee4 100644
|
| --- a/chrome/browser/android/vr_shell/vr_shell_gl.cc
|
| +++ b/chrome/browser/android/vr_shell/vr_shell_gl.cc
|
| @@ -935,6 +935,7 @@ void VrShellGl::DrawUiView(const gvr::Mat4f& head_pose,
|
| DrawElements(render_matrix, elementsInDrawOrder);
|
| if (draw_cursor) {
|
| DrawCursor(render_matrix);
|
| + DrawController(render_matrix);
|
| }
|
| }
|
| }
|
| @@ -1095,6 +1096,14 @@ void VrShellGl::DrawCursor(const gvr::Mat4f& render_matrix) {
|
| }
|
| }
|
|
|
| +void VrShellGl::DrawController(const gvr::Mat4f& view_proj_matrix) {
|
| + if (!vr_shell_renderer_->GetControllerRenderer()->IsSetUp())
|
| + return;
|
| + auto transform = MatrixMul(view_proj_matrix, controller_->GetTransform());
|
| + auto state = controller_->GetModelState();
|
| + vr_shell_renderer_->GetControllerRenderer()->Draw(state, transform);
|
| +}
|
| +
|
| bool VrShellGl::ShouldDrawWebVr() {
|
| return web_vr_mode_ && scene_->GetWebVrRenderingEnabled();
|
| }
|
| @@ -1189,6 +1198,10 @@ base::WeakPtr<VrShellGl> VrShellGl::GetWeakPtr() {
|
| return weak_ptr_factory_.GetWeakPtr();
|
| }
|
|
|
| +void VrShellGl::SetControllerModel(std::unique_ptr<VrControllerModel> model) {
|
| + vr_shell_renderer_->GetControllerRenderer()->SetUp(std::move(model));
|
| +}
|
| +
|
| void VrShellGl::OnVSync() {
|
| while (premature_received_frames_ > 0) {
|
| TRACE_EVENT0("gpu", "VrShellGl::OnWebVRFrameAvailableRetry");
|
|
|