D3D中使用Font的方法

本文探讨了在Direct3D中实现文本渲染的各种方法。包括使用ID3DXFont接口、CD3DFont类以及D3DXCreateText函数创建3D文本mesh等技术。通过这些方法,读者将学会在游戏和其他3D应用中高效地显示信息。

D3DXFont

在这部分,我们讨论应用Direct3D来实现一些3D应用,示例一些地形的技术,粒子系统,拾取,构造灵活的 3D摄影机。另外,我们花些时间来探索D3DX库(特殊的,数学相关的组件).在章节里有简短的描述。

第9章,"字体"-在游戏期间,我们常常需要显示一些信息给用户。这章讨论三我们可以整合和在Direct3D中输出 文字。

第10章,"Meshes第一部分"-这章彻底的解释了D3DXMesh接口ID3DXMesh的数据和方法。

第11章,"Meshes第二部分"-在这章,我们继续我们学习D3DX mesh相关的接口和函数。我们学习关于.x文件和怎样加载 和渲染它们。另外,我们测试渐进的mesh接口ID3DXPMesh.这章也显示怎样计算范围盒和范围球。

第12章, "构造灵活的摄影机"-在这章,我们设计和实现灵活摄影机类它的六个角度的自由旋转。这摄影机 适合于飞行模拟和第一人称射击。

第13章,"基本地形渲染"-这章展示怎样创建纹理,光,渲染3D地形。而且,我们展示怎样平滑的移动摄影机不超过提醒, 看上去是走在地形上。

第14章,"粒子系统"- 在这章,我们学习怎样用小的粒子构造模型系统在一个小的样式中的。例如, 粒子系统可以被用来模拟下雪和雨,火花和爆炸,烟的颗粒,火箭轨迹,甚至枪的子弹。

 

第15章,“拾取"-展示怎样用鼠标来拾取特殊的模型。通常在3D游戏和应用中是必要的用户接口。

第9章字体

在游戏间我们常常显示原文用户的信息。这个章节讨论三种在D3D中输出文字的方式。每个方式符合简单的web page应用的 计算文件。

目标

学习怎样使用ID3DXFont接口来渲染文本

学习怎样使用CD3DFont类来渲染文本

学习怎样计算每帧的数值

学习怎样创建渲染3D的文本使用D3DXCreateText函数

ID3DXFont

jD3DX库提供了ID3DXFont接口来在Direct3D应用程序中绘制文本。这个接口使用GDI接口通常画,所以我们在性能上这个接口。 然而,ID3DXFont可以处理复杂的字体和它使用GDI来格式化。

创建ID3DXFont字体

我们可以使用D3DxCreateFontIndirect函数来创建字体

下面代码展示了如何使用此函数的代码片段:

LOGFONT lf;

CD3DFont - 方式

DirectX SDK提供了一些非常有用的实用代码来\Samples\C++\Common文件夹 DXSDK根目录。有一个CD3DFont的类, 使用纹理三角形和Direct3D来显示渲染文本。自从CD3DFont使用Direct3D来渲染取代GDI,它就比ID3DXFont更快。然而, CD3DFont不支持复杂的字体格式。如果你需要自渎,CD3DFont类可以了。为了使用CD3DFont类,你需要添加下面的文件到 d3dfont.h, d3dfont.cpp d3dutil.h d3dutil.cpp, dxuti.h dxutil.cpp.这些文件可以在Src文件夹里找到。

使用FreeType字体

D3DXCreateText

这最后的函数创建3DMesh的文本。图9.1展示了3D的文本mesh ,FontMesh3D例子在章来渲染。

deviation - Extrusion

创建完毕后可以使用ID3DXMesh的 DrawSubset(0)来显示 3D的简单字体。

当需要支持复杂的格式的时候,使用ID3DXFont接口渲染字体。这个接口使用GDI里渲染文本和因此性能下降。

使用CD3DFont 渲染简单的字体。这个类使用纹理三角形和Direct3D渲染文本和因此比ID3DXFont比非常快。

使用D3DXCreateText来创建3DMesh的字符串文本。

转载于:https://www.cnblogs.com/microsoftxiao/archive/2006/06/13/424486.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值