你如何在 DirectX 11 中绘制文本?

新手上路,请多包涵

在 DirectX 10 中,您可以使用 D3DX10 提供的字体界面。在 DirectX 11 中,您应该使用 DirectWrite。但它看起来像 DirectWrite 不原生说话 Direct3D?我缺少一些基本的东西吗?如何使用 DirectX 11 绘制简单的文本?

原文由 Darkenor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

2014年编辑:

正如评论中指出的,指向 RasterTek 教程的链接不再起作用,这是 RadioSpace 提供的指向 RasterTek 的 Webarchive 链接。

原始答案的第二点也不再有效,因为它现在可以与 Direct2D 共享 D3D11 后缓冲区,并通过它使用 DirectWrite 绘制文本。

2017年编辑:

RasterTek 仍在运行: D3D11 中的字体渲染


我知道两种选择

  • 制作自己的字体渲染引擎见 Rastertek DX11教程

  • 关于直接写入的第二个选项需要在 d3d11 和 d3d10.1 设备之间共享后台缓冲区,并使用 dwrite + d2d + d3d10.1 渲染 gui 和 d3d11 设备来渲染 3d 几何并将其全部合并到后台缓冲区中, 请参阅此线程上 DieterVW 的帖子

此时 dwrite 和 d2d 不接受使用 d3d11 设备创建的表面进行渲染。但希望 MS 很快就能做到。

原文由 Zee 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 DirectWrite ,它支持高质量的文本渲染、与分辨率无关的轮廓字体以及完整的 Unicode 文本和布局支持。

原文由 Faisal 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题