Форум: "Игры";
Текущий архив: 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.044 c