From fdf8501e81f15de54af09580449dd8add42fc96e Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 5 Apr 2017 00:02:40 +0200 Subject: [PATCH] Improve vr support and simulator --- examples/core/core_vr_simulator.c | 14 +++----------- src/rlgl.c | 9 +++++---- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/examples/core/core_vr_simulator.c b/examples/core/core_vr_simulator.c index 5e6c6446..5097fedc 100644 --- a/examples/core/core_vr_simulator.c +++ b/examples/core/core_vr_simulator.c @@ -1,16 +1,8 @@ /******************************************************************************************* * -* raylib [core] example - Oculus Rift CV1 +* raylib [core] example - VR Simulator (Oculus Rift CV1 parameters) * -* Compile example using: -* gcc -o $(NAME_PART).exe $(FILE_NAME) -I..\src\external -I..\src\external\OculusSDK\LibOVR\Include / -* -L. -L..\src\external\OculusSDK\LibOVR -lLibOVRRT32_1 -lraylib -lglfw3 -lopengl32 -lgdi32 -std=c99 / -* -Wl,-allow-multiple-definition -* -* #define SUPPORT_OCULUS_RIFT_CV1 / RLGL_OCULUS_SUPPORT -* Enable Oculus Rift CV1 functionality -* -* This example has been created using raylib 1.5 (www.raylib.com) +* This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * * Copyright (c) 2016 Ramon Santamaria (@raysan5) @@ -28,7 +20,7 @@ int main() // NOTE: screenWidth/screenHeight should match VR device aspect ratio - InitWindow(screenWidth, screenHeight, "raylib [core] example - oculus rift"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - vr simulator"); InitVrSimulator(HMD_OCULUS_RIFT_CV1); // Init VR simulator (Oculus Rift CV1 parameters) diff --git a/src/rlgl.c b/src/rlgl.c index 546fbe6e..5f7b6cb2 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -57,6 +57,7 @@ // Default configuration flags (supported features) //------------------------------------------------- #define SUPPORT_VR_SIMULATION +#define SUPPORT_DISTORTION_SHADER //------------------------------------------------- #include "rlgl.h" @@ -2240,7 +2241,7 @@ void *rlglReadTexturePixels(Texture2D texture) pixels = (unsigned char *)malloc(texture.width*texture.height*4*sizeof(unsigned char)); - // NOTE: Despite FBO color texture is RGB, we read data as RGBA... reading as RGB doesn't work... o__O + // NOTE: We read data as RGBA because FBO texture is configured as RGBA, despite binding a RGB texture... glReadPixels(0, 0, texture.width, texture.height, GL_RGBA, GL_UNSIGNED_BYTE, pixels); // Re-attach internal FBO color texture before deleting it @@ -2558,7 +2559,7 @@ void InitVrSimulator(int vrDevice) hmd.chromaAbCorrection[2] = 1.014f; // HMD chromatic aberration correction parameter 2 hmd.chromaAbCorrection[3] = 0.0f; // HMD chromatic aberration correction parameter 3 - TraceLog(WARNING, "Initializing VR Simulator (Oculus Rift DK2)"); + TraceLog(INFO, "Initializing VR Simulator (Oculus Rift DK2)"); } else if ((vrDevice == HMD_DEFAULT_DEVICE) || (vrDevice == HMD_OCULUS_RIFT_CV1)) { @@ -2585,11 +2586,11 @@ void InitVrSimulator(int vrDevice) hmd.chromaAbCorrection[2] = 1.014f; // HMD chromatic aberration correction parameter 2 hmd.chromaAbCorrection[3] = 0.0f; // HMD chromatic aberration correction parameter 3 - TraceLog(WARNING, "Initializing VR Simulator (Oculus Rift CV1)"); + TraceLog(INFO, "Initializing VR Simulator (Oculus Rift CV1)"); } else { - TraceLog(WARNING, "VR Simulator doesn't support current device yet,"); + TraceLog(WARNING, "VR Simulator doesn't support selected device parameters,"); TraceLog(WARNING, "using default VR Simulator parameters"); }