Рисование строк в OpenGL - PullRequest
       51

Рисование строк в OpenGL

3 голосов
/ 27 февраля 2010

Какой самый быстрый и простой способ рисования текста в стандартном OGL ??

Ответы [ 6 ]

4 голосов
/ 27 февраля 2010

Текст неожиданно участвует в OpenGl
Взгляните на этот пример от NeHe

1 голос
/ 27 февраля 2010

OpenGL не поддерживает рисование текста. Вам нужно использовать некоторую библиотеку для рендеринга текста в растровое изображение, а затем вы можете использовать OpenGL для рендеринга растрового изображения. Freetype2 и Pango - хорошие кроссплатформенные решения низкого уровня. Библиотеки программирования игр, такие как ClanLib, и библиотеки GUI, такие как Qt, также могут иметь свои собственные способы визуализации текста.

0 голосов
/ 14 июня 2011

OpenGL не поддерживает визуализацию текста напрямую. У вас есть различные варианты:

  1. Некоторые привязки ОС, такие как WGL и AGL , ограниченная поддержка шрифтов (в основном они делают системные шрифты в растровые изображения для использования в Open GL).
  2. Инструментарий GLUT (и аналогичный инструментарий) также имеет некоторую поддержку шрифтов (растровое изображение и обводка).
  3. Вы можете использовать библиотека, такая как FreeType (в основном рендерер шрифтов, вы все еще можете пожелать используйте что-то вроде Pango для текста макет).
  4. Вы можете использовать простой текстурированный квады Quake 1 сделал).
0 голосов
/ 27 февраля 2010

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

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

Вы можете использовать специфичный для платформы API OpenGL (т.е. wglUseFontOutlines), но я думаю, что он не рекомендуется с OpenGL 3.2.

0 голосов
/ 27 февраля 2010

Это зависит от того, над чем вы работаете, как сказано выше. например, SDL является мультиплатформенным, и можно рисовать текст, используя специальную библиотеку внутри SDL: http://gameprogrammingtutorials.blogspot.com/2010/02/sdl-tutorial-series-part-6-displaying.html

Если вы используете перенасыщение, посмотрите на следующие функции: glutStrokeString, glutBitmapString в перенасыщенной документации ..

0 голосов
/ 27 февраля 2010

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

...