|
|
@@ -23,6 +23,7 @@ namespace ShaderGen
|
|
|
{ "Mod", SimpleNameTranslator("fmod") },
|
|
|
{ "Sample", Sample2D },
|
|
|
{ "Discard", Discard },
|
|
|
+ { nameof(ShaderBuiltins.ClipToTextureCoordinates), ClipToTextureCoordinates },
|
|
|
};
|
|
|
ret.Add("ShaderGen.ShaderBuiltins", new DictionaryTypeInvocationTranslator(builtinMappings));
|
|
|
|
|
|
@@ -40,7 +41,6 @@ namespace ShaderGen
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
public static string TranslateInvocation(string type, string method, InvocationParameterInfo[] parameters)
|
|
|
{
|
|
|
if (s_mappings.TryGetValue(type, out var dict))
|
|
|
@@ -71,6 +71,12 @@ namespace ShaderGen
|
|
|
{
|
|
|
return $"discard;";
|
|
|
}
|
|
|
+
|
|
|
+ private static string ClipToTextureCoordinates(string typeName, string methodName, InvocationParameterInfo[] parameters)
|
|
|
+ {
|
|
|
+ string target = parameters[0].Identifier;
|
|
|
+ return $"float2({target}.x / 2 + 0.5, {target}.y / -2 + 0.5)";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public delegate string InvocationTranslator(string typeName, string methodName, InvocationParameterInfo[] parameters);
|