Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шрифты из файла 
V
    Опции темы
Graf_h
Дата 5.3.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: -1
Всего: 5



Здравствуйте! Подскажите пожалуйста, как в опенЖЛ можно использовать шрифты из графического файла? Заранее спасибо.


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
baldina
Дата 5.3.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



из какого графического файла?
PM MAIL   Вверх
Graf_h
Дата 5.3.2008, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: -1
Всего: 5



вот файл! и мне нужно чтобы текст отображался с помощью такого шрифта...

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  font.JPG 23,14 Kb


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
baldina
Дата 5.3.2008, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Нарежь его кусочками, по одному на букву.
Одна буква выводится в виде текстуры для прямоугольника нужного размера.
Создай display lists для каждой буквы с последовательными номерами.

Шрифт готов. Теперь (полагая, что списки созданы начиная с FONT_BASE) можно выводить текст:

Код

glListBase (FONT_BASE); 
char str[] = "Hello, world";
glCallLists (sizeof str, GL_UNSIGNED_BYTE, str); 


Шрифт, который ты показал, очень похож на системный. Может так будет проще?

Код

SelectObject (hdc, GetStockObject (SYSTEM_FONT)); 
wglUseFontBitmaps (hdc, 0, 255, FONT_BASE); 
...
glListBase (FONT_BASE); 
char str[] = "Hello, world";
glCallLists (sizeof str, GL_UNSIGNED_BYTE, str); 

PM MAIL   Вверх
Graf_h
Дата 5.3.2008, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: -1
Всего: 5



в смысле нарезать? для каждой буквы отдельный файл?обьясните пожалуйста поподробнее... а то системные шрифты не охота использовать smile 


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
baldina
Дата 5.3.2008, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



создай картинку для каждой буквы и используй её в качестве текстуры.
PM MAIL   Вверх
FIaR
Дата 9.3.2008, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 7.11.2006

Репутация: 2
Всего: 2



? как это "картинка для каждой буквы"?

Просто загрузи свой шрифт как текстуру, и поиграйся с текстурнымы координатами. Т.Е. для каждой буквы твоего текста будеш менять UV.
--------------------
Шуруп забитый молотком, держится лучше, чем гвоздь закрученый отверткой.  
PM MAIL   Вверх
Graf_h
Дата 10.3.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: -1
Всего: 5




FIaR Я также думал... но как сделать так чтобы фон был прозрачным, а сами буквы нет


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
FIaR
Дата 10.3.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 7.11.2006

Репутация: 2
Всего: 2



Уже и не помню, давно это было. Поищи по теме "Смешивание в OpenGL". Я уверен что найти будет не сложно. 

Или что то типа этого:

Код

  glEnable(GL_BLEND);
  glBlendFunc(GL_??, GL_??); // ?? -- параметры смешивания, можно посмотреть в gl.h

--------------------
Шуруп забитый молотком, держится лучше, чем гвоздь закрученый отверткой.  
PM MAIL   Вверх
Graf_h
Дата 11.3.2008, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: -1
Всего: 5



FIaR, то что нужно! наконецто разобрался!спасибо за помощь smile 


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0507 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.