void Start() { matrixConverter = new OVR_Utils.RigidTransform(transform); ResetTexture(); if (Application.isPlaying) { // Check for Unity_SteamVR_Handler Unity_SteamVR_Handler[] handlers = FindObjectsOfType(typeof(Unity_SteamVR_Handler)) as Unity_SteamVR_Handler[]; if (handlers.Length < 1) { Instantiate(steamVRHandlerPrefab); } ovrHandler = OVR_Handler.instance; overlay = new OVR_Overlay(); matrixConverter = new OVR_Utils.RigidTransform(transform); overlay.overlayTextureType = SystemInfo.graphicsDeviceVersion.StartsWith("OpenGL") ? ETextureType.OpenGL : ETextureType.DirectX; overlay.overlayKey = overlayKey; overlay.overlayName = overlayName; if (isDashboardOverlay) { overlay.overlayIsDashboard = true; } textureBounds.uMin = 0; textureBounds.vMin = 1; textureBounds.uMax = 1; textureBounds.vMax = 0; // Testing out some event based stuff overlay.onVisibilityChange += (b) => { ovrHandler.onOverlayAppChange(b); }; overlay.onVisibilityChange += OnVisChange; ovrHandler.onDashboardChange += OnDashBoardChange; if (canvasGraphicsCaster && cameraForTexture) { Canvas can = canvasGraphicsCaster.gameObject.GetComponent <Canvas>(); can.worldCamera = cameraForTexture; } } }
public bool DeregisterOverlay(OVR_Overlay overlay) { return(overlays.Remove(overlay)); }
public bool RegisterOverlay(OVR_Overlay overlay) { return(overlays.Add(overlay)); }
void Start() { matrixConverter = new OVR_Utils.RigidTransform(transform); if (cameraForTexture != null) { int width = renderTexWidthOverride != 0 ? renderTexWidthOverride : (int)(cameraForTexture.pixelWidth); int height = renderTexHeightOverride != 0 ? renderTexHeightOverride : (int)(cameraForTexture.pixelHeight); if (!dontForceRenderTexture) { cameraForTexture.enabled = false; } cameraTexture = new RenderTexture(width, height, 24); cameraTexture.name = "Overlay RenderTexture"; if (highQualityRenderTex) { cameraTexture.antiAliasing = 8; cameraTexture.filterMode = FilterMode.Trilinear; } if (!dontForceRenderTexture) { cameraForTexture.targetTexture = cameraTexture; } overlayTexture = cameraTexture; } if (Application.isPlaying) { // Check for Unity_SteamVR_Handler Unity_SteamVR_Handler[] handlers = FindObjectsOfType(typeof(Unity_SteamVR_Handler)) as Unity_SteamVR_Handler[]; if (handlers.Length < 1) { Instantiate(steamVRHandlerPrefab); } ovrHandler = OVR_Handler.instance; overlay = new OVR_Overlay(); matrixConverter = new OVR_Utils.RigidTransform(transform); overlay.overlayTextureType = SystemInfo.graphicsDeviceVersion.StartsWith("OpenGL") ? ETextureType.OpenGL : ETextureType.DirectX; overlay.overlayKey = overlayKey; overlay.overlayName = overlayName; if (isDashboardOverlay) { overlay.overlayIsDashboard = true; } textureBounds.uMin = 0; textureBounds.vMin = 1; textureBounds.uMax = 1; textureBounds.vMax = 0; // Testing out some event based stuff overlay.onVisibilityChange += OnVisChange; ovrHandler.onDashboardChange += OnDashBoardChange; if (canvasGraphicsCaster && cameraForTexture) { Canvas can = canvasGraphicsCaster.gameObject.GetComponent <Canvas>(); can.worldCamera = cameraForTexture; } } }