mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-11 14:44:36 +00:00
Oculus Rift Improvements
- Now requires OVR SDK 0.2.5 - New chromatic aberration correction shader. Can be disabled by setting $pref::OculusVR::UseChromaticAberrationCorrection to false prior to enabling Rift display (such as for screen shots). - FXAA on by default when using full screen on the Rift. - Can now manually override IPD from script. Otherwise value set in profile is used. - Raw sensor data now available through input events (set $OculusVR::GenerateSensorRawEvents to true) and console methods. The raw data is acceleration, angular velocity, and magnetometer reading. - Can determine if magnetometer calibration data is available using a console method in order to notify the user.
This commit is contained in:
parent
8d2fcf2456
commit
85730dfb59
18 changed files with 985 additions and 20 deletions
|
|
@ -44,6 +44,10 @@ public:
|
|||
// If no HMD is present simulate it being available
|
||||
static bool smSimulateHMD;
|
||||
|
||||
// Use the chromatic aberration correction version of the barrel
|
||||
// distortion shader.
|
||||
static bool smUseChromaticAberrationCorrection;
|
||||
|
||||
// Type of rotation events to broadcast
|
||||
static bool smGenerateAngleAxisRotationEvents;
|
||||
static bool smGenerateEulerRotationEvents;
|
||||
|
|
@ -55,6 +59,9 @@ public:
|
|||
// as measured from a vector pointing straight up (in degrees)
|
||||
static F32 smMaximumAxisAngle;
|
||||
|
||||
// Broadcast sensor raw data: acceleration, angular velocity, magnetometer reading
|
||||
static bool smGenerateSensorRawEvents;
|
||||
|
||||
// Indicates that a whole frame event should be generated and frames
|
||||
// should be buffered.
|
||||
static bool smGenerateWholeFrameEvents;
|
||||
|
|
@ -131,14 +138,24 @@ public:
|
|||
// HMDs
|
||||
U32 getHMDCount() const { return mHMDDevices.size(); }
|
||||
const OculusVRHMDDevice* getHMDDevice(U32 index) const;
|
||||
F32 getHMDCurrentIPD(U32 index);
|
||||
void setHMDCurrentIPD(U32 index, F32 ipd);
|
||||
|
||||
// Sensors
|
||||
U32 getSensorCount() const { return mSensorDevices.size(); }
|
||||
const OculusVRSensorDevice* getSensorDevice(U32 index) const;
|
||||
EulerF getSensorEulerRotation(U32 index);
|
||||
VectorF getSensorAcceleration(U32 index);
|
||||
EulerF getSensorAngularVelocity(U32 index);
|
||||
VectorF getSensorMagnetometer(U32 index);
|
||||
F32 getSensorPredictionTime(U32 index);
|
||||
void setSensorPredictionTime(U32 index, F32 dt);
|
||||
void setAllSensorPredictionTime(F32 dt);
|
||||
bool getSensorGravityCorrection(U32 index);
|
||||
void setSensorGravityCorrection(U32 index, bool state);
|
||||
bool getSensorYawCorrection(U32 index);
|
||||
void setSensorYawCorrection(U32 index, bool state);
|
||||
bool getSensorMagnetometerCalibrated(U32 index);
|
||||
void resetAllSensors();
|
||||
|
||||
public:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue