AxibugEmuOnline/AxibugEmuOnline.Client.PSVita/Assets/com.unity.postprocessing@2.3.0/PostProcessing/Editor/Effects/ScreenSpaceReflectionsEditor.cs

59 lines
2.3 KiB
C#

using UnityEngine;
using UnityEngine.Rendering.PostProcessing;
namespace UnityEditor.Rendering.PostProcessing
{
[PostProcessEditor(typeof(ScreenSpaceReflections))]
internal sealed class ScreenSpaceReflectionsEditor : PostProcessEffectEditor<ScreenSpaceReflections>
{
SerializedParameterOverride m_Preset;
SerializedParameterOverride m_MaximumIterationCount;
SerializedParameterOverride m_Thickness;
SerializedParameterOverride m_Resolution;
SerializedParameterOverride m_MaximumMarchDistance;
SerializedParameterOverride m_DistanceFade;
SerializedParameterOverride m_Vignette;
public override void OnEnable()
{
m_Preset = FindParameterOverride(x => x.preset);
m_MaximumIterationCount = FindParameterOverride(x => x.maximumIterationCount);
m_Thickness = FindParameterOverride(x => x.thickness);
m_Resolution = FindParameterOverride(x => x.resolution);
m_MaximumMarchDistance = FindParameterOverride(x => x.maximumMarchDistance);
m_DistanceFade = FindParameterOverride(x => x.distanceFade);
m_Vignette = FindParameterOverride(x => x.vignette);
}
public override void OnInspectorGUI()
{
if (RuntimeUtilities.scriptableRenderPipelineActive)
{
EditorGUILayout.HelpBox("This effect doesn't work with scriptable render pipelines yet.", MessageType.Warning);
return;
}
if (Camera.main != null && Camera.main.actualRenderingPath != RenderingPath.DeferredShading)
EditorGUILayout.HelpBox("This effect only works with the deferred rendering path.", MessageType.Warning);
if (!SystemInfo.supportsComputeShaders)
EditorGUILayout.HelpBox("This effect requires compute shader support.", MessageType.Warning);
PropertyField(m_Preset);
if (m_Preset.value.intValue == (int)ScreenSpaceReflectionPreset.Custom)
{
PropertyField(m_MaximumIterationCount);
PropertyField(m_Thickness);
PropertyField(m_Resolution);
EditorGUILayout.Space();
}
PropertyField(m_MaximumMarchDistance);
PropertyField(m_DistanceFade);
PropertyField(m_Vignette);
}
}
}