Шрифты в OpenGL
До меня глупого пока не дошло, как в OpenGL работать со шрифтами, и можно ли вообще использывать какие-нибудь стандартные функции для работы с текстом, или мне прийдётся самому всё катать. Если нет готовой функции для вывода текста нужным шрифтом, то подскажите где взять спецификацию по fon, ttf шрифтам.
Заранее спасибо
Народ, помогите разобраться.
До меня глупого пока не дошло, как в OpenGL работать со шрифтами, и можно ли вообще использывать какие-нибудь стандартные функции для работы с текстом, или мне прийдётся самому всё катать. Если нет готовой функции для вывода текста нужным шрифтом, то подскажите где взять спецификацию по fon, ttf шрифтам.
Заранее спасибо
:!!!: :!!!: P( Это убийственная тема и, можно сказать, практически один недостаток OpenGL. Со шрифтами там все обстоить примерно так: Обычные ttf и тому подобные OpenGL не кушает из принципа. Ему обязательно нужен его формат, который в себе заключаем уже рендринговые витмаповские изображения, но только в его личном формате.
Что делать? Из набора его каких-то (названий сечас не вспомнить) функций можно произвести эту переконвертацию и юзать их в OpenGL на свое удовольствие.
Особенность: по непонятным причинам "съезжает" при печати русского текста (уже после конвертации) тот параметр буквы, который означает отступ от начала предыдущей буквы, и они почти полностью наслаиваются друг на друга. На данный момент я не решил еще этой проблемы. Могу Вам дать исходный текст этого самого конвертера шрифтов в ему понятный формат. Ксатати, пример также отображает весь алфавит, что не маловажно! Если Вы решите проблему с русским буквами на моем примере, мы поможем друг другу ;)
:!!!: :!!!: P( Это убийственная тема и, можно сказать, практически один недостаток OpenGL. Со шрифтами там все обстоить примерно так: Обычные ttf и тому подобные OpenGL не кушает из принципа. Ему обязательно нужен его формат, который в себе заключаем уже рендринговые витмаповские изображения, но только в его личном формате.
...
Я тут немного почитал мануала (мой англ. оставляет желать лучшего) и нанёл такие вот функции: wglUseFontBitMap (ну что-то очень похожее), wglUseFontOutline (пардон, забыл как пишется) - так вот, в help'е сказанно, что эти две функции используют только ttf файлы, они создают списки, которые можно вызвать через функцию glCallLists(length,datatype,string), последний скорее является указателем на строку (я использую Borland C++ Builder 5.0)
Есть большой баг во всём этом. Во-первых, работает очень медленно (особенно если включить заливку, а не каркас), во-вторых работает только с ttf файлами, а у меня в w2k в основном все fon-шрифты, в-третьих, качество оставляет желать лучшего (при поворотах и трансформации), в-четвёртых, при задании шрифта, мне не удалось выяснить как работоет параметр Height, при задании шрифта, но всё это суета.
Я был бы рад поглядеть на ваш пример.
[email]sakalr@mail.ru[/email]
Тут всё по щрифтам есть. и 3d и 2d и тестуриные и нетестуриные.
Иди сюда - http://pmg-ru.narod.ru/russian/nehe/index.html.
Тут всё по щрифтам есть. и 3d и 2d и тестуриные и нетестуриные.
Замечательно!! Мне кажется, я нашел, что мне нужно было %)
Спасибо! :)
Если что надо - говори.
Я тут говорил, что у меня при работе со шрифтами качество плохое. Так вот, не только со шрифтами, а вообще с обектами. Рисую триугольники и при пороворотах некоторые вершины исчезают, а значит линии не прорисовываються. Такая же хня и glu обьектами...
Подскажите, может кто сталкивался с подобным.