Быстрая растеризация текста и векторной графики - PullRequest
8 голосов
/ 23 ноября 2011

Предположим, есть много векторных фигур (кривые Безье, которые определяют границу формы). Например, страница, заполненная крошечными буквами.

Какой самый быстрый способ создать из него растровое изображение?

Однажды я видел демо несколько лет назад (не могу найти его сейчас), где некоторые парни использовали графический процессор для растеризации векторного искусства - они могли увеличивать / уменьшать масштаб страницы в режиме реального времени. Каково текущее состояние графического рендеринга фигур Безье? Это действительно быстро? Быстрее, чем процессор? Каковы общие и не очень распространенные алгоритмы? Есть ли библиотека с открытым исходным кодом для таких вещей? Какой язык он использует? А как насчет OpenGL?

Ответы [ 3 ]

4 голосов
/ 25 ноября 2011

NVIDIA теперь имеет расширение для OpenGL, которое может делать это. Я предполагаю, что это основано на статье Microsoft RAVG.

http://developer.nvidia.com/nv-path-rendering

3 голосов
/ 23 ноября 2011

Возможно, вы имеете в виду одну из этих статей:

Я думаю, что это в значительной степени современное состояние.

0 голосов
/ 23 ноября 2011

Однажды я видел демо несколько лет назад (не могу найти его сейчас), где некоторые парни использовали графический процессор для растеризации векторного искусства - они могли увеличивать / уменьшать масштаб страницы в режиме реального времени.

Может ли это быть этим?http://alice.loria.fr/index.php/publications.html?Paper=VTM@2005

Каково текущее состояние рендеринга графических процессоров фигур Безье?

Примерно то же, что и несколько лет назад.Шейдеры тесселяции действительно помогают, но когда дело доходит до растеризации кривых без промежуточной стадии тесселяции, это тяжелая работа в шейдере фрагментов.

...