现在学习下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); // 翻转与显示