![]() |
SLProject 4.0.000
|
Wrapper around Oculus Rift Devkit 2. More...
#include <SLGLOculus.h>
Public Member Functions | |
| SLGLOculus (SLstring shaderDir) | |
| ~SLGLOculus () | |
| void | init () |
| const SLQuat4f & | orientation (SLEyeType eye) |
| const SLVec3f & | position (SLEyeType eye) |
| const SLVec3f & | viewAdjust (SLEyeType eye) |
| const SLMat4f & | projection (SLEyeType eye) |
| const SLMat4f & | orthoProjection (SLEyeType eye) |
| SLfloat | resolutionScale () |
| void | renderResolution (SLint width, SLint height) |
| void | beginFrame () |
| void | renderDistortion (SLint width, SLint height, SLuint tex, const SLCol4f &background) |
| void | lowPersistance (SLbool val) |
| void | timeWarp (SLbool val) |
| void | positionTracking (SLbool val) |
| void | displaySleep (SLbool val) |
| SLbool | isConnected () |
| SLbool | isCameraConnected () |
| SLbool | isPositionTracked () |
| SLbool | isPositionTrackingEnabled () |
| SLbool | isLowPersistanceEnabled () |
| SLbool | isTimeWarpEnabled () |
Private Member Functions | |
| void | dispose () |
| void | calculateHmdValues () |
| recalculate HMD settings changed More... | |
Private Attributes | |
| SLVec2i | _outputRes |
| output resolution used for ortho projection More... | |
| SLQuat4f | _orientation [2] |
| eye orientation More... | |
| SLVec3f | _position [2] |
| eye position More... | |
| SLMat4f | _projection [2] |
| projection matrices for left and right eye More... | |
| SLMat4f | _orthoProjection [2] |
| projection for 2d elements More... | |
| SLVec3f | _viewAdjust [2] |
| view adjust vector More... | |
| SLGLVertexArray | _distortionMeshVAO [2] |
| distortion meshes for left and right eye More... | |
| SLfloat | _resolutionScale |
| required resolution scale for a 1.0 min pixel density More... | |
| SLbool | _usingDebugHmd |
| we're using a debug HMD More... | |
| SLbool | _positionTrackingEnabled |
| is position tracking enabled More... | |
| SLbool | _lowPersistanceEnabled |
| low persistence rendering enabled More... | |
| SLbool | _timeWarpEnabled |
| time warp correction enabled More... | |
| SLbool | _displaySleep |
| is the display of the rift currently off More... | |
| SLbool | _isConnected |
| is HMD connected More... | |
| SLbool | _isCameraConnected |
| is position tracker camera connected More... | |
| SLbool | _isPositionTracked |
| is the position tracked (false if out of range) More... | |
| SLVec2i | _resolution |
| Resolution of the HMD. More... | |
| SLVec2i | _rtSize |
| Required resolution for the render target. More... | |
| SLbool | _hmdSettingsChanged |
| settings need to be updated flag More... | |
| SLGLProgram * | _stereoOculusDistProgram = nullptr |
| SLstring | _shaderFileDir |
Wrapper around Oculus Rift Devkit 2.
This class is depricated since the lib_ovr from Oculus completely changed The lib_ovr that connects the Oculus hardware was removed since it only worked for devkit2 under windows.
| SLGLOculus::SLGLOculus | ( | SLstring | shaderDir | ) |
Constructor initializing with default values
| SLGLOculus::~SLGLOculus | ( | ) |
Destructor calling dispose
| void SLGLOculus::beginFrame | ( | ) |
Updates rift status and collects data for timewarp
|
private |
recalculate HMD settings changed
Recalculates values such as projection or render target size This function gets called whenever some settings changed.
| void SLGLOculus::displaySleep | ( | SLbool | val | ) |
enable or disable position tracking
|
private |
Deletes the buffer object
| void SLGLOculus::init | ( | ) |
Initialization of the Oculus Rift SDK and the device recognition.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void SLGLOculus::lowPersistance | ( | SLbool | val | ) |
enable or disable low persistance
Returns the Oculus orientation as quaternion. If no Oculus Rift is recognized it returns a unit quaternion.
Returns an orthogonal projection matrix for the specified eye
| void SLGLOculus::positionTracking | ( | SLbool | val | ) |
enable or disable position tracking
Returns an perspective projection matrix for the specified eye
| void SLGLOculus::renderDistortion | ( | SLint | width, |
| SLint | height, | ||
| SLuint | tex, | ||
| const SLCol4f & | background | ||
| ) |
Renders the distortion mesh with time warp and chromatic abberation
Specify the final output resolution for this rift
|
inline |
| void SLGLOculus::timeWarp | ( | SLbool | val | ) |
enable or disable timewarp
Returns the view adjust vector as reported by the HMD for the specified eye
|
private |
is the display of the rift currently off
|
private |
distortion meshes for left and right eye
|
private |
settings need to be updated flag
|
private |
is position tracker camera connected
|
private |
is HMD connected
|
private |
is the position tracked (false if out of range)
|
private |
low persistence rendering enabled
|
private |
eye orientation
|
private |
projection for 2d elements
|
private |
output resolution used for ortho projection
|
private |
eye position
|
private |
is position tracking enabled
|
private |
projection matrices for left and right eye
|
private |
Resolution of the HMD.
|
private |
required resolution scale for a 1.0 min pixel density
|
private |
Required resolution for the render target.
|
private |
|
private |
|
private |
time warp correction enabled
|
private |
we're using a debug HMD
|
private |
view adjust vector