菜鸟DirectX之Direct显示文本

几乎所有的编程语言的第一步都是输出一个“Hello World”吧,再闷输出个中文版的“你好,世界”

DirectX中显示文本有两部

创建字体,就是你想用“宋体”还是”黑体“之类的

函数 D3DXCreateFont(...)

绘制出文本

函数 DrawText

显示文本

函数 Present


熟悉GDI的童靴一定知道在绘制图像中有个BeginPaint 和EndPaint吧,回执工作在这两个函数中间开始,DirectX也有两个函数叫做 BeginScene和EndScene


下面贴出部分代码

创建字体(只需要初始化的时候创建一次就够了)

if(FAILED(D3DXCreateFont(g_pd3dDevice, 36, 0, 0, 1, false, DEFAULT_CHARSET, 
OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, 0, _T("微软雅黑"), &g_pFont)))
return E_FAIL;

下面的代码在每一帧都会调用

清屏

g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);

开始绘制

g_pd3dDevice->BeginScene();

绘制文字

RECT rect;
GetClientRect(hwnd, &
rect);

g_pFont->DrawText(0, _T("【你好,世界】"), -1, &rect, DT_CENTER, 
D3DCOLOR_XRGB(
255,0,0));

结束绘制

g_pd3dDevice->EndScene(); 

显示文字

g_pd3dDevice->Present(NULL, NULL, NULL, NULL);





你可能感兴趣的:(菜鸟DirectX之Direct显示文本)