Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Unified Diff: chrome/browser/android/vr_shell/vr_util.h

Issue 2301633002: Refactor Vr activity into ChromeTabbedActivity. (Closed)
Patch Set: Address comments and rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/vr_shell/vr_util.h
diff --git a/chrome/browser/android/vr_shell/vr_util.h b/chrome/browser/android/vr_shell/vr_util.h
index 53fa9de9c10c306be759079f451d01870e27200f..1f7ad7406c87aefe4b35837071a602465b948b3d 100644
--- a/chrome/browser/android/vr_shell/vr_util.h
+++ b/chrome/browser/android/vr_shell/vr_util.h
@@ -12,12 +12,54 @@
namespace vr_shell {
+#define makeRectangularTextureBuffer(left, right, bottom, top) \
bshe 2016/09/09 14:42:10 see here: https://google.github.io/styleguide/cppg
mthiesse 2016/09/09 15:16:38 Done.
+ { \
+ left, bottom, left, top, right, bottom, left, top, right, top, right, \
+ bottom \
+ }
+
+// 2D rectangles. Unlike gvr::Rectf and gvr::Recti, these have width and height
+// rather than right and top.
+typedef struct Recti {
+ int x;
+ int y;
+ int width;
+ int height;
+} Recti;
+
+typedef struct Rectf {
+ float x;
+ float y;
+ float width;
+ float height;
+} Rectf;
+
+void SetIdentityM(gvr::Mat4f& mat);
+
+void TranslateM(gvr::Mat4f& tmat, gvr::Mat4f& mat, float x, float y, float z);
+void TranslateMRight(gvr::Mat4f& tmat,
+ gvr::Mat4f& mat,
+ float x,
+ float y,
+ float z);
+
+void ScaleM(gvr::Mat4f& tmat, const gvr::Mat4f& mat, float x, float y, float z);
+void ScaleMRight(gvr::Mat4f& tmat, const gvr::Mat4f& mat,
+ float x, float y, float z);
+
std::array<float, 16> MatrixToGLArray(const gvr::Mat4f& matrix);
// Util functions that are copied from the treasure_hunt NDK demo in
// third_party/gvr-andoir-sdk/ folder.
gvr::Mat4f MatrixTranspose(const gvr::Mat4f& mat);
+std::array<float, 4> MatrixVectorMul(const gvr::Mat4f& matrix,
+ const std::array<float, 4>& vec);
+std::array<float, 3> MatrixVectorMul(const gvr::Mat4f& matrix,
+ const std::array<float, 3>& vec);
+gvr::Vec3f MatrixVectorMul(const gvr::Mat4f& m, const gvr::Vec3f& v);
+gvr::Vec3f MatrixVectorRotate(const gvr::Mat4f& m, const gvr::Vec3f& v);
gvr::Mat4f MatrixMul(const gvr::Mat4f& matrix1, const gvr::Mat4f& matrix2);
+gvr::Mat4f InvertM(const gvr::Mat4f& mat);
gvr::Mat4f PerspectiveMatrixFromView(const gvr::Rectf& fov,
float z_near,
float z_far);
@@ -25,6 +67,9 @@ gvr::Rectf ModulateRect(const gvr::Rectf& rect, float width, float height);
gvr::Recti CalculatePixelSpaceRect(const gvr::Sizei& texture_size,
const gvr::Rectf& texture_rect);
+gvr::Vec3f getForwardVector(const gvr::Mat4f& matrix);
+gvr::Vec3f getTranslation(const gvr::Mat4f& matrix);
+
// Compile a shader.
GLuint CompileShader(GLenum shader_type,
const GLchar* shader_source,
@@ -37,6 +82,20 @@ GLuint CreateAndLinkProgram(GLuint vertex_shader_handle,
const GLchar** attributes,
std::string& error);
+gvr::Quatf QuatMultiply(const gvr::Quatf& a, const gvr::Quatf& b);
+
+gvr::Mat4f QuatToMatrix(const gvr::Quatf& quat);
+
+float VectorLength(const gvr::Vec3f& vec);
+
+void NormalizeVector(gvr::Vec3f& vec);
+
+float VectorDot(const gvr::Vec3f& a, const gvr::Vec3f& b);
+
+void NormalizeQuat(gvr::Quatf& quat);
+
+gvr::Quatf QuatFromAxisAngle(float x, float y, float z, float angle);
+
} // namespace vr_shell
#endif // CHROME_BROWSER_ANDROID_VR_SHELL_VR_UTIL_H_

Powered by Google App Engine
This is Rietveld 408576698