现在学习下Direct3D在窗口中绘制一些文本信息,ID3DXFont接口负责创建字体和绘制二维的文本.我们介绍下ID3DXFont的用法.
1.创建LPD3DXFONT接口
LPD3DXFONT g_pTextInfor = NULL;
//创建字体
D3DXCreateFont(g_pd3dDevice, //Direct3D设备
26, //字体的高度
0, //字体的宽度
1000, //字体的权重值
0, //过滤属性
false, //是否斜体
DEFAULT_CHARSET, //字符集
OUT_DEFAULT_PRECIS, //文本的精度
DEFAULT_QUALITY, //输出的质量
0, //字体的索引号,一般填0
L"黑体", //字体类型
&g_pTextInfor);
2.绘制文本
g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);
//定义一个矩形,用于获取主窗口矩形
RECT formatRect;
GetClientRect(hwnd, &formatRect);
g_pd3dDevice->BeginScene(); // 开始绘制
g_pTextInfor->DrawText(0,L"盘子",-1,&formatRect,DT_SINGLELINE | DT_NOCLIP | DT_LEFT, D3DCOLOR_RGBA(235,123,230,255));
g_pd3dDevice->EndScene(); // 结束绘制
g_pd3dDevice->Present(NULL, NULL, NULL, NULL); // 翻转与显示