| 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 "modules/vr/VRFrameData.h" | 5 #include "modules/vr/VRFrameData.h" |
| 6 | 6 |
| 7 #include "modules/vr/VREyeParameters.h" | 7 #include "modules/vr/VREyeParameters.h" |
| 8 #include "modules/vr/VRPose.h" | 8 #include "modules/vr/VRPose.h" |
| 9 | 9 |
| 10 #include <cmath> | 10 #include <cmath> |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det; | 160 out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det; |
| 161 out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det; | 161 out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det; |
| 162 out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det; | 162 out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det; |
| 163 out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det; | 163 out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det; |
| 164 out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det; | 164 out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det; |
| 165 out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det; | 165 out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det; |
| 166 | 166 |
| 167 return true; | 167 return true; |
| 168 }; | 168 }; |
| 169 | 169 |
| 170 VRFrameData::VRFrameData() : m_timestamp(0.0) { | 170 VRFrameData::VRFrameData() { |
| 171 m_leftProjectionMatrix = DOMFloat32Array::create(16); | 171 m_leftProjectionMatrix = DOMFloat32Array::create(16); |
| 172 m_leftViewMatrix = DOMFloat32Array::create(16); | 172 m_leftViewMatrix = DOMFloat32Array::create(16); |
| 173 m_rightProjectionMatrix = DOMFloat32Array::create(16); | 173 m_rightProjectionMatrix = DOMFloat32Array::create(16); |
| 174 m_rightViewMatrix = DOMFloat32Array::create(16); | 174 m_rightViewMatrix = DOMFloat32Array::create(16); |
| 175 m_pose = VRPose::create(); | 175 m_pose = VRPose::create(); |
| 176 } | 176 } |
| 177 | 177 |
| 178 bool VRFrameData::update(const device::mojom::blink::VRPosePtr& pose, | 178 bool VRFrameData::update(const device::mojom::blink::VRPosePtr& pose, |
| 179 VREyeParameters* leftEye, | 179 VREyeParameters* leftEye, |
| 180 VREyeParameters* rightEye, | 180 VREyeParameters* rightEye, |
| 181 float depthNear, | 181 float depthNear, |
| 182 float depthFar) { | 182 float depthFar) { |
| 183 m_timestamp = pose->timestamp; | |
| 184 | |
| 185 // Build the projection matrices | 183 // Build the projection matrices |
| 186 projectionFromFieldOfView(m_leftProjectionMatrix, leftEye->fieldOfView(), | 184 projectionFromFieldOfView(m_leftProjectionMatrix, leftEye->fieldOfView(), |
| 187 depthNear, depthFar); | 185 depthNear, depthFar); |
| 188 projectionFromFieldOfView(m_rightProjectionMatrix, rightEye->fieldOfView(), | 186 projectionFromFieldOfView(m_rightProjectionMatrix, rightEye->fieldOfView(), |
| 189 depthNear, depthFar); | 187 depthNear, depthFar); |
| 190 | 188 |
| 191 // Build the view matrices | 189 // Build the view matrices |
| 192 matrixfromRotationTranslation(m_leftViewMatrix, pose->orientation, | 190 matrixfromRotationTranslation(m_leftViewMatrix, pose->orientation, |
| 193 pose->position); | 191 pose->position); |
| 194 matrixTranslate(m_leftViewMatrix, leftEye->offset()); | 192 matrixTranslate(m_leftViewMatrix, leftEye->offset()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 209 | 207 |
| 210 DEFINE_TRACE(VRFrameData) { | 208 DEFINE_TRACE(VRFrameData) { |
| 211 visitor->trace(m_leftProjectionMatrix); | 209 visitor->trace(m_leftProjectionMatrix); |
| 212 visitor->trace(m_leftViewMatrix); | 210 visitor->trace(m_leftViewMatrix); |
| 213 visitor->trace(m_rightProjectionMatrix); | 211 visitor->trace(m_rightProjectionMatrix); |
| 214 visitor->trace(m_rightViewMatrix); | 212 visitor->trace(m_rightViewMatrix); |
| 215 visitor->trace(m_pose); | 213 visitor->trace(m_pose); |
| 216 } | 214 } |
| 217 | 215 |
| 218 } // namespace blink | 216 } // namespace blink |
| OLD | NEW |