GlyphGL: Open-Source C/C++ header only lightweight OpenGL text renderer

6 points by DareksCoffee 20 hours ago

Hi y'all I'm very happy to share GlyphGL, a new minimal project I wrote from scratch that requires zero dependencies It's a cross-platform (Windows, Linux, Macos) header only C/C++ library designed for simplicity and absolute control (still under development) No FreeType: It contains it's own ttf parser, rasterizer and renderer No OpenGL Loader: GlyphGL includes it's own built in loader that handles all necessary OpenGL functions and pointers across many platforms, although it can be disabled using GLYPH_NO_GL_LOADER Compatibility: GlyphGL is written with C99 syntax, meaning it can be ported easily to other platforms Performance: Although still under development and lacking heavy optimizations (like SDF rendering and other advanced techniques), GlyphGL remains notably fast thanks to its efficient batch rendering system

i'm open to criticism to help this project improve and grow, so if you find any issues, bug or need some clarifications, please comment in the thread or pull an issue in the repo!

repo: https://github.com/DareksCoffee/GlyphGL

0xCE0 2 hours ago

Is this vibe-coded?

Variable naming cases differ between snake/camel cases even they are at same row? And variable naming is almost too consistent and "clear" to be written as human.

Uses GCC instrinsics that are not in MSVC, so not cross-platform or "C99 syntax".

No comments in code to explain/clarify anything at all.

Besides, at least in my real world first hand experience, in Windows, you cannot load all OpenGL functions just by using wglGetProcAddress(), because it doesn't return function pointers to those basic OpenGL functions that exported by opengl32.dll. And if you want to check valid pointer addresses, in Windows you should also consider all return addresses below 4 as invalid/"NULL". I wrote this note in my OpenGL function pointer loader as comment to remind myself what I learned as first hand experience when actually writing the code myself and struggling through the messy reality :)