聊一聊DX字体

作者:StrongCoding

 

邮箱:[email protected] DX群:130302441

 

若文中有误,请告知.十分感谢.一起加油.

 

在游戏开发中,我们经常需要显示的在屏幕上打印字体,已将文字消息渲染到屏幕,实现信息互动。本篇就是基于此,好了,不多说了,开始吧:

 

DX一共支持三种字体的渲染,在这里说一下:伪代码掩饰哈

 

<1>最简单的ID3DXFONT,其实是实现的2D字体(HFONT)

 

       ID3DXFONT *pFont = NULL;

 

       D3DXCreateFont(...) --->这一步将使pFont生效

       ________________

 

       设备->DrawText(...) --->绘制文本即可

 

       注意最后要记得释放字体指针

 

        <2>对于对于第二种与第一种很相近,只不过换个创建函数罢了(HFONT)

 

D3DXCreateFontIndirect(...) 

 

        <3>介绍具有3D效果的字体实现(D3D设备和2D设备配合完成任务)

 

ID3DXMESH *pFontMesh = NULL;

 

HDC hdc = CreateCompatibleDC( 0 );

HFONT hfont;

HFONT hOldFont;

 

hfont = CreateFontIndirect(...);

hOldFont = hdc.selectobject( hfont );

 

D3DXCreateText(...)

 

//... 材质、灯光等等

pFontMesh->DrawMesh();

 

最后 记得释放指针、设备、对象相关.

 

你可能感兴趣的:(DX9基础)