PsychOculusVRCore - A Psychtoolbox driver for Oculus VR hardware.

This driver allows to control Oculus Rift DK1/DK2 and hopefully in the future also future Oculus devices.

The PsychOculusVRCore driver is licensed to you under the terms of the MIT license.
See ‘help License.txt’ in the Psychtoolbox root folder for more details.

The driver currently requires the Oculus VR runtime version to work.


Functions used by regular user scripts:

oldVerbosity = PsychOculusVRCore(‘Verbosity’ [, verbosity]);
numHMDs = PsychOculusVRCore(‘GetCount’);
[oculusPtr, modelName] = PsychOculusVRCore(‘Open’ [, deviceIndex=0]);
PsychOculusVRCore(‘Close’ [, oculusPtr]);
showHSW = PsychOculusVRCore(‘GetHSWState’, oculusPtr [, dismiss]);
oldPersistence = PsychOculusVRCore(‘SetLowPersistence’, oculusPtr [, lowPersistence]);
oldDynamicPrediction = PsychOculusVRCore(‘SetDynamicPrediction’, oculusPtr [, dynamicPrediction]);
PsychOculusVRCore(‘Start’, oculusPtr);
PsychOculusVRCore(‘Stop’, oculusPtr);
state = PsychOculusVRCore(‘GetTrackingState’, oculusPtr [, predictionTime=0]);
[projL, projR] = PsychOculusVRCore(‘GetStaticRenderParameters’, oculusPtr [, clipNear=0.01][, clipFar=10000.0]);
[eyePoseL, eyePoseR, tracked, frameTiming] = PsychOculusVRCore(‘StartRender’, oculusPtr);
[eyePose, eyeIndex] = PsychOculusVRCore(‘GetEyePose’, oculusPtr, renderPass);

Functions usually only used internally by Psychtoolbox:

[width, height, fovPort] = PsychOculusVRCore(‘GetFovTextureSize’, oculusPtr, eye [, fov=[HMDRecommended]][, pixelsPerDisplay=1]);
[width, height, viewPx, viewPy, viewPw, viewPh, pptax, pptay, hmdShiftx, hmdShifty, hmdShiftz, meshVertices, meshIndices, uvScaleX, uvScaleY, uvOffsetX, uvOffsetY] = PsychOculusVRCore(‘GetUndistortionParameters’, oculusPtr, eye [, inputWidth][, inputHeight][, fov]);
[eyeRotStartMatrix, eyeRotEndMatrix] = PsychOculusVRCore(‘GetEyeTimewarpMatrices’, oculusPtr, eye [, waitForTimewarpPoint=0]);
PsychOculusVRCore(‘EndFrameTiming’, oculusPtr);
result = PsychOculusVRCore(‘LatencyTester’, oculusPtr, cmd);