Главная страница
    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.041 c
8-1165925395
Виталий2006
2006-12-12 15:09
2007.09.23
Бесплатный Компонент для захвата видео


2-1188534797
RomanLN
2007-08-31 08:33
2007.09.23
неужели ни кто не знает как отменить программно доступ к папке??


15-1187871910
White Barsik
2007-08-23 16:25
2007.09.23
Идентор для BDS2006/2007


3-1179735014
олег_л
2007-05-21 12:10
2007.09.23
Quickreport


15-1187867268
oldman
2007-08-23 15:07
2007.09.23
ННМП-2007





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский