Ed94 / TextRendering_Notes

Notes on getting the old letters onto a digital screen

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Text Rendering Notes

The goal here was to find some solution that was small and preferrably interopped well with odin-lang. So, everything that was either not written in C or was not going to be an easy port, was ignored.

Sokol solution (possibly, if your just after a standalone text renderer and willing to just sokol/opengl)

Its directly available in the vendor library and hookup impl exists alrady: sokol/util/sokol_fontstash.h

Original Repo: memononen/fontstash

There are several forks for fonstash... Going to elabroate on them in a separate file

Direct alternative to fonstash: RFont

ColleagueRiley/RFont

Claims to target better perforamnce than fontstash. Decided to directly intergrate stb_truetype.h instead of keeping it separate (There is an option to define RFONT_EXTERNAL_STB).

Other partial solutions

jtsiomb/libdrawtext

kevinmkchin/vertext
(looks to provide everything necessary ~1000 lines of code only)

hypernewbie/VEFontCache
(Also looks very good..., but it uses c++, easy to port however since its 1691 lines...)

Industry standard (free if you negotiate use on a free purpose, porting interface to X-Lang is problably non-trivial)

slug

Learning Resources

npx-imx/gtec-demo-frameowrk/Doc/FslSimpleUI

Implementing a Font Reader and Rasterizer from Scratch, Part 1: TTF Font Reader

LearnOpenGL - Text Rendering
Improving Learn OpenGL's Text Rendering Example | Adventures in Coding
Repo for above vod: johnWRS/LearnOpenGLTextRenderingImprovement

GPU Gems 3: Chapter 25. Rendering Vector Art on the GPU

Writing a TrueType font renderer

Wikibooks/OpenGL_Programming/... Text Rendering 01
02 of above

Examples

Immediate-Mode-UI/Nuklear/nuklear_font.c
raddebugger (non-trivial to digest solution)
refterm
ocornut/imgui/imgui_draw.cpp#L4006 4coder-archive/4coder

Font Parsers

freetype englerj/odin-freetype stb/stb_truetype odin-lang/Odin/vendor/stb/truetype/stb_truetype.odin

"Shaping Engine"

harfbuzz
Fribidi

GPU Related

Efficient 2D Signed Distance Field Generation on GPU

GreenLighting/gpu-font-rendering
evanw/theta
Related article for theta's implementation
MSDFGL - OpenGL-accelerated implementation of the multi-channel signed distance-field algorithm.

Papers

SIGGRAPH2007: Improved Alpha-Tested Magnification for Vector Textures and Special Effects
Resolution Independent Curve Rendering using Programmable Graphics Hardware

Misc

Mr. 4th Programming

Graphics 2[7] Baking Optimized Fonts Data
Graphics [8]: Low Level Rendering API Part 1
Graphics [9]: Low Level Rendering API Part 2
Graphics [10]: High Level Rendering API ...

Tscoding

ded editor
Legendary Font Rendering
Rendering Text Editor on GPU

OpenGL Text Rendering for My Immediate UI Library - Offline Stream #02

Interesting...

MacType

About

Notes on getting the old letters onto a digital screen