Это игрушечный/экспериментальный проект, демонстрирующий, как начать рендеринг глифов с алгоритмом слизняка Эрика Ленгила на процессорах и графических процессорах.
Я рекомендую прочитать хотя бы слайды, связанные в справочном разделе перед каким -либо кодом.
| Субпроект | Цель |
|---|---|
| Генератор шрифтов | Считает файл шрифта. |
| Программный рендеринг | Считает файл .sluggish и выводит изображение .tga по указанной кодовой точке |
| Аппаратный рендеринг | Читает файл .sluggis |
| Особенность | Поддерживать |
|---|---|
| Кривые текстура (FP32) | ДА |
| Текстура полос (U16) | ДА |
| Руть глифы в полосы (производительность) | ДА |
| Кривые сортировки (производительность) | ДА |
| Высококачественная реализация чего-либо | НЕТ |
| Высокая производительность | НЕТ |
| 16-битная кодировка плавающей запятой | НЕТ |
| Демонцирование данных и сжатие | НЕТ |
| Текстовое расположение | НЕТ |
| Цветные формы | НЕТ |
| Адаптивная супер-дискретизация | НЕТ |
| Гамма -коррекция | НЕТ |
| Ограничивающие многоугольники | НЕТ |
Цель состояла в том, чтобы сделать вещи довольно простыми, в то же время не имея ужасной производительности. Например, сокращение глифов в полосы была реализована, потому что она простой и повышает производительность.
По умолчанию целевой исполняемый файл отладчика не в каталоге вывода, а пути каталога, указанный с переменной среды SLUGGISH_APP_DIR .
Файлы .exe и .pdb копируются в этот каталог после каждой сборки.
Чтобы упростить этот процесс, вы можете запустить Visual Studio с помощью простого сценария пакета:
:: This file would sit next to the Sluggish directory
cd Sluggishmakefilesvs2013
set SLUGGISH_APP_DIR=C:important_stuffsluggish
Sluggish.sln
Чтобы узнать больше о том, как работает алгоритм Slug, см.
Ориентировочный графический шрифт рендеринг непосредственно из контурах Glyph от Eric Lengyel
Журнал компьютерной графики (JCGT), Vol. 6, нет. 2, 31-47, 2017
Бумага: http://jcgt.org/published/0006/02/02
Слайды: http://terathon.com/i3d2018_lengyel.pdf
| Проект/Файл | Лицензия (ы) | Файл лицензии (ы) |
|---|---|---|
| Этот проект | Нелисленность (общественное достояние) | Unlense.md |
| SDL 2 | Злиб | libs/sdl2/copying.txt |
| Glew | Модифицированная лицензия BSD Mesa 3-D лицензия (MIT) Лицензия Хронса (MIT) | libs/glew/license.txt |
| Премей 5 | Премей 5 | Makefiles/premake_license.txt |
| stb_truetype.h | Выберите лицензию: Нелисленность (общественное достояние) Грань | Код/генератор/stb_truetype.h |
| stb_image_write.h | Выберите лицензию: Нелисленность (общественное достояние) Грань | Code/renderer_sw/stb_image_write.h |
Несмотря на то, что на алгоритм Slug на алгоритме Slug на момент написания деятельности Эрик Ленгиль подал заявку на один, и процесс все еще продолжается ...