Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

D3DX


Ev_genus ©   (2002-12-05 23:04:00) 

Если кто работал с сабж. дайте работающий примерчик. Просто шоб ФПС выводил например.

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


Ev_genus   (2002-12-10 01:51:00) [1]

Спасибо.
>Хотя вообще-то ID3DXFont лучше не использовать
>(тормозит - попробуй вывести много текста).
Да мне только для консоли.


Sapersky_   (2002-12-09 19:46:00) [2]

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-09 15:45:00) [3]

D3DX8. А конкретно ID3DXFont


Sapersky_   (2002-12-07 14:04:00) [4]

Какой D3DX - от DX7 или DX8?


Наверх

Титульная страница Поиск, карта сайта Написать письмо