Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Шрифты в OpenGL  (Прочитано 4478 раз)
0 Пользователей и 1 Гость смотрят эту тему.
FoX4
Новенький

ru
Offline Offline

« : 01-08-2013 05:37 » 

Здравствуйте. Очень нужна помощь со шрифтами в OpenGL.

Необходимо добиться высокого качества отображения шрифтов. Сейчас использую FTGL, но растровые шрифты там либо подразмыты (Pixmap), либо рубленые (Bitmap).
Пробовал выводить из тектстуры, но тоже как-то не очень...
Подскажите, пожалуйста, что можно использовать. Может быть как-то можно включить ClearType или субпиксельную фильтрацию?

Заранее благодарен.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 01-08-2013 06:56 » 

В 3D графике по сути нет пиксельной печати, свойственной 2D графике. Соотв., нужно чтобы размер глифа совпадал с размером поля, куда он помещается, чтобы не было масштабирования текстуры. Также отключай все эффекты, которые могут размывать текстуру. AntiAliasing и ClearType выполняй в пределах глифа.

Я не спец, но все же выскажу такое предложение: нужен полигон-прямоугольник для отображения текста, текстура с пиксельным размером с участок экрана, где будет отображен полигон. Печать выполняй в текстуру предварительно отрендеренными глифами. Таким образом можно использовать любые шрифты, даже TTF.
« Последнее редактирование: 01-08-2013 06:58 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
FoX4
Новенький

ru
Offline Offline

« Ответ #2 : 01-08-2013 08:33 » 

RXL, спасибо. А вы не могли бы привести пример такого кода и применения AntiAliasing'а?

Добавлено через 19 минут и 21 секунду:
Я так понимаю, что PixMap выводит сглаженный по 256 каналам растровый шрифт, отрисованный на текстуре?
« Последнее редактирование: 01-08-2013 08:53 от FoX4 » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 01-08-2013 08:56 » 

Мне казалось, я выразился ясно.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
FoX4
Новенький

ru
Offline Offline

« Ответ #4 : 01-08-2013 09:41 » 

Я понял, что вы сказали...
Вы пример в коде не можете привести?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 01-08-2013 18:46 » 

Значит не все понял.
Повторяю: я не специалист по OpenGL. Концепцию я дал, над реализацией думай сам.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
FoX4
Новенький

ru
Offline Offline

« Ответ #6 : 02-08-2013 08:47 » 

Если вдруг кому-нибудь понадобится, то путем многочисленных пересборок FTGL и FreeType получил четкий растровый шрифт с выключенным FT_CONFIG_OPTION_SUBPIXEL_RENDERING (аналог ClearTypr), но при генерировании шрифта включил флаг FT_LOAD_FORCE_AUTOHINT. Осталось только отключить кернинг, т.к. некоторые буквы залезают друг на друга.

Добавлено через 1 час, 20 минут и 27 секунд:
С кернингом можно разобраться либо сменив ttf-шрифт, либо, например, при вызове метода Render указать spacing.

 
« Последнее редактирование: 02-08-2013 10:07 от FoX4 » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines