38 lines
1.6 KiB
Markdown
38 lines
1.6 KiB
Markdown
This is Wellspring, an immediate mode multiple-channel signed distance field font rendering system in C.
|
|
|
|
About Wellspring
|
|
----------------
|
|
Wellspring is inspired by the design of Dear ImGui.
|
|
It outputs buffer data that you can upload and render anytime in your 3D application.
|
|
This means that you can integrate it easily using the graphics library of your choice.
|
|
|
|
Wellspring uses JSON output from [msdf-atlas-gen](https://github.com/Chlumsky/msdf-atlas-gen) to generate buffers. It also uses [stb_truetype](https://github.com/nothings/stb/blob/master/stb_truetype.h) for additional kerning support. At render time, bind the image data from msdf-atlas-gen with buffers generated by Wellspring for beautiful MSDF font rendering.
|
|
|
|
Using msdf-atlas-gen
|
|
--------------
|
|
A full explanation of msdf-atlas-gen is beyond the scope of this project, but note that Wellspring only accepts MSDF atlas types with JSON output.
|
|
|
|
Your atlas generation might look like this:
|
|
```sh
|
|
msdf-atlas-gen -yorigin top -font ~/mygame/myfont.otf -imageout ~/mygame/content/forgotten_dream.png -json ~/mygame/content/forgotten_dream.json
|
|
```
|
|
|
|
Dependencies
|
|
------------
|
|
Wellspring depends on the C runtime, but SDL2 can be optionally depended upon instead if your application prefers it by defining USE_SDL2.
|
|
|
|
Building Wellspring
|
|
-------------------
|
|
For *nix platforms, use CMake:
|
|
|
|
$ mkdir build/
|
|
$ cd build
|
|
$ cmake ../
|
|
$ make
|
|
|
|
For Windows, you can use cmake-gui to generate a Visual Studio solution or use VSCode with the CMake and C/C++ Tools extensions.
|
|
|
|
License
|
|
-------
|
|
Wellspring is licensed under the zlib license. See LICENSE for details.
|