private void OnRenderImage(RenderTexture src, RenderTexture dest) { Graphics.Blit(src, dest, blitMaterial); if (SteamVR_Camera.doomp) { SteamVR_Camera.DumpRenderTexture(src, Application.streamingAssetsPath + "/CameraFlip_OnRenderImage_src.png"); } if (SteamVR_Camera.doomp) { Debug.Log(Time.frameCount.ToString() + "/CameraFlip_OnRenderImage"); SteamVR_Camera.DumpRenderTexture(dest, Application.streamingAssetsPath + "/CameraFlip_OnRenderImage_dst.png"); } }
void RenderEye(SteamVR vr, EVREye eye) { eyePreRenderCallback?.Invoke(eye); int i = (int)eye; SteamVR_Render.eye = eye; if (cameraMask != null) { cameraMask.Set(vr, eye); } foreach (var c in cameras) { c.transform.localPosition = vr.eyes[i].pos; c.transform.localRotation = vr.eyes[i].rot; // Update position to keep from getting culled cameraMask.transform.position = c.transform.position; var camera = c.camera; camera.targetTexture = SteamVR_Camera.GetSceneTexture(camera.allowHDR); int cullingMask = camera.cullingMask; if (eye == EVREye.Eye_Left) { camera.cullingMask &= ~rightMask; camera.cullingMask |= leftMask; } else { camera.cullingMask &= ~leftMask; camera.cullingMask |= rightMask; } camera.Render(); if (SteamVR_Camera.doomp) { Debug.Log(Time.frameCount.ToString() + $"/Render{eye}_OnRenderImage_src.png"); SteamVR_Camera.DumpRenderTexture(camera.targetTexture, Application.streamingAssetsPath + $"/Render{eye}_OnRenderImage_src.png"); } camera.cullingMask = cullingMask; } eyePostRenderCallback?.Invoke(eye); }