Система рендеринга векторного текста в Direct3d - PullRequest
0 голосов
/ 17 июля 2011

Кто-нибудь знает о реализации векторных шрифтов в DirectX?

Если нет, то у кого-нибудь есть хорошая отправная точка для этого?

Или даже какие-нибудь примеры читателей, написанных в Directx споддержка базового увеличения.

1 Ответ

1 голос
/ 17 июля 2011

Прямые векторные шрифты не очень хорошо работают в D3D, так как для этого требуется промежуточная текстура для хранения растеризованных данных (вершины или пиксели), и вам нужно проделать гораздо больше дополнительной работы, поэтому вам нужно подходить к ним немного иначе, чемзаставить их работать легко и эффективно (если вы ограничены в производительности / заботитесь о производительности).Для этого вы должны использовать поля расстояний со знаком (они очень хорошо масштабируются, но ужасно уменьшают масштаб, если ваши шрифты сложные. Жесткие края также хранятся не очень хорошо, но это можно исправить, используя два канала для хранения.данные. Поля расстояний также позволяют легко сглаживать, выделять жирным шрифтом, выделять, светить и отбрасывать тени), улучшенный рендеринг векторных текстур с улучшенной альфа-версией клапана (который случайно ссылается на статью о векторных шрифтах, если вы хотите пойти по этому пути).Он сильно зависит от шейдеров (хотя это может быть сделано в FFP посредством альфа-тестирования, но использование плавного шага в пиксельном шейдере обеспечивает гораздо лучший результат с минимальными издержками), но ничего не нужно, кроме ps v1.см. http://www.valvesoftware.com/publications.html для бумаги, см. шейдеры в клапанах source sdk для полной ссылки на реализацию.(Между прочим, я только что построил текстовый рендерер на основе Dx11, используя его, прекрасно работает, хотя я использую инструмент для грубой силы своих sdf-файлов, поэтому мне не нужно создавать их во время выполнения).

...