using System; namespace UnityEngine.Experimental.ScriptableRenderLoop { public enum PackingRules { Exact, Aggressive }; [AttributeUsage(AttributeTargets.Struct | AttributeTargets.Class | AttributeTargets.Enum)] public class GenerateHLSL : System.Attribute { public PackingRules packingRules; public bool needAccessors; // Whether or not to generate the accessors public bool needParamDefines; // Wheter or not to generate define for each parameters of the struc public int paramDefinesStart; // Start of the generated define public GenerateHLSL(PackingRules rules = PackingRules.Exact, bool needAccessors = true, bool needParamDefines = false, int paramDefinesStart = 1) { packingRules = rules; this.needAccessors = needAccessors; this.needParamDefines = needParamDefines; this.paramDefinesStart = paramDefinesStart; } } [AttributeUsage(AttributeTargets.Field)] public class SurfaceDataAttributes : System.Attribute { public string displayName; public SurfaceDataAttributes(string displayName = "") { this.displayName = displayName; } } }