Files
Ultralight-SDK/arm64/shaders/hlsl/vs/v2f_c4f_t2f.hlsl
T
2026-06-11 14:07:38 +12:00

32 lines
878 B
HLSL

cbuffer Uniforms : register(b0)
{
float4 State;
matrix Transform;
float4 Scalar4[2];
float4 Vector[8];
uint ClipSize;
matrix Clip[8];
};
float ScreenWidth() { return State[1]; }
float ScreenHeight() { return State[2]; }
float Scalar(int i) { if (i < 4) return Scalar4[0][i]; else return Scalar4[1][i - 4]; }
float4 sRGBToLinear(float4 val) { return float4(val.xyz * (val.xyz * (val.xyz * 0.305306011 + 0.682171111) + 0.012522878), val.w); }
struct VS_OUTPUT
{
float4 Position : SV_POSITION;
float4 Color : COLOR0;
float2 ObjectCoord : TEXCOORD0;
};
VS_OUTPUT VS(float2 Position : POSITION,
uint4 Color : COLOR0,
float2 ObjCoord : TEXCOORD0)
{
VS_OUTPUT output;
output.Position = mul(Transform, float4(Position, 0.0, 1.0));
output.Color = float4(Color) / 255.0;
output.ObjectCoord = ObjCoord;
return output;
}