Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 0 additions & 81 deletions EdgeDetect-PostProcessingUnity/EdgeDetectPostProcessing.cs

This file was deleted.

18 changes: 0 additions & 18 deletions EdgeDetect-PostProcessingUnity/EdgeDetect_AfterStack.cs

This file was deleted.

18 changes: 0 additions & 18 deletions EdgeDetect-PostProcessingUnity/EdgeDetect_BeforeStack.cs

This file was deleted.

18 changes: 0 additions & 18 deletions EdgeDetect-PostProcessingUnity/EdgeDetect_BeforeTransparent.cs

This file was deleted.

This file was deleted.

5 changes: 2 additions & 3 deletions EdgeDetect-PostProcessingUnity/Editor.meta → Editor.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

93 changes: 93 additions & 0 deletions Editor/EdgeDetectPostProcessing_Editor.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
//--------------------------------------------------------------------------------------------------------------------------------
// Port of the Legacy Unity "Edge Detect" image effect to Post Processing Stack v2
// Jean Moreno, 2017-2018
// Phill Damaskin, 2019
// Legacy Image Effect: https://docs.unity3d.com/550/Documentation/Manual/script-EdgeDetectEffectNormals.html
// Post Processing Stack v2: https://github.com/Unity-Technologies/PostProcessing/tree/v2
//--------------------------------------------------------------------------------------------------------------------------------

using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

namespace UnityEditor.Rendering.PostProcessing
{
public class EdgeDetectPostProcessing_Editor<T> : PostProcessEffectEditor<T> where T : EdgeDetectPostProcessing
{
SerializedParameterOverride mode;
SerializedParameterOverride sensitivityDepth;
SerializedParameterOverride sensitivityNormals;
SerializedParameterOverride lumThreshold;
SerializedParameterOverride edgeExp;
SerializedParameterOverride sampleDist;
SerializedParameterOverride edgesOnly;
SerializedParameterOverride edgesOnlyBgColor;
SerializedParameterOverride edgesColor;

GUIContent gc_mode = new GUIContent("Mode");
GUIContent gc_sensitivityDepth = new GUIContent("Depth Sensitivity");
GUIContent gc_sensitivityNormals = new GUIContent("Normals Sensitivity");
GUIContent gc_lumThreshold = new GUIContent("Luminance Threshold");
GUIContent gc_edgeExp = new GUIContent("Edge Exponent");
GUIContent gc_sampleDist = new GUIContent("Sample Distance");
GUIContent gc_edgesOnly = new GUIContent("Edges Only");
GUIContent gc_edgesOnlyBgColor = new GUIContent("Color");
GUIContent gc_edgesColor = new GUIContent("Edges Color");

string gc_description = "Detects spatial differences and converts into black outlines\n\nLegacy image effect from previous Unity versions ported to Post Processing v2";
GUIContent gc_background = new GUIContent("Background Options");

public override void OnEnable()
{
mode = FindParameterOverride(x => x.mode);
sensitivityDepth = FindParameterOverride(x => x.sensitivityDepth);
sensitivityNormals = FindParameterOverride(x => x.sensitivityNormals);
lumThreshold = FindParameterOverride(x => x.lumThreshold);
edgeExp = FindParameterOverride(x => x.edgeExp);
sampleDist = FindParameterOverride(x => x.sampleDist);
edgesOnly = FindParameterOverride(x => x.edgesOnly);
edgesOnlyBgColor = FindParameterOverride(x => x.edgesOnlyBgColor);
edgesColor = FindParameterOverride(x => x.edgesColor);
}

public override void OnInspectorGUI()
{
EditorGUILayout.HelpBox(gc_description, MessageType.None);

PropertyField(mode, gc_mode);

EdgeDetectPostProcessing.EdgeDetectMode edgeDetectMode = (EdgeDetectPostProcessing.EdgeDetectMode)mode.value.enumValueIndex;

if (RuntimeUtilities.scriptableRenderPipelineActive &&
(edgeDetectMode == EdgeDetectPostProcessing.EdgeDetectMode.RobertsCrossDepthNormals
|| edgeDetectMode == EdgeDetectPostProcessing.EdgeDetectMode.TriangleDepthNormals))
{
EditorGUILayout.HelpBox("Edge Detection effects that rely on Camera Depth + Normals texture don't work with scriptable render pipelines.", MessageType.Warning);
return;
}

PropertyField(sampleDist, gc_sampleDist);

if (mode.value.enumValueIndex < 2)
{
PropertyField(sensitivityDepth, gc_sensitivityDepth);
PropertyField(sensitivityNormals, gc_sensitivityNormals);
}
else if (mode.value.enumValueIndex < 4)
{
PropertyField(edgeExp, gc_edgeExp);
}
else
{
// lum based mode
PropertyField(lumThreshold, gc_lumThreshold);
}

EditorGUILayout.Space();

GUILayout.Label(gc_background);
PropertyField(edgesOnly, gc_edgesOnly);
PropertyField(edgesOnlyBgColor, gc_edgesOnlyBgColor);
PropertyField(edgesColor, gc_edgesColor);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
//--------------------------------------------------------------------------------------------------------------------------------
// Port of the Legacy Unity "Edge Detect" image effect to Post Processing Stack v2
// Jean Moreno, 2017-2018
// Phill Damaskin, 2019
// Legacy Image Effect: https://docs.unity3d.com/550/Documentation/Manual/script-EdgeDetectEffectNormals.html
// Post Processing Stack v2: https://github.com/Unity-Technologies/PostProcessing/tree/v2
//--------------------------------------------------------------------------------------------------------------------------------

using UnityEditor.Rendering.PostProcessing;
using UnityEngine.Rendering.PostProcessing;

[PostProcessEditor(typeof(EdgeDetect_AfterStack))]
public sealed class EdgeDetect_AfterStack_Editor : EdgeDetectPostProcessing_Editor<EdgeDetect_AfterStack> { }
namespace UnityEditor.Rendering.PostProcessing
{
[PostProcessEditor(typeof(EdgeDetect_AfterStack))]
public sealed class EdgeDetect_AfterStack_Editor : EdgeDetectPostProcessing_Editor<EdgeDetect_AfterStack> { }
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
//--------------------------------------------------------------------------------------------------------------------------------
// Port of the Legacy Unity "Edge Detect" image effect to Post Processing Stack v2
// Jean Moreno, 2017-2018
// Phill Damaskin, 2019
// Legacy Image Effect: https://docs.unity3d.com/550/Documentation/Manual/script-EdgeDetectEffectNormals.html
// Post Processing Stack v2: https://github.com/Unity-Technologies/PostProcessing/tree/v2
//--------------------------------------------------------------------------------------------------------------------------------

using UnityEditor.Rendering.PostProcessing;
using UnityEngine.Rendering.PostProcessing;

[PostProcessEditor(typeof(EdgeDetect_BeforeStack))]
public sealed class EdgeDetect_BeforeStack_Editor : EdgeDetectPostProcessing_Editor<EdgeDetect_BeforeStack> { }
namespace UnityEditor.Rendering.PostProcessing
{
[PostProcessEditor(typeof(EdgeDetect_BeforeStack))]
public sealed class EdgeDetect_BeforeStack_Editor : EdgeDetectPostProcessing_Editor<EdgeDetect_BeforeStack> { }
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
//--------------------------------------------------------------------------------------------------------------------------------
// Port of the Legacy Unity "Edge Detect" image effect to Post Processing Stack v2
// Jean Moreno, 2017-2018
// Phill Damaskin, 2019
// Legacy Image Effect: https://docs.unity3d.com/550/Documentation/Manual/script-EdgeDetectEffectNormals.html
// Post Processing Stack v2: https://github.com/Unity-Technologies/PostProcessing/tree/v2
//--------------------------------------------------------------------------------------------------------------------------------

using UnityEditor.Rendering.PostProcessing;
using UnityEngine.Rendering.PostProcessing;

[PostProcessEditor(typeof(EdgeDetect_BeforeTransparent))]
public sealed class EdgeDetect_BeforeTransparent_Editor : EdgeDetectPostProcessing_Editor<EdgeDetect_BeforeTransparent> { }
namespace UnityEditor.Rendering.PostProcessing
{
[PostProcessEditor(typeof(EdgeDetect_BeforeTransparent))]
public sealed class EdgeDetect_BeforeTransparent_Editor : EdgeDetectPostProcessing_Editor<EdgeDetect_BeforeTransparent> { }
}
Loading