Merge pull request #22422 from Faless/server_dummy_vr

Server platform builds (dummy) mobile_vr module.
This commit is contained in:
Rémi Verschelde 2018-09-28 09:38:25 +02:00 committed by GitHub
commit 1c60465c59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 3 deletions

View File

@ -297,6 +297,7 @@ bool MobileVRInterface::initialize() {
mag_current_min = Vector3(0, 0, 0);
mag_current_max = Vector3(0, 0, 0);
#if !defined(SERVER_ENABLED)
// build our shader
if (lens_shader == NULL) {
///@TODO need to switch between GLES2 and GLES3 version, Reduz suggested moving this into our drivers and making this a core shader
@ -337,6 +338,7 @@ bool MobileVRInterface::initialize() {
glBindVertexArray(0);
glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind
}
#endif
// reset our orientation
orientation = Basis();
@ -360,6 +362,7 @@ void MobileVRInterface::uninitialize() {
arvr_server->clear_primary_interface_if(this);
}
#if !defined(SERVER_ENABLED)
// cleanup our shader and buffers
if (lens_shader != NULL) {
glDeleteVertexArrays(1, &half_screen_array);
@ -368,6 +371,7 @@ void MobileVRInterface::uninitialize() {
delete lens_shader;
lens_shader = NULL;
}
#endif
initialized = false;
};
@ -470,6 +474,7 @@ void MobileVRInterface::commit_for_eye(ARVRInterface::Eyes p_eye, RID p_render_t
// get our render target
RID eye_texture = VSG::storage->render_target_get_texture(p_render_target);
uint32_t texid = VS::get_singleton()->texture_get_texid(eye_texture);
#if !defined(SERVER_ENABLED)
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texid);
@ -484,6 +489,7 @@ void MobileVRInterface::commit_for_eye(ARVRInterface::Eyes p_eye, RID p_render_t
glBindVertexArray(half_screen_array);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
glBindVertexArray(0);
#endif
};
void MobileVRInterface::process() {

View File

@ -34,7 +34,9 @@
#include "servers/arvr/arvr_interface.h"
#include "servers/arvr/arvr_positional_tracker.h"
#if !defined(SERVER_ENABLED)
#include "shaders/lens_distorted.glsl.gen.h"
#endif
/**
@author Bastiaan Olij <mux213@gmail.com>
@ -58,9 +60,13 @@ private:
float eye_height;
uint64_t last_ticks;
#if !defined(SERVER_ENABLED)
LensDistortedShaderGLES3 *lens_shader;
GLuint half_screen_quad;
GLuint half_screen_array;
#else
void *lens_shader;
#endif
real_t intraocular_dist;
real_t display_width;

View File

@ -29,9 +29,7 @@ def get_opts():
def get_flags():
return [
("module_mobile_vr_enabled", False),
]
return []
def configure(env):