From dfc4baaa353d4aaa46068016f69dce44ad754ecb Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 15 Jul 2018 20:04:12 +0200 Subject: [PATCH] Added new example: text_font_sdf --- examples/Makefile | 1 + examples/text/resources/AnonymousPro-Bold.ttf | Bin 0 -> 153616 bytes examples/text/resources/AnonymousPro_OFL.txt | 94 +++++++++++++ examples/text/resources/shaders/sdf.fs | 26 ++++ examples/text/text_font_sdf.c | 123 ++++++++++++++++++ examples/text/text_font_sdf.png | Bin 0 -> 52071 bytes 6 files changed, 244 insertions(+) create mode 100644 examples/text/resources/AnonymousPro-Bold.ttf create mode 100644 examples/text/resources/AnonymousPro_OFL.txt create mode 100644 examples/text/resources/shaders/sdf.fs create mode 100644 examples/text/text_font_sdf.c create mode 100644 examples/text/text_font_sdf.png diff --git a/examples/Makefile b/examples/Makefile index 2e42fb057..e62d6980a 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -390,6 +390,7 @@ EXAMPLES = \ text/text_ttf_loading \ text/text_bmfont_unordered \ text/text_input_box \ + text/text_font_sdf \ models/models_geometric_shapes \ models/models_box_collisions \ models/models_billboard \ diff --git a/examples/text/resources/AnonymousPro-Bold.ttf b/examples/text/resources/AnonymousPro-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..badb0aad69b64f4e3459774e3638e437a98f85ae GIT binary patch literal 153616 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%0ASMd71L*8NUh&SL3dPlt>Z`ga6cb8Z6j(H>A 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 V-`+z~6wChGGn)SQXAHx#{{vE;*bx8# literal 0 HcmV?d00001 diff --git a/examples/text/resources/AnonymousPro_OFL.txt b/examples/text/resources/AnonymousPro_OFL.txt new file mode 100644 index 000000000..5ca1911b9 --- /dev/null +++ b/examples/text/resources/AnonymousPro_OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2009, Mark Simonson (http://www.ms-studio.com, mark@marksimonson.com), +with Reserved Font Name Anonymous Pro. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/examples/text/resources/shaders/sdf.fs b/examples/text/resources/shaders/sdf.fs new file mode 100644 index 000000000..44d33e9b1 --- /dev/null +++ b/examples/text/resources/shaders/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/text_font_sdf.c b/examples/text/text_font_sdf.c new file mode 100644 index 000000000..5f7ad5fae --- /dev/null +++ b/examples/text/text_font_sdf.c @@ -0,0 +1,123 @@ +/******************************************************************************************* +* +* raylib [text] example - TTF loading and usage +* +* This example has been created using raylib 1.3.0 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [text] example - SDF fonts"); + + // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) + + const char msg[50] = "Signed Distance Fields"; + + // Default font generation from TTF font + Font fontDefault = { 0 }; + fontDefault.baseSize = 16; + fontDefault.charsCount = 95; + // Parameters > font size: 16, no chars array provided (0), chars count: 95 (autogenerate chars array) + fontDefault.chars = LoadFontData("resources/AnonymousPro-Bold.ttf", 16, 0, 95, false); + // Parameters > chars count: 95, font size: 16, chars padding in image: 4 px, pack method: 0 (default) + Image atlas = GenImageFontAtlas(fontDefault.chars, 95, 16, 4, 0); + fontDefault.texture = LoadTextureFromImage(atlas); + UnloadImage(atlas); + + // SDF font generation from TTF font + // NOTE: SDF chars data is generated with LoadFontData(), it's just a bool option + Font fontSDF = { 0 }; + fontSDF.baseSize = 16; + fontSDF.charsCount = 95; + // Parameters > font size: 16, no chars array provided (0), chars count: 0 (defaults to 95) + fontSDF.chars = LoadFontData("resources/AnonymousPro-Bold.ttf", 16, 0, 0, true); + // Parameters > chars count: 95, font size: 16, chars padding in image: 0 px, pack method: 1 (Skyline algorythm) + atlas = GenImageFontAtlas(fontSDF.chars, 95, 16, 0, 1); + fontSDF.texture = LoadTextureFromImage(atlas); + UnloadImage(atlas); + + // Load SDF required shader (we use default vertex shader) + Shader shader = LoadShader(0, "resources/shaders/sdf.fs"); + SetTextureFilter(fontSDF.texture, FILTER_BILINEAR); // Required for SDF font + + Vector2 fontPosition = { 40, screenHeight/2 - 50 }; + Vector2 textSize = { 0.0f }; + float fontSize = 16.0f; + int currentFont = 0; // 0 - fontDefault, 1 - fontSDF + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + fontSize += GetMouseWheelMove()*8.0f; + + if (fontSize < 6) fontSize = 6; + + if (IsKeyDown(KEY_SPACE)) currentFont = 1; + else currentFont = 0; + + if (currentFont == 0) textSize = MeasureTextEx(fontDefault, msg, fontSize, 0); + else textSize = MeasureTextEx(fontSDF, msg, fontSize, 0); + + fontPosition.x = GetScreenWidth()/2 - textSize.x/2; + fontPosition.y = GetScreenHeight()/2 - textSize.y/2 + 80; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + if (currentFont == 1) + { + // NOTE: SDF fonts require a custom SDf shader to compute fragment color + BeginShaderMode(shader); // Activate SDF font shader + DrawTextEx(fontSDF, msg, fontPosition, fontSize, 0, BLACK); + EndShaderMode(); // Activate our default shader for next drawings + + DrawTexture(fontSDF.texture, 10, 10, BLACK); + } + else + { + DrawTextEx(fontDefault, msg, fontPosition, fontSize, 0, BLACK); + DrawTexture(fontDefault.texture, 10, 10, BLACK); + } + + DrawText("FONT SIZE: 16.0", GetScreenWidth() - 240, 20, 20, DARKGRAY); + DrawText(FormatText("RENDER SIZE: %02.02f", fontSize), GetScreenWidth() - 240, 50, 20, DARKGRAY); + DrawText("Use MOUSE WHEEL to SCALE TEXT!", GetScreenWidth() - 240, 90, 10, DARKGRAY); + + DrawText("PRESS SPACE to USE SDF FONT VERSION!", 340, GetScreenHeight() - 30, 20, MAROON); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadFont(fontDefault); // Default font unloading + UnloadFont(fontSDF); // SDF font unloading + + UnloadShader(shader); // Unload SDF shader + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/examples/text/text_font_sdf.png b/examples/text/text_font_sdf.png new file mode 100644 index 0000000000000000000000000000000000000000..74916b1abcb6b66ab0e8e1ce692f19b94b1c1bb7 GIT binary patch literal 52071 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 B6yN{= literal 0 HcmV?d00001