diff --git a/android/apps/questFramePlayer/CMakeLists.txt b/android/apps/questFramePlayer/CMakeLists.txt
index a22524222a..5889585a6c 100644
--- a/android/apps/questFramePlayer/CMakeLists.txt
+++ b/android/apps/questFramePlayer/CMakeLists.txt
@@ -1,4 +1,4 @@
-set(TARGET_NAME framePlayer)
+set(TARGET_NAME questFramePlayer)
setup_hifi_library(AndroidExtras)
link_hifi_libraries(shared ktx shaders gpu gl oculusMobile ${PLATFORM_GL_BACKEND})
target_include_directories(${TARGET_NAME} PRIVATE ${HIFI_ANDROID_PRECOMPILED}/ovr/VrApi/Include)
diff --git a/android/apps/questFramePlayer/build.gradle b/android/apps/questFramePlayer/build.gradle
index 6b77eb72de..13d806c3a4 100644
--- a/android/apps/questFramePlayer/build.gradle
+++ b/android/apps/questFramePlayer/build.gradle
@@ -19,12 +19,12 @@ android {
externalNativeBuild {
cmake {
arguments '-DHIFI_ANDROID=1',
- '-DHIFI_ANDROID_APP=framePlayer',
+ '-DHIFI_ANDROID_APP=questFramePlayer',
'-DANDROID_TOOLCHAIN=clang',
'-DANDROID_STL=c++_shared',
'-DCMAKE_VERBOSE_MAKEFILE=ON'
- targets = ['framePlayer']
+ targets = ['questFramePlayer']
}
}
}
diff --git a/android/apps/questFramePlayer/src/main/AndroidManifest.xml b/android/apps/questFramePlayer/src/main/AndroidManifest.xml
index a4c4ec1f2f..721e8cee89 100644
--- a/android/apps/questFramePlayer/src/main/AndroidManifest.xml
+++ b/android/apps/questFramePlayer/src/main/AndroidManifest.xml
@@ -30,7 +30,7 @@
android:configChanges="screenSize|screenLayout|orientation|keyboardHidden|keyboard|navigation|uiMode"
>
-
+
diff --git a/android/apps/questFramePlayer/src/main/cpp/RenderThread.cpp b/android/apps/questFramePlayer/src/main/cpp/RenderThread.cpp
index 507bfd08b9..c07394cbe9 100644
--- a/android/apps/questFramePlayer/src/main/cpp/RenderThread.cpp
+++ b/android/apps/questFramePlayer/src/main/cpp/RenderThread.cpp
@@ -22,6 +22,7 @@
#include
#include
+#include
#include
#include
@@ -62,7 +63,7 @@ JNIEXPORT void JNICALL Java_io_highfidelity_frameplayer_QuestQtActivity_nativeOn
}
}
-static const char* FRAME_FILE = "assets:/frames/20190115_0948.json";
+static const char* FRAME_FILE = "assets:/frames/20190121_1220.json";
static void textureLoader(const std::string& filename, const gpu::TexturePointer& texture, uint16_t layer) {
QImage image;
@@ -193,9 +194,12 @@ void RenderThread::renderFrame() {
// Quest
auto frameCorrection = _correction * ovr::toGlm(tracking.HeadPose.Pose);
_backend->setCameraCorrection(glm::inverse(frameCorrection), frame->view);
+ vec4 fovs[2];
ovr::for_each_eye([&](ovrEye eye){
const auto& eyeInfo = tracking.Eye[eye];
eyeProjections[eye] = ovr::toGlm(eyeInfo.ProjectionMatrix);
+ auto& fov = fovs[eye];
+ ovrMatrix4f_ExtractFov(&eyeInfo.ProjectionMatrix, &fov.x, &fov.y, &fov.z, &fov.w);
eyeOffsets[eye] = ovr::toGlm(eyeInfo.ViewMatrix);
});
_backend->recycle();
diff --git a/android/settings.gradle b/android/settings.gradle
index 23e54b0457..64eb246719 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -12,8 +12,8 @@ project(':qt').projectDir = new File(settingsDir, 'libraries/qt')
// Applications
//
-//include ':interface'
-//project(':interface').projectDir = new File(settingsDir, 'apps/interface')
+include ':interface'
+project(':interface').projectDir = new File(settingsDir, 'apps/interface')
include ':questInterface'
project(':questInterface').projectDir = new File(settingsDir, 'apps/questInterface')
@@ -22,8 +22,8 @@ project(':questInterface').projectDir = new File(settingsDir, 'apps/questInterfa
// Test projects
//
-//include ':framePlayer'
-//project(':framePlayer').projectDir = new File(settingsDir, 'apps/framePlayer')
+include ':framePlayer'
+project(':framePlayer').projectDir = new File(settingsDir, 'apps/framePlayer')
-//include ':questFramePlayer'
-//project(':questFramePlayer').projectDir = new File(settingsDir, 'apps/questFramePlayer')
+include ':questFramePlayer'
+project(':questFramePlayer').projectDir = new File(settingsDir, 'apps/questFramePlayer')
diff --git a/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp b/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp
index 138710ebe6..a407ab8e80 100644
--- a/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp
+++ b/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp
@@ -418,6 +418,10 @@ public:
#endif
};
+#ifndef GL_CLIP_DISTANCE0
+#define GL_CLIP_DISTANCE0 GL_CLIP_DISTANCE0_EXT
+#endif
+
#define GL_PROFILE_RANGE(category, name) \
PROFILE_RANGE(category, name); \
GlDuration glProfileRangeThis(name);
diff --git a/libraries/gpu/src/gpu/FrameReader.cpp b/libraries/gpu/src/gpu/FrameReader.cpp
index 00591ce78b..622263c2ee 100644
--- a/libraries/gpu/src/gpu/FrameReader.cpp
+++ b/libraries/gpu/src/gpu/FrameReader.cpp
@@ -380,6 +380,7 @@ ShaderPointer Deserializer::readShader(const json& node) {
// FIXME support procedural shaders
Shader::Type type = node[keys::type];
+ std::string name = node[keys::name];
uint32_t id = node[keys::id];
ShaderPointer result;
switch (type) {
@@ -395,6 +396,9 @@ ShaderPointer Deserializer::readShader(const json& node) {
default:
throw std::runtime_error("not implemented");
}
+ if (result->getSource().name != name) {
+ throw std::runtime_error("Bad name match");
+ }
return result;
}