From 9c005e40ba8600ab555a18cc910a1ceaf7995009 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Fri, 7 Jun 2013 22:45:02 -0700 Subject: [PATCH] Linux/AMD: Fixed font shaders. --- examples/common/font/fs_font_basic.sc | 9 +++++++-- examples/common/font/fs_font_distance_field.sc | 13 ++++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/examples/common/font/fs_font_basic.sc b/examples/common/font/fs_font_basic.sc index a40db9d0..ca905e9d 100644 --- a/examples/common/font/fs_font_basic.sc +++ b/examples/common/font/fs_font_basic.sc @@ -8,6 +8,11 @@ void main() { vec4 color = textureCube(u_texColor, v_texcoord0.xyz); int index = int(v_texcoord0.w*4.0 + 0.5); - float a = color.bgra[index]; - gl_FragColor = vec4(v_color0.rgb, v_color0.a * a); + float rgba[4]; + rgba[0] = color.z; + rgba[1] = color.y; + rgba[2] = color.x; + rgba[3] = color.w; + float alpha = rgba[index]; + gl_FragColor = vec4(v_color0.xyz, v_color0.a * alpha); } diff --git a/examples/common/font/fs_font_distance_field.sc b/examples/common/font/fs_font_distance_field.sc index b256ae10..e039f146 100644 --- a/examples/common/font/fs_font_distance_field.sc +++ b/examples/common/font/fs_font_distance_field.sc @@ -4,18 +4,21 @@ $input v_color0, v_texcoord0 SAMPLERCUBE(u_texColor, 0); -uniform float u_inverse_gamma; - void main() { vec4 color = textureCube(u_texColor, v_texcoord0.xyz); int index = int(v_texcoord0.w*4.0 + 0.5); - float distance = color.bgra[index]; + float rgba[4]; + rgba[0] = color.z; + rgba[1] = color.y; + rgba[2] = color.x; + rgba[3] = color.w; + float dist = rgba[index]; float dx = length(dFdx(v_texcoord0.xyz) ); float dy = length(dFdy(v_texcoord0.xyz) ); float w = 16.0*0.5*(dx+dy); - float a = smoothstep(0.5-w, 0.5+w, distance); - gl_FragColor = vec4(v_color0.rgb, v_color0.a*a); + float alpha = smoothstep(0.5-w, 0.5+w, dist); + gl_FragColor = vec4(v_color0.xyz, v_color0.w*alpha); }