Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];

Вниз

OpenGL не хочет отображать букву "я"   Найти похожие ветки 

 
alpha5 ©   (2006-10-15 17:19) [0]

Привет всем!
У меня возник такой вопрос: почесу OpenGL не хочет отображать малую букву "я" ?
Код такой:
на создание формы:

{создание графических объектов на основе символов шрифта формы}
 wglUseFontBitmaps(canvas.handle, 0, 255, 1000);


в этапе прорисовки:

glRasterPos3f( 1, 2, 0 );
OutText(PChar( "Брянская область" ));


и сама процедура OutText:

procedure TFormMain.OutText (txt : PChar);
begin
glPushAttrib(GL_ALL_ATTRIB_BITS);
glListBase(1000);
glCallLists(Length (txt), GL_UNSIGNED_BYTE, txt);
glPopAttrib;
end;


Может быть возможно подключать файл шрифтов? Как это сделать - не знаю.
Или тут проблема в другом?

Подскажите пожалуйста!!! Очень нужно

Заранее спасибо.


 
Rial ©   (2006-10-15 18:18) [1]

Const
NumOfSymbols = $100;

Id:=glGenLists(NumOfSymbols + 1);
wglUseFontBitmaps(canvas.handle, 0, NumOfSymbols, Id);


 
alpha5 ©   (2006-10-15 19:39) [2]

Нет, к сожалению, не помогло.
Вообще ничего не выводится.


 
Rial ©   (2006-10-15 20:11) [3]

> [2] alpha5 ©   (15.10.06 19:39)
> Нет, к сожалению, не помогло.
> Вообще ничего не выводится.


Стоит попробывать отредактировать и другую часть кода.

procedure TFormMain.OutText(Const Id : Integer; Const Txt : PChar);
begin
glPushAttrib(GL_ALL_ATTRIB_BITS);
 glListBase(Id); //Тот самый наш идентификатор, запомним его
 glCallLists(StrLen(Txt), GL_UNSIGNED_BYTE, Txt);
glPopAttrib;
end;

Можно и так : ))

procedure TFormMain.OutText(Const Id : Integer; Txt : String);
begin
Txt :=Txt + #0;
glPushAttrib(GL_ALL_ATTRIB_BITS);
 glListBase(Id);
 glCallLists(Length(Txt) - 1, GL_UNSIGNED_BYTE, @Txt[1]);
glPopAttrib;
end;

В конце, естественно :
 glDeleteLists(Id, NumOfSymbols + 1);

Только вот интересно, до моей поправки только ли буква
"я" не выводилась ?

И еще. Если и теперь что то не работает, то ошибка, очевидно,
в другом месте. Так что если что, копируй больше кода.


 
alpha5 ©   (2006-10-15 21:16) [4]

Rial, СПАСИБО тебе большое. Всё получилось.
Просто я забыл подкорректировать процедуру
procedure TFormMain.OutText (txt : PChar);

А насчёт этого вопроса

> Только вот интересно, до моей поправки только ли буква
> "я" не выводилась ?

выводились все буквы, кроме вот этой вот "злой" буквы "я" (по крайней мере других осечек не замечал).
Я даже пробовал выводить "Я" большую. Получалось.


 
k1borg   (2006-10-15 21:32) [5]

а скажи, если не секрет зачем тебе буква "я" :))


 
alpha5 ©   (2006-10-15 21:36) [6]

типа:
Брянская область
Владимирская область
Нижегородская область

- это подписи


 
Ketmar ©   (2006-10-15 21:39) [7]

пиши "брйанскайа область, камрады!"
%-)


 
alpha5 ©   (2006-10-15 21:46) [8]

н-да, интересно, но нет. Хотя если так писать, то писать
"превед, брйанзкайа облаздь"
или типа того.



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
15-1187958426
BaryVetaL
2007-08-24 16:27
2007.09.23
OpenOffice Calc + Delphi


2-1188383218
Quart
2007-08-29 14:26
2007.09.23
Копирокание БД


2-1188223755
denis24
2007-08-27 18:09
2007.09.23
Подключение к dbf через ADO


2-1188409790
Giperon
2007-08-29 21:49
2007.09.23
Скрытие формы во время загрузки


15-1187863283
самовар
2007-08-23 14:01
2007.09.23
Вопрос по php





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский