Browse Source

Improve vr support and simulator

pull/260/head
Ray 7 years ago
parent
commit
fdf8501e81
2 changed files with 8 additions and 15 deletions
  1. +3
    -11
      examples/core/core_vr_simulator.c
  2. +5
    -4
      src/rlgl.c

+ 3
- 11
examples/core/core_vr_simulator.c View File

@ -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)

+ 5
- 4
src/rlgl.c View File

@ -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");
}

Loading…
Cancel
Save