Текущий архив: 2003.05.19;
Скачать: CL | DM;
ВнизD3DX Найти похожие ветки
← →
Ev_genus (2002-12-05 23:04) [0]Если кто работал с сабж. дайте работающий примерчик. Просто шоб ФПС выводил например.
Заранее спасибо.
← →
Sapersky_ (2002-12-07 14:04) [1]Какой D3DX - от DX7 или DX8?
← →
Ev_genus (2002-12-09 15:45) [2]D3DX8. А конкретно ID3DXFont
← →
Sapersky_ (2002-12-09 19:46) [3]Var DFont : ID3DXFont;
Создание:
procedure CreateFont;
Var LogFont : TLogFontA;
begin
with LogFont do begin
lfHeight:= 16; lfWidth:= 5;
lfEscapement:= 0; lfOrientation:= 0; lfWeight:= 400;
lfItalic:= 0; lfUnderline:= 0; lfStrikeOut:= 0;
lfCharSet:= OEM_CHARSET;
lfOutPrecision:= OUT_DEFAULT_PRECIS;
lfClipPrecision:= CLIP_DEFAULT_PRECIS;
lfQuality:= DEFAULT_QUALITY;
lfPitchAndFamily:= DEFAULT_PITCH or FF_DECORATIVE;
FillChar(lfFaceName,32,0);
end;
D3D8Check(D3DXCreateFontIndirect(D3DDev8, LogFont, DFont));
end; // D3DDev8 - инициализированный девайс
Использование:
Var st : String;
r : TRect;
st:="Hello world!";
r:=Rect(10,10,200,40);
DFont._Begin; // если текст выводится несколько подряд
DFont.DrawTextA(PChar(st), -1, r, DT_NOCLIP, $FFFFFFFF);
// r - прямоугольник, в который вписывается текст
// DT_NOCLIP - не делать отсечения по прямоугольнику
// (там ещё куча всяких флагов, выравнивание, форматирование,
// разбивка на строки и т.п.)
// последний параметр - цвет
DFont._End;
Уничтожение:
DFont:=nil;
Хотя вообще-то ID3DXFont лучше не использовать (тормозит - попробуй вывести много текста). Есть микрософтовский класс CFont - из переведённого на Delphi framework к DX8. Он вроде лучше работает.
Framework и много всяких примеров по D3DX8 лежит на http://clootie.narod.ru/delphi. Только они используют свою версию DX-заголовков (не ту, что на http://www.crazyentertainment.net).
← →
Ev_genus (2002-12-10 01:51) [4]Спасибо.
>Хотя вообще-то ID3DXFont лучше не использовать
>(тормозит - попробуй вывести много текста).
Да мне только для консоли.
Страницы: 1 вся ветка
Текущий архив: 2003.05.19;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c