private void DoRenderPreview()
{
if ((this.m_PreviewUtility.m_RenderTexture.width > 0) && (this.m_PreviewUtility.m_RenderTexture.height > 0))
{
Color color;
Material target = this.target as Material;
PreviewType previewType = GetPreviewType(target);
this.m_PreviewUtility.m_Camera.transform.position = (Vector3) (-Vector3.forward * 5f);
this.m_PreviewUtility.m_Camera.transform.rotation = Quaternion.identity;
if (this.m_LightMode == 0)
{
this.m_PreviewUtility.m_Light[0].intensity = 1f;
this.m_PreviewUtility.m_Light[0].transform.rotation = Quaternion.Euler(30f, 30f, 0f);
this.m_PreviewUtility.m_Light[1].intensity = 0f;
color = new Color(0.2f, 0.2f, 0.2f, 0f);
}
else
{
this.m_PreviewUtility.m_Light[0].intensity = 1f;
this.m_PreviewUtility.m_Light[0].transform.rotation = Quaternion.Euler(50f, 50f, 0f);
this.m_PreviewUtility.m_Light[1].intensity = 1f;
color = new Color(0.2f, 0.2f, 0.2f, 0f);
}
InternalEditorUtility.SetCustomLighting(this.m_PreviewUtility.m_Light, color);
Quaternion identity = Quaternion.identity;
if (DoesPreviewAllowRotation(previewType))
{
identity = Quaternion.Euler(this.m_PreviewDir.y, 0f, 0f) * Quaternion.Euler(0f, this.m_PreviewDir.x, 0f);
}
Mesh mesh = s_Meshes[this.m_SelectedMesh];
switch (previewType)
{
case PreviewType.Mesh:
this.m_PreviewUtility.m_Camera.transform.position = (Vector3) (Quaternion.Inverse(identity) * this.m_PreviewUtility.m_Camera.transform.position);
this.m_PreviewUtility.m_Camera.transform.LookAt(Vector3.zero);
identity = Quaternion.identity;
break;
case PreviewType.Plane:
mesh = s_PlaneMesh;
break;
case PreviewType.Skybox:
mesh = null;
this.m_PreviewUtility.m_Camera.transform.rotation = Quaternion.Inverse(identity);
this.m_PreviewUtility.m_Camera.fieldOfView = 120f;
break;
}
if (mesh != null)
{
this.m_PreviewUtility.DrawMesh(mesh, Vector3.zero, identity, target, 0, null, this.m_ReflectionProbePicker.Target);
}
bool fog = RenderSettings.fog;
Unsupported.SetRenderSettingsUseFogNoDirty(false);
this.m_PreviewUtility.m_Camera.Render();
if (previewType == PreviewType.Skybox)
{
GL.sRGBWrite = QualitySettings.activeColorSpace == ColorSpace.Linear;
InternalEditorUtility.DrawSkyboxMaterial(target, this.m_PreviewUtility.m_Camera);
GL.sRGBWrite = false;
}
Unsupported.SetRenderSettingsUseFogNoDirty(fog);
InternalEditorUtility.RemoveCustomLighting();
}
}