From 970f1e8ff15424ca2d96d89bf2871f0246835e9b Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 17 May 2019 01:17:40 +0200 Subject: examples review --- examples/text/resources/emoji.fnt | 2 +- examples/text/resources/emoji.png | Bin 0 -> 244961 bytes examples/text/resources/emoji_0.png | Bin 244961 -> 0 bytes examples/text/resources/notoCJK.fnt | 2 +- examples/text/resources/notoCJK.png | Bin 0 -> 92202 bytes examples/text/resources/notoCJK_0.png | Bin 92202 -> 0 bytes examples/text/resources/shaders/glsl100/sdf.fs | 23 ++++++++++++++++++++++ examples/text/resources/shaders/glsl330/sdf.fs | 26 +++++++++++++++++++++++++ examples/text/resources/shaders/sdf.fs | 26 ------------------------- examples/text/text_font_sdf.c | 8 +++++++- examples/text/text_unicode.c | 2 +- 11 files changed, 59 insertions(+), 30 deletions(-) create mode 100644 examples/text/resources/emoji.png delete mode 100644 examples/text/resources/emoji_0.png create mode 100644 examples/text/resources/notoCJK.png delete mode 100644 examples/text/resources/notoCJK_0.png create mode 100644 examples/text/resources/shaders/glsl100/sdf.fs create mode 100644 examples/text/resources/shaders/glsl330/sdf.fs delete mode 100644 examples/text/resources/shaders/sdf.fs (limited to 'examples/text') diff --git a/examples/text/resources/emoji.fnt b/examples/text/resources/emoji.fnt index cabbdf6c..85c71968 100644 --- a/examples/text/resources/emoji.fnt +++ b/examples/text/resources/emoji.fnt @@ -1,6 +1,6 @@ info face="Symbola" size=-64 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 outline=2 common lineHeight=81 base=59 scaleW=1024 scaleH=1024 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 -page id=0 file="emoji_0.png" +page id=0 file="emoji.png" chars count=187 char id=9749 x=135 y=333 width=63 height=61 xoffset=1 yoffset=9 xadvance=65 page=0 chnl=15 char id=9752 x=366 y=396 width=57 height=59 xoffset=0 yoffset=10 xadvance=58 page=0 chnl=15 diff --git a/examples/text/resources/emoji.png b/examples/text/resources/emoji.png new file mode 100644 index 00000000..82e36983 Binary files /dev/null and b/examples/text/resources/emoji.png differ diff --git a/examples/text/resources/emoji_0.png b/examples/text/resources/emoji_0.png deleted file mode 100644 index 82e36983..00000000 Binary files a/examples/text/resources/emoji_0.png and /dev/null differ diff --git a/examples/text/resources/notoCJK.fnt b/examples/text/resources/notoCJK.fnt index 235ee771..2edfb61e 100644 --- a/examples/text/resources/notoCJK.fnt +++ b/examples/text/resources/notoCJK.fnt @@ -1,6 +1,6 @@ info face="Noto Serif CJK JP" size=-16 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 outline=1 common lineHeight=23 base=18 scaleW=512 scaleH=512 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 -page id=0 file="notoCJK_0.png" +page id=0 file="notoCJK.png" chars count=576 char id=32 x=507 y=185 width=3 height=3 xoffset=-1 yoffset=-1 xadvance=4 page=0 chnl=15 char id=33 x=449 y=285 width=5 height=14 xoffset=0 yoffset=5 xadvance=5 page=0 chnl=15 diff --git a/examples/text/resources/notoCJK.png b/examples/text/resources/notoCJK.png new file mode 100644 index 00000000..4f5cd4b8 Binary files /dev/null and b/examples/text/resources/notoCJK.png differ diff --git a/examples/text/resources/notoCJK_0.png b/examples/text/resources/notoCJK_0.png deleted file mode 100644 index 4f5cd4b8..00000000 Binary files a/examples/text/resources/notoCJK_0.png and /dev/null differ diff --git a/examples/text/resources/shaders/glsl100/sdf.fs b/examples/text/resources/shaders/glsl100/sdf.fs new file mode 100644 index 00000000..b4214d92 --- /dev/null +++ b/examples/text/resources/shaders/glsl100/sdf.fs @@ -0,0 +1,23 @@ +#version 100 + +// Input vertex attributes (from vertex shader) +varying vec2 fragTexCoord; +varying vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// NOTE: Add here your custom variables +const float smoothing = 1.0/16.0; + +void main() +{ + // Texel color fetching from texture sampler + // NOTE: Calculate alpha using signed distance field (SDF) + float distance = texture2D(texture0, fragTexCoord).a; + float alpha = smoothstep(0.5 - smoothing, 0.5 + smoothing, distance); + + // Calculate final fragment color + gl_FragColor = vec4(fragColor.rgb, fragColor.a*alpha); +} diff --git a/examples/text/resources/shaders/glsl330/sdf.fs b/examples/text/resources/shaders/glsl330/sdf.fs new file mode 100644 index 00000000..44d33e9b --- /dev/null +++ b/examples/text/resources/shaders/glsl330/sdf.fs @@ -0,0 +1,26 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// Output fragment color +out vec4 finalColor; + +// NOTE: Add here your custom variables +const float smoothing = 1.0/16.0; + +void main() +{ + // Texel color fetching from texture sampler + // NOTE: Calculate alpha using signed distance field (SDF) + float distance = texture(texture0, fragTexCoord).a; + float alpha = smoothstep(0.5 - smoothing, 0.5 + smoothing, distance); + + // Calculate final fragment color + finalColor = vec4(fragColor.rgb, fragColor.a*alpha); +} diff --git a/examples/text/resources/shaders/sdf.fs b/examples/text/resources/shaders/sdf.fs deleted file mode 100644 index 44d33e9b..00000000 --- a/examples/text/resources/shaders/sdf.fs +++ /dev/null @@ -1,26 +0,0 @@ -#version 330 - -// Input vertex attributes (from vertex shader) -in vec2 fragTexCoord; -in vec4 fragColor; - -// Input uniform values -uniform sampler2D texture0; -uniform vec4 colDiffuse; - -// Output fragment color -out vec4 finalColor; - -// NOTE: Add here your custom variables -const float smoothing = 1.0/16.0; - -void main() -{ - // Texel color fetching from texture sampler - // NOTE: Calculate alpha using signed distance field (SDF) - float distance = texture(texture0, fragTexCoord).a; - float alpha = smoothstep(0.5 - smoothing, 0.5 + smoothing, distance); - - // Calculate final fragment color - finalColor = vec4(fragColor.rgb, fragColor.a*alpha); -} diff --git a/examples/text/text_font_sdf.c b/examples/text/text_font_sdf.c index 755b642d..69cff471 100644 --- a/examples/text/text_font_sdf.c +++ b/examples/text/text_font_sdf.c @@ -11,6 +11,12 @@ #include "raylib.h" +#if defined(PLATFORM_DESKTOP) + #define GLSL_VERSION 330 +#else // PLATFORM_RPI, PLATFORM_ANDROID, PLATFORM_WEB + #define GLSL_VERSION 100 +#endif + int main() { // Initialization @@ -47,7 +53,7 @@ int main() UnloadImage(atlas); // Load SDF required shader (we use default vertex shader) - Shader shader = LoadShader(0, "resources/shaders/sdf.fs"); + Shader shader = LoadShader(0, FormatText("resources/shaders/glsl%i/sdf.fs", GLSL_VERSION)); SetTextureFilter(fontSDF.texture, FILTER_BILINEAR); // Required for SDF font Vector2 fontPosition = { 40, screenHeight/2 - 50 }; diff --git a/examples/text/text_unicode.c b/examples/text/text_unicode.c index 6b456a75..f3c2612c 100644 --- a/examples/text/text_unicode.c +++ b/examples/text/text_unicode.c @@ -156,7 +156,7 @@ int main(int argc, char **argv) const int screenHeight = 450; SetConfigFlags(FLAG_MSAA_4X_HINT | FLAG_VSYNC_HINT); - InitWindow(screenWidth, screenHeight, "raylib - unicode test"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - unicode"); // Load the font resources // NOTE: fontAsian is for asian languages, -- cgit v1.2.3