Example #1
0
void HMDVRDevice::setFieldOfView(VRFieldOfView* leftFov, VRFieldOfView* rightFov)
{
    m_dirtyFov = true;

    // FIXME: Clamp to maxFOV
    if (leftFov) {
        hardwareUnit()->setFieldOfView(VREyeLeft, leftFov);
        m_eyeParametersLeft->setCurrentFieldOfView(leftFov);
    } else {
        hardwareUnit()->setFieldOfView(VREyeLeft, m_eyeParametersLeft->recommendedFieldOfView());
        m_eyeParametersLeft->setCurrentFieldOfView(m_eyeParametersLeft->recommendedFieldOfView());
    }

    if (rightFov) {
        hardwareUnit()->setFieldOfView(VREyeRight, rightFov);
        m_eyeParametersLeft->setCurrentFieldOfView(rightFov);
    } else {
        hardwareUnit()->setFieldOfView(VREyeRight, m_eyeParametersRight->recommendedFieldOfView());
        m_eyeParametersRight->setCurrentFieldOfView(m_eyeParametersRight->recommendedFieldOfView());
    }
}
VRPositionState* PositionSensorVRDevice::getImmediateState()
{
    return hardwareUnit()->getSensorState();
}
VRPositionState* PositionSensorVRDevice::getState()
{
    // FIXME: This value should be stable for the duration of a requestAnimationFrame callback
    return hardwareUnit()->getSensorState();
}