您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
53 行
1.7 KiB
53 行
1.7 KiB
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 enum Semantic
|
|
{
|
|
None,
|
|
Normal,
|
|
Tangent,
|
|
Opacity,
|
|
AmbientOcclusion,
|
|
}
|
|
|
|
public string displayName { get; private set; }
|
|
public int priority { get; private set; }
|
|
public int[] filter { get; private set; }
|
|
public Semantic semantic { get; private set; }
|
|
|
|
public SurfaceDataAttributes(string _displayName = "", int _priority = 0, int[] _filter = null, Semantic _semantic = Semantic.None)
|
|
{
|
|
displayName = _displayName;
|
|
priority = _priority;
|
|
filter = _filter;
|
|
semantic = _semantic;
|
|
}
|
|
}
|
|
}
|