public static HDCamera GetRenderHDCamera(PlanarReflectionProbe probe) { var camera = GetRenderCamera(); probe.frameSettings.CopyTo(s_RenderCameraData.GetFrameSettings()); return(HDCamera.Get(camera, null, probe.frameSettings)); }
static void SetupFrameSettings(HDAdditionalCameraData additionalData, HDProbe probe) { HDRenderPipelineAsset hdrp = GraphicsSettings.renderPipelineAsset as HDRenderPipelineAsset; if (probe.mode == ReflectionProbeMode.Realtime) { hdrp.GetRealtimeReflectionFrameSettings().CopyTo(additionalData.GetFrameSettings()); } else { hdrp.GetBakedOrCustomReflectionFrameSettings().CopyTo(additionalData.GetFrameSettings()); } if (probe.captureSettings.renderingPath == HDAdditionalCameraData.RenderingPath.Custom) { probe.frameSettings.Override(additionalData.GetFrameSettings()).CopyTo(additionalData.GetFrameSettings()); } }
void OnEnable() { m_SerializedCamera = new SerializedHDCamera(serializedObject); m_UIState.Reset(m_SerializedCamera, Repaint); m_PreviewCamera = EditorUtility.CreateGameObjectWithHideFlags("Preview Camera", HideFlags.HideAndDontSave, typeof(Camera)).GetComponent <Camera>(); m_PreviewAdditionalCameraData = m_PreviewCamera.gameObject.AddComponent <HDAdditionalCameraData>(); m_PreviewPostProcessLayer = m_PreviewCamera.gameObject.AddComponent <PostProcessLayer>(); m_PreviewCamera.enabled = false; m_PreviewHDCamera = new HDCamera(m_PreviewCamera); m_PreviewHDCamera.Update(m_PreviewPostProcessLayer, m_PreviewAdditionalCameraData.GetFrameSettings()); }
public void Render(PlanarReflectionProbe probe, RenderTexture target, Camera viewerCamera = null) { var renderCamera = GetRenderCamera(); // Copy current frameSettings of this probe to the HDAdditionalData of the render camera probe.frameSettings.CopyTo(s_RenderCameraData.GetFrameSettings()); renderCamera.targetTexture = target; SetupCameraForRender(renderCamera, probe, viewerCamera); GL.invertCulling = IsProbeCaptureMirrored(probe, viewerCamera); renderCamera.Render(); GL.invertCulling = false; renderCamera.targetTexture = null; target.IncrementUpdateCount(); }
public static HDCamera GetRenderHDCamera(PlanarReflectionProbe probe) { var camera = GetRenderCamera(); probe.frameSettings.CopyTo(s_RenderCameraData.GetFrameSettings()); var hdCamera = HDCamera.Get(camera); if (hdCamera == null) { // Warning: this is a bad design pattern. // An individual system should not create an HDCamera (which is a shared resource). hdCamera = HDCamera.Create(camera, null); } hdCamera.Update(probe.frameSettings, null, null); return(hdCamera); }