private void UpdateProfile() { GetProfile(profileData); CardboardProfile.Device device = new CardboardProfile.Device(); CardboardProfile.Screen screen = new CardboardProfile.Screen(); device.maxFOV.outer = profileData[0]; device.maxFOV.upper = profileData[1]; device.maxFOV.inner = profileData[2]; device.maxFOV.lower = profileData[3]; screen.width = profileData[4]; screen.height = profileData[5]; screen.border = profileData[6]; device.lenses.separation = profileData[7]; device.lenses.offset = profileData[8]; device.lenses.screenDistance = profileData[9]; device.lenses.alignment = (int)profileData[10]; device.distortion.Coef = new [] { profileData[11], profileData[12] }; Profile.screen = screen; Profile.device = device; float[] rect = new float[4]; Profile.GetLeftEyeNoLensTanAngles(rect); float maxRadius = CardboardProfile.GetMaxRadius(rect); Profile.device.inverse = CardboardProfile.ApproximateInverse( Profile.device.distortion, maxRadius); }
private void UpdateScreenDataFromActivity() { CardboardProfile.Device device = new CardboardProfile.Device(); CardboardProfile.Screen screen = new CardboardProfile.Screen(); float[] lensData = null; if (CallActivityMethod(ref lensData, "getLensParameters")) { device.lenses.separation = lensData[0]; device.lenses.offset = lensData[1]; device.lenses.screenDistance = lensData[2]; device.lenses.alignment = (int)lensData[3]; } float[] screenSize = null; if (CallActivityMethod(ref screenSize, "getScreenSizeMeters")) { screen.width = screenSize[0]; screen.height = screenSize[1]; screen.border = screenSize[2]; } float[] distCoeff = null; if (CallActivityMethod(ref distCoeff, "getDistortionCoefficients")) { device.distortion.k1 = distCoeff[0]; device.distortion.k2 = distCoeff[1]; } float[] invDistCoeff = null; if (CallActivityMethod(ref invDistCoeff, "getInverseDistortionCoefficients")) { device.inverse.k1 = invDistCoeff[0]; device.inverse.k2 = invDistCoeff[1]; } float[] maxFov = null; if (CallActivityMethod(ref maxFov, "getLeftEyeMaximumFOV")) { device.maxFOV.outer = maxFov[0]; device.maxFOV.upper = maxFov[1]; device.maxFOV.inner = maxFov[2]; device.maxFOV.lower = maxFov[3]; } Profile = new CardboardProfile { screen = screen, device = device }; }
private void UpdateProfile() { GetProfile(profileData); CardboardProfile.Device device = new CardboardProfile.Device(); CardboardProfile.Screen screen = new CardboardProfile.Screen(); device.maxFOV.outer = profileData[0]; device.maxFOV.upper = profileData[1]; device.maxFOV.inner = profileData[2]; device.maxFOV.lower = profileData[3]; screen.width = profileData[4]; screen.height = profileData[5]; screen.border = profileData[6]; device.lenses.separation = profileData[7]; device.lenses.offset = profileData[8]; device.lenses.screenDistance = profileData[9]; device.lenses.alignment = (int)profileData[10]; device.distortion.k1 = profileData[11]; device.distortion.k2 = profileData[12]; device.inverse = CardboardProfile.ApproximateInverse(device.distortion); Profile.screen = screen; Profile.device = device; }
public override void UpdateScreenData() { CardboardProfile.Device device = new CardboardProfile.Device(); CardboardProfile.Screen screen = new CardboardProfile.Screen(); float[] lensData = null; if (CallObjectMethod(ref lensData, androidActivity, "getLensParameters")) { device.lenses.separation = lensData[0]; device.lenses.offset = lensData[1]; device.lenses.screenDistance = lensData[2]; device.lenses.alignment = (int)lensData[3]; } float[] screenSize = null; if (CallObjectMethod(ref screenSize, androidActivity, "getScreenSizeMeters")) { screen.width = screenSize[0]; screen.height = screenSize[1]; screen.border = screenSize[2]; } float[] distCoeff = null; if (CallObjectMethod(ref distCoeff, androidActivity, "getDistortionCoefficients")) { device.distortion.k1 = distCoeff[0]; device.distortion.k2 = distCoeff[1]; } float[] invDistCoeff = null; if (CallObjectMethod(ref invDistCoeff, androidActivity, "getInverseDistortionCoefficients")) { device.inverse.k1 = invDistCoeff[0]; device.inverse.k2 = invDistCoeff[1]; } float[] maxFov = null; if (CallObjectMethod(ref maxFov, androidActivity, "getLeftEyeMaximumFOV")) { device.maxFOV.outer = maxFov[0]; device.maxFOV.upper = maxFov[1]; device.maxFOV.inner = maxFov[2]; device.maxFOV.lower = maxFov[3]; } Profile.screen = screen; Profile.device = device; }