using UnityEditor.Graphing; using UnityEditor.ShaderGraph.Internal; namespace UnityEditor.ShaderGraph { interface IMayRequirePositionPredisplacement { NeededCoordinateSpace RequiresPositionPredisplacement(ShaderStageCapability stageCapability = ShaderStageCapability.All); } static class MayRequirePositionPredisplacementExtensions { public static NeededCoordinateSpace RequiresPositionPredisplacement(this MaterialSlot slot) { var mayRequirePositionPredisplacement = slot as IMayRequirePositionPredisplacement; return mayRequirePositionPredisplacement != null ? mayRequirePositionPredisplacement.RequiresPositionPredisplacement() : NeededCoordinateSpace.None; } } }