DirectX 基礎學習系列6 字型

2022-03-06 03:13:49 字數 1482 閱讀 7951

directx9自帶id3dxfont類

內部呼叫gdi的介面,效率一般,但能夠處理一些複雜的字型

hresult d3dxcreatefontindirect( lpdirect3ddevice9 pdevice, const d3dxfont_desc * pdesc, lpd3dxfont * ppfont);

typedef struct d3dxfont_desc d3dxfont_desc, *lpd3dxfont_desc;

2繪製
int id3dxfont::drawtext(lpd3dxsprite psprite,  lpctstr pstring,  int count,
lprect prect,  dword format,  

d3dcolor color);

例項:

d3dxfont_desc lf;

zeromemory(&lf, sizeof(d3dxfont_desc));

lf.height = 25; // in logical units

lf.width = 12; // in logical units

lf.weight = 500; // boldness, range 0(light) - 1000(bold)

lf.italic = false;

lf.charset = default_charset;

lf.quality = 0;

lf.pitchandfamily = 0;

strcpy(lf.facename, "times new roman"); // font style

//// create an id3dxfont based on 'lf'.

//if(failed(d3dxcreatefontindirect(device, &lf, &font)))

device->beginscene();

rect rect = ;

font->drawtext(

0,fpsstring,

-1, // size of string or -1 indicates null terminating string

&rect, // rectangle text is to be formatted to in windows coords

dt_top | dt_left, // draw in the top left corner of the viewport

0xff000000); // black text

device->endscene();

2採用direct3d繪製方式:

可以採用d3d繪圖的方式實現更多的效果

DirectX基礎學習系列5 融合技術

7.1融合方程 1概念融合技術將當前光柵化畫素的顏色與以前已光柵化並處於同乙個位置的畫素顏色進行合成,即將當前要進行光柵化的三角形單元與已寫入後台的畫素進行融合 2需要遵循的原則 1 先繪製不需要融合的物體 2 需要融合的物品按照攝像機的深度值進行排序 3融合方程 color rgbsrc ksrc...

DirectX基礎學習系列4 顏色和光照

4.1顏色表示 rgb顏色 d3dcolor 可以用巨集d3dcolor argb a,r,g,b d3dcolor xrgb 255,r,g,b 另外一種浮點表示 d3dcolorvalue,浮點型別,最小為0 最大為1 4.2頂點顏色 struct colorvetex float x,y,z ...

DirectX學習 數學基礎 1

向量的基本運用 建立3d向量 typedef struct d3dxvector3 public d3dvector d3dxvector3 const float d3dxvector3 const d3dvector d3dxvector3 const d3dxfloat16 d3dxvecto...