![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
![]()
Здравствуйте!!!
Подскажите, как вывести любой (шрифт, размер, цвет) текст в OpenGl (Delphi). |
![]() |
![]() |
![]() |
#2 |
Регистрация: 07.12.2008
Сообщений: 8
|
![]()
Рах уж у тебя Delphi, вот код на Builder C++ - перевести в делфи будет легче
Это двумерный текст: HFONT Font; int Font_Base; Font_Base = 1000; Font=CreateFont( 14, // logical height of font 8, // logical average character width 60, // angle of escapement 0, // base-line orientation angle FW_NORMAL, // font weight 0, // italic attribute flag 0, // underline attribute flag 0, // strikeout attribute flag ANSI_CHARSET, // character set identifier OUT_DEFAULT_PRECIS, // output precision CLIP_DEFAULT_PRECIS, // clipping precision PROOF_QUALITY, // output quality DEFAULT_PITCH, // pitch and family "Courier New" // pointer to typeface name string ); SelectObject(hdc,Font); wglUseFontBitmaps(hdc, 0, 256, Font_Base); // Не забудь сатем их удалить glDeleteLists(Font_Base,256); --------------------------------------------------------------------- Это текст 3D Именно его можно наблюдать в винде - Трехмерный текст - скрин HFONT Font2; int Font_Base2; void __fastcall TFormMain::InitText3D() { Font_Base2 = 2000; Font2=CreateFont( 14, // logical height of font 7, // logical average character width 0, // angle of escapement 0, // base-line orientation angle FW_NORMAL, // font weight 1, // italic attribute flag 0, // underline attribute flag 0, // strikeout attribute flag ANSI_CHARSET, // character set identifier OUT_DEFAULT_PRECIS, // output precision CLIP_DEFAULT_PRECIS, // clipping precision PROOF_QUALITY, // output quality DEFAULT_PITCH, // pitch and family "Times New Roman" // pointer to typeface name string ); SelectObject(hdc,Font2); wglUseFontOutlines (hdc, 0, 255, Font_Base2, 0.0, 0.20, WGL_FONT_LINES,NULL); } glDeleteLists(Font_Base2,256); // Удалим список на выходе ------------------------------------------------------------------------ Ну и вывод 2D текст glPushAttrib(GL_ALL_ATTRIB_BITS); glListBase(Font_Base); glRasterPos3f(0,0,0); glCallLists(9, GL_UNSIGNED_BYTE, "Levsha100"); glPopAttrib; --------------- 3D glPushMatrix(); glTranslatef(0,0,0); glListBase(Font_Base2); glCallLists(9, GL_UNSIGNED_BYTE, "Levsha100"); glPopMatrix(); з.ы. Советую все же использовать текстурные шрифты - таких прог в инете лежит много - из шрифта сделать текстуру, или сам напиши. Потом загруз текстуру и сделай 2D шрифты, а в 3D - думай сам, либо в 3D Максе наделай надписи, либо через wglUseFontOutlines(); Тут уж все зависит от задачи. Еще, почаще нажимай F1 - для справки, ставишь курсор на оператор и жми F1 - много интересного можно почитать в справках ![]() |
![]() |
![]() |
![]() |
#3 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
![]()
ГРОМАДНОЕ СПАСИБО!!!
![]() ![]() ![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
OpenGL в Delphi 10 | Sergeu | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 6 | 24.09.2008 19:18 |
Поверхность по массиву точек на OpenGL в Delphi | Mixasik | Помощь студентам | 1 | 21.07.2008 16:41 |
Срочно подскажыте пожайлуста (OpenGL, Delphi) | Nadjuha | Помощь студентам | 4 | 10.06.2008 08:12 |
Работа с текстурами. OpenGL в Delphi. | Gambler | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 21.04.2008 01:19 |
OpenGl+Delphi,при загрузке текстуру сильно корежит | Skif | Помощь студентам | 1 | 27.11.2007 08:40 |