在 DirectX 10 中,您可以使用 D3DX10 提供的字体界面。在 DirectX 11 中,您应该使用 DirectWrite。但它看起来像 DirectWrite 不原生说话 Direct3D?我缺少一些基本的东西吗?如何使用 DirectX 11 绘制简单的文本?
原文由 Darkenor 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 DirectX 10 中,您可以使用 D3DX10 提供的字体界面。在 DirectX 11 中,您应该使用 DirectWrite。但它看起来像 DirectWrite 不原生说话 Direct3D?我缺少一些基本的东西吗?如何使用 DirectX 11 绘制简单的文本?
原文由 Darkenor 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 DirectWrite ,它支持高质量的文本渲染、与分辨率无关的轮廓字体以及完整的 Unicode 文本和布局支持。
原文由 Faisal 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
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 很快就能做到。