improved font rendering

This commit is contained in:
2026-05-26 01:29:26 +03:00
parent f127ac3801
commit 5fdb17b773
21 changed files with 217 additions and 158 deletions

View File

@@ -5,13 +5,12 @@ COMMON {
{
float4 m_vPosition: SV_POSITION;
float2 m_vUV: TEXCOORD0;
uint m_uFont;
uint m_uFont: SV_InstanceID;
}
struct TextDrawData_t
{
float2 m_vTexcoordOffset;
float2 m_vTexcoordSize;
float2 m_vPos;
float2 m_vSize;
float4 m_vFGColor;
@@ -51,6 +50,7 @@ VS
PS_INPUT output = {};
output.m_vPosition = float4(position, 0, 1);
output.m_vUV = uv;
output.m_uFont = uInstance;
return output;
}
@@ -79,7 +79,11 @@ PS
float fSd = median3(vMsd.x, vMsd.y, vMsd.z);
float fScreenPixelDistance = ScreenPixelRange(input.m_vUV)*(fSd-0.5);
float fOpacity = clamp(fScreenPixelDistance+0.5, 0.0, 1.0);
output.m_vAlbedo = fOpacity;
float4 vColor1 = g_textData[input.m_uFont].m_vFGColor;
float4 vColor2 = g_textData[input.m_uFont].m_vBGColor;
vColor1.xyz*=vColor1.w;
vColor2.xyz*=vColor2.w;
output.m_vAlbedo = lerp(vColor2, vColor1, fOpacity);
return output;
}
}