00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "tango-gl/conversions.h"
00018
00019 namespace tango_gl {
00020 namespace conversions {
00021
00022 glm::mat4 opengl_world_T_tango_world() {
00023
00024 return glm::mat4(1.0f, 0.0f, 0.0f, 0.0f,
00025 0.0f, 0.0f, -1.0f, 0.0f,
00026 0.0f, 1.0f, 0.0f, 0.0f,
00027 0.0f, 0.0f, 0.0f, 1.0f);
00028 }
00029
00030 glm::mat4 color_camera_T_opengl_camera() {
00031
00032 return glm::mat4(1.0f, 0.0f, 0.0f, 0.0f,
00033 0.0f, -1.0f, 0.0f, 0.0f,
00034 0.0f, 0.0f, -1.0f, 0.0f,
00035 0.0f, 0.0f, 0.0f, 1.0f);
00036 }
00037
00038 glm::mat4 depth_camera_T_opengl_camera() {
00039
00040 return glm::mat4(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
00041 -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f);
00042 }
00043
00044 glm::quat QuatTangoToGl(const glm::quat& tango_q_frame) {
00045 const float kSqrt2Over2 = std::sqrt(2.0) / 2.0f;
00046
00047 glm::quat gl_q_tango = glm::quat(kSqrt2Over2, -kSqrt2Over2, 0.0f, 0.0f);
00048 return gl_q_tango * tango_q_frame;
00049 }
00050
00051 }
00052 }