您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

28 行
1.0 KiB

namespace UnityEditor.ShaderGraph
{
public enum ScreenSpaceType
{
Default,
Raw,
Center,
Tiled
};
public static class ScreenSpaceTypeExtensions
{
public static string ToValueAsVariable(this ScreenSpaceType screenSpaceType)
{
switch (screenSpaceType)
{
case ScreenSpaceType.Raw:
return string.Format("IN.{0}", ShaderGeneratorNames.ScreenPosition);
case ScreenSpaceType.Center:
return string.Format("float4(IN.{0}.xy / IN.{0}.w * 2 - 1, 0, 0)", ShaderGeneratorNames.ScreenPosition);
case ScreenSpaceType.Tiled:
return string.Format("frac(float4((IN.{0}.x / IN.{0}.w * 2 - 1) * _ScreenParams.x / _ScreenParams.y, IN.{0}.y / IN.{0}.w * 2 - 1, 0, 0))", ShaderGeneratorNames.ScreenPosition);
default:
return string.Format("float4(IN.{0}.xy / IN.{0}.w, 0, 0)", ShaderGeneratorNames.ScreenPosition);
}
}
}
}