# freetype-gl **Repository Path**: lsadan/freetype-gl ## Basic Information - **Project Name**: freetype-gl - **Description**: OpenGL text using one vertex buffer, one texture and FreeType - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2015-11-03 - **Last Updated**: 2024-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Freetype GL - A C OpenGL Freetype engine ======================================== [![Build Status](https://travis-ci.org/rougier/freetype-gl.png?branch=master)](https://travis-ci.org/rougier/freetype-gl) This code intends to show how to display fonts efficiently using regular C, Freetype and OpenGL. The idea is to use a single texture and a single vertex buffer. The code is fairly simple and organized as follow: ![Screenshot](http://raw.github.com/rougier/freetype-gl/master/doc/images/markup.png) Mandatory --------- * **texture-font**: The texture-font structure is in charge of creating bitmap glyphs and to upload them to the texture atlas. * **texture-atlas**: This structure is responsible for the packing of small regions into a bigger texture. It is based on the skyline bottom left algorithm which appear to be well suited for storing glyphs. More information at: http://clb.demon.fi/files/RectangleBinPack.pdf * **vector**: This structure loosely mimics the std::vector class from c++. It is used by texture-atlas (for storing nodes), texture-font (for storing glyphs) and font-manager (for storing fonts). More information at: http://www.cppreference.com/wiki/container/vector/start Optional -------- * **markup**: Simple structure that describes text properties (font family, font size, colors, underline, etc.) * **font-manager**: Structure in charge of caching fonts. * **vertex-buffer**: Generic vertex buffer structure inspired by pyglet (python). (more information at http://www.pyglet.org) * **edtaa3func**: Distance field computation by Stefan Gustavson (more information at http://contourtextures.wikidot.com/) * **makefont**: Allow to generate header file with font information (texture + glyphs) such that it can be used without freetype. Contributors: ============= * Ryan.H.Kawicki (Initial CMake project) * Julian Mayer (Several bugfixes and code for demo-opengl-4.cc) * Sylvain Duclos (Android port) * Wang Yongcong (Improvements on the windows build and code review) * Jonas Wielicki (Bug report & fix on the CMakefile) * whatmannerofburgeristhis (Bug report in makefont) * Andrei Petrovici (Fine analysis of the whole code and report of potential problems) * Cristi Caloghera (Report on bad vertex buffer usage) * Andrei Petrovici (Code review) * Kim Jacobsen (Bug report & fix) * bsoddd (Bug report & fix) * Greg Douglas (Bug report & fix) * Jim Teeuwen (Bug report & fix) * quarnster (Bug report & fix) * Per Inge Mathisen (Bug report & fix) * Wojciech Mamrak (Code review, bug report & fix) * Wael Eloraiby (Put code to the C89 norm and fix CMakefile) * Christian Forfang (Code review, fix & patch for 3.2 core profile) * Lukas Murmann (Code review & fix for 3.2 core profile) * Jérémie Roy (Code review, fix and new ideas) * dsewtz (Bug report & fix) * jcgamestoy (Bug report & fix) * Behdad Esfahbod (Bug fix on harfbuzz demo) * Marcel Metz (Bug report & fix, CMmake no demo option, makefont parameters) * PJ O'Halloran (svn to git migration) * William Light (Face creation from memory) * Jan Niklas Hasse (Bug report & fix + README.md) * Pierre-Emmanuel Lallemant (Bug report & fix + travis setup) * Robert Conde (Bug report & fix) * Mikołaj Siedlarek (Build system bug fix) * Preet Desai (Bug report & fix) * Andy Staton (CMake fix and added namespace safeguard (avoiding glm collisions)) * Daniel Burke (Removed GLEW dependency and fix problems with font licences)