// Start new void Start() { base.Start(); // Get the OVRCameraController CameraController = gameObject.transform.parent.GetComponent <OVRCameraController>(); if (CameraController == null) { Debug.LogWarning("WARNING: OVRCameraController not found!"); } // NOTE: MSAA TEXTURES NOT AVAILABLE YET // Set CameraTextureScale (increases the size of the texture we are rendering into // for a better pixel match when post processing the image through lens distortion) #if MSAA_ENABLED CameraTextureScale = OVRDevice.DistortionScale(); #endif // If CameraTextureScale is not 1.0f, create a new texture and assign to target texture // Otherwise, fall back to normal camera rendering if ((CameraTexture == null) && (CameraTextureScale > 1.0f)) { int w = (int)(Screen.width / 2.0f * CameraTextureScale); int h = (int)(Screen.height * CameraTextureScale); CameraTexture = new RenderTexture(w, h, 24); #if MSAA_ENABLED // NOTE: AA on RenderTexture not available yet //CameraTexture.antiAliasing = QualitySettings.antiAliasing; #endif } }
// Start new void Start() { base.Start(); // NOTE: MSAA TEXTURES NOT AVAILABLE YET // Set CameraTextureScale (increases the size of the texture we are rendering into // for a better pixel match when post processing the image through lens distortion) #if MSAA_ENABLED CameraTextureScale = OVRDevice.DistortionScale(); #endif // If CameraTextureScale is not 1.0f, create a new texture and assign to target texture // Otherwise, fall back to normal camera rendering if ((CameraTexture == null) && (CameraTextureScale > 1.0f)) { int w = (int)(Screen.width / 2.0f * CameraTextureScale); int h = (int)(Screen.height * CameraTextureScale); CameraTexture = new RenderTexture(w, h, 24); // 24 bit colorspace // NOTE: MSAA TEXTURES NOT AVAILABLE YET // This value should be the default for MSAA textures //CameraTexture.antiAliasing = 2; // Set it within the project #if MSAA_ENABLED CameraTexture.antiAliasing = QualitySettings.antiAliasing; #endif } }
// SetCameraLensCorrection void ConfigureCameraLensCorrection(ref Camera camera) { // Get the distortion scale and aspect ratio to use when calculating distortion shader float distortionScale = 1.0f / OVRDevice.DistortionScale(); float aspectRatio = OVRDevice.CalculateAspectRatio(); // These values are different in the SDK World Demo; Unity renders each camera to a buffer // that is normalized, so we will respect this rule when calculating the distortion inputs float NormalizedWidth = 1.0f; float NormalizedHeight = 1.0f; OVRLensCorrection lc = camera.GetComponent <OVRLensCorrection>(); lc._Scale.x = (NormalizedWidth / 2.0f) * distortionScale; lc._Scale.y = (NormalizedHeight / 2.0f) * distortionScale * aspectRatio; lc._ScaleIn.x = (2.0f / NormalizedWidth); lc._ScaleIn.y = (2.0f / NormalizedHeight) / aspectRatio; lc._HmdWarpParam.x = DistK0; lc._HmdWarpParam.y = DistK1; lc._HmdWarpParam.z = DistK2; }