protected override void CheckCubemapTexture() { if (renderTarget != null && (!renderTarget.IsCube || !renderTarget.IsValid(CubemapSize, CubemapSize))) { renderTarget.Release(); renderTarget = null; } if (renderTarget == null) { renderTarget = SensorRenderTarget.CreateCube(CubemapSize, CubemapSize, faceMask); SensorCamera.targetTexture = null; } }
void CheckTexture() { var targetWidth = -1; var targetHeight = -1; if (Distorted) { // Distorted + fisheye - render to cubemap, then distort to sensor-sized texture if (Fisheye) { if (renderTarget != null && (!renderTarget.IsCube || !renderTarget.IsValid(CubemapSize, CubemapSize))) { renderTarget.Release(); renderTarget = null; } if (renderTarget == null) { renderTarget = SensorRenderTarget.CreateCube(CubemapSize, CubemapSize, faceMask); SensorCamera.targetTexture = null; } } // Distorted - render to larger texture, then distort to sensor-sized one else { targetWidth = LensDistortion.ActualWidth; targetHeight = LensDistortion.ActualHeight; } if (DistortedHandle != null && !DistortedHandle.IsValid(Width, Height)) { DistortedHandle.Release(); DistortedHandle = null; } if (DistortedHandle == null) { DistortedHandle = SensorRenderTarget.Create2D(Width, Height, GraphicsFormat.R8G8B8A8_SRGB, true); } } else { // Undistorted - use only sensor-sized texture if (DistortedHandle != null) { DistortedHandle.Release(); DistortedHandle = null; } targetWidth = Width; targetHeight = Height; } if (targetWidth > 0) { if (renderTarget != null && !renderTarget.IsValid(targetWidth, targetHeight)) { renderTarget.Release(); renderTarget = null; } if (renderTarget == null) { renderTarget = SensorRenderTarget.Create2D(targetWidth, targetHeight, GraphicsFormat.R8G8B8A8_SRGB, !Distorted); SensorCamera.targetTexture = renderTarget; } } }