// OnRenderImage is called after all rendering is complete to render image // https://docs.unity3d.com/ScriptReference/Graphics.Blit.html void OnRenderImage(RenderTexture src, RenderTexture dest) { if (_TargetCamera != null) { CubemapToDomeMaterial.SetInt("_IsFulldome", (_IsFulldome ? 1 : 0)); CubemapToDomeMaterial.SetFloat("_Horizon", horizon); CubemapToDomeMaterial.SetFloat("_DomeTilt", (_IsFulldome ? domeTilt : 0)); CubemapToDomeMaterial.SetInt("_Masked", (masked ? 1 : 0)); CubemapToDomeMaterial.SetVector("_Rotation", _Transform.rotation.eulerAngles); Graphics.Blit(_cubemapFbo, dest, CubemapToDomeMaterial); } }
IEnumerator RenderFrame() { yield return(new WaitForEndOfFrame()); // Render cubemap _TargetCamera.RenderToCubemap(_cubemapFbo, _FaceMask); //if (renderEquirect && cubemapFbo) //cubemapFbo.ConvertToEquirect(equirectFbo, Camera.MonoOrStereoscopicEye.Mono); CubemapToDomeMaterial.SetInt("_IsFulldome", (_IsFulldome ? 1 : 0)); CubemapToDomeMaterial.SetFloat("_Horizon", horizon); CubemapToDomeMaterial.SetFloat("_DomeTilt", (_IsFulldome ? domeTilt : 0)); CubemapToDomeMaterial.SetInt("_Masked", (masked ? 1 : 0)); CubemapToDomeMaterial.SetVector("_Rotation", _Transform.rotation.eulerAngles); Graphics.Blit(_cubemapFbo, domemasterFbo, CubemapToDomeMaterial); }