首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ D3DX字体和转换(需要d3d9和d3d10解决方案)

C++ D3DX字体和转换(需要d3d9和d3d10解决方案)
EN

Stack Overflow用户
提问于 2009-07-01 15:16:25
回答 1查看 1.5K关注 0票数 0

我想渲染字体的方式,考虑到当前的转换和类似的设置,特别是投影转换和视图。

我认为最好的方法是有一个屏幕外的表面来渲染文本,然后在我真正想要文本的地方呈现这个表面。

但是,我不确定这个解决方案的许多方面。

  • 这是最好的办法吗?
  • 有没有更好的免费字体渲染器,让我更好地花时间在允许这样的事情上。我看到很多人因为各种原因抱怨d3dx字体界面,但从来没有一个链接到一个更好的unicode的渲染器.?
  • 使用某些表面格式和/或表面尺寸有什么好处(例如总是使用最小的,而不是一些标准的大的,这需要额外的步骤,试图计算出尺寸.)
EN

回答 1

Stack Overflow用户

发布于 2009-07-17 01:34:47

是的,渲染到纹理,然后绘制一个纹理四边形来定位和定位文本将是实现这一功能的最简单的方法。

至于D3DX文本呈现器,它实际上取决于您使用的是哪个SDK。DirectWrite (仅适用于Windows7和Vista)将为需要高质量文本呈现的应用程序提供一种更高质量的文本呈现方法,这种方式可以与Direct3D进行互操作。

你当然可以做你自己的光栅化。有一些字体栅格化引擎是开源的,可以根据这一需求重新使用,但我们在这里讨论的是大量的编码,这样做的好处可能不足以保证开发费用。

话虽如此,有一个全新的选择,您可以使用Direct3D和着色器,前提是您可以访问字形轮廓作为曲线数据。其思想是使用着色器对文本进行栅格化,并将曲线定义存储在顶点流和相关纹理中。试着看看本论文,它描述了这种技术。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1069735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档