Как нарисовать текст (написать на экране), используя стандартные функции OpenGL? - PullRequest
6 голосов
/ 14 августа 2010

Я знаю, что могу сделать это с GLUT.Но у меня большой проект, и у меня были проблемы с добавлением GLUT (я использую Delphi).

Итак, какие еще варианты у меня есть?

Ответы [ 4 ]

6 голосов
/ 14 августа 2010

Вы не можете сделать это со стандартными функциями OpenGL, если у вас нет текстур с текстом или списка символов на текстуре, из которой вы рисуете.Но не изобретайте колесо - я бы порекомендовал FTGL для рендеринга текста в представлении OpenGL.Он имеет несколько различных методов рендеринга и заботится о таких вещах, как кернинг, поддерживает юникод, а также обладает хорошими функциями текстовых метрик.

2 голосов
/ 20 августа 2010

Используйте TextSuite.http://textsuite.opengl24.de/

1 голос
/ 16 августа 2010

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

1 голос
/ 14 августа 2010

Используйте FreeType для получения растрового изображения с учетом вашего текста.

Редактировать: Это зрелая кроссплатформенная библиотека, которая предоставляет полные возможности отображения текста на основе шрифтов, включая обычные шрифты Windows TrueType. Вот его определение из Википедии:

FreeType - это библиотека программного обеспечения, написанная в C, который реализует шрифт растеризация двигателя. Используется для растеризовать символы в растровые изображения и оказывает поддержку другим операции со шрифтами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...