private void CreateCameraTargetTexture(Rect cameraRect, bool hdr)
{
bool flag = QualitySettings.activeColorSpace == ColorSpace.Linear;
int num = Mathf.Max(1, QualitySettings.antiAliasing);
if (this.IsSceneCameraDeferred())
{
num = 1;
}
RenderTextureFormat format = (!hdr || !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf)) ? RenderTextureFormat.ARGB32 : RenderTextureFormat.ARGBHalf;
if (this.m_SceneTargetTexture != null)
{
bool flag2 = (this.m_SceneTargetTexture != null) && (flag == this.m_SceneTargetTexture.sRGB);
if (((this.m_SceneTargetTexture.format != format) || (this.m_SceneTargetTexture.antiAliasing != num)) || !flag2)
{
Object.DestroyImmediate(this.m_SceneTargetTexture);
this.m_SceneTargetTexture = null;
}
}
Rect rect = Handles.GetCameraRect(cameraRect);
int width = (int) rect.width;
int height = (int) rect.height;
if (this.m_SceneTargetTexture == null)
{
this.m_SceneTargetTexture = new RenderTexture(0, 0, 0x18, format);
this.m_SceneTargetTexture.name = "SceneView RT";
this.m_SceneTargetTexture.antiAliasing = num;
this.m_SceneTargetTexture.hideFlags = HideFlags.HideAndDontSave;
}
if ((this.m_SceneTargetTexture.width != width) || (this.m_SceneTargetTexture.height != height))
{
this.m_SceneTargetTexture.Release();
this.m_SceneTargetTexture.width = width;
this.m_SceneTargetTexture.height = height;
}
this.m_SceneTargetTexture.Create();
}