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

Вниз

Двойная буфферизация   Найти похожие ветки 

 
ЛенаОД   (2006-03-09 18:49) [0]

Я пишу интерактивное приложение для работы с графикой.использую OpenGL(с двойной буфферизацией).Но текст мне нужно выводить Windows-овский(тип шрифта менять и т.д.), решила использовать функцию TextOut, но он мерцает.Написала Form1.DoubleBuffered:=True; - не помогает.


 
KreeS ©   (2006-03-09 18:56) [1]

вот примерно как windows"овский шрифт делается в OGL...

function glCreateFont(const Name: String; Width, Height, Weight: Integer; DC: HDC) : Cardinal;
var
 font : HFONT;
begin
 Result := glGenLists(256);
 font := CreateFont(Height, Width, 0, 0, Weight, 0, 0, 0, RUSSIAN_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE or DEFAULT_PITCH, PChar(Name));
 SelectObject(DC, font);
 wglUseFontBitmaps(DC, 0, 256, Result);
 DeleteObject(font);
end;

procedure glFontFree(Font: Cardinal);
begin
 glDeleteLists(Font, 256);
end;

procedure glTextOut(const Text: String; X, Y: Single; Font: Cardinal);
begin
 glDisable(GL_TEXTURE_2D);
 glRasterPos2f(X, Y);
 glListBase(Font);
 glCallLists(Length(Text), GL_UNSIGNED_BYTE, PChar(Text));
end;

потом делаешь так...

var
 courier_new: Cardinal;
 ...
 courier_new := CreateFont...

Ну и дальше все просто.
Ничего мерцать не должно.


 
ЛенаОД   (2006-03-09 19:18) [2]

Я так уже делала, но во-первых текст достаточно кривоват, даже сглаживание не помогает, а во-вторых я ж не могу таким образом выбирать встроеные шрифты Windows


 
KreeS ©   (2006-03-09 19:43) [3]

Можешь, нужно просто в качестве Name указывать имя windows шрифта, например "Courier New" или "Arial".
Шрифт получается точно такой же как в системе, если его не масштабировать, а рисовать того же размера, какой указан при создании.

PS. С прошедшим :)


 
KreeS ©   (2006-03-09 19:46) [4]

можешь заглянуть в соседнюю тему про War Metal, там в моей демке текст консоли выводитя точно таким способом, буквально из своего движка кусок скопировал, налетайте, халява :)


 
ЛенаОД   (2006-03-09 20:34) [5]

Спасибо за поздравления и за информацию



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

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

Наверх




Память: 0.45 MB
Время: 0.022 c
15-1166548775
Kerk
2006-12-19 20:19
2007.01.14
Двухлетие Кладовки


2-1167132325
LPal7
2006-12-26 14:25
2007.01.14
прооблемы с blob полем


2-1166594381
EgorovAlex
2006-12-20 08:59
2007.01.14
Не свитывается из файла JobInfo2W: Сначала я его записываю в файл


2-1166966082
yeorsh
2006-12-24 16:14
2007.01.14
Вопрос изменения DBGrid.Font.Color.


15-1166662585
Oreolek
2006-12-21 03:56
2007.01.14
Ассемблер





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