这是如何在DirectX 11中绘制文本?的后续问题。
在Direct3D-12中,事情变得更加复杂,因为它是新的,所以我在网上找不到合适的库。
我正在构建一个基本的Direct3D12 FPS测试应用程序,我喜欢用呈现的图像在屏幕上显示FPS数据。
发布于 2016-04-04 05:48:52
对于这样的问题,一般的答案是“如果你必须问,那么你可能应该使用DirectX 11”。DirectX 12是一个图形专家API,它提供了巨大的控制,并不特别关注新手的易用性。有关这方面的更多想法,请参见这条线。
这样的话,一个选择就是使用设备互操作和Direct2D/DirectW区。见使用Direct3D 11、Direct3D 10和Direct2D。
更新: 用于DirectX 12的DirectX工具包现在可用。它包括一个SpriteFont / SpriteBatch实现,它将在Direct3D 12呈现目标上绘制文本。见本教程。
发布于 2016-06-14 01:28:46
纯DirectX 12,然后您需要加载字体字形数据到一个顶点缓冲区和渲染一个顶点着色器和像素着色器。您在网上提到了库,这是专家吗?幸运的是,微软发布了如何使用开源MiniEngine项目的James。他处理DirectX 12中的多种字体、反混叠和阴影。
在GitHub https://github.com/Microsoft/DirectX-Graphics-Samples/tree/master/MiniEngine中查找项目文件,并查看Texender.h和Textrender.cpp
发布于 2016-05-13 21:18:26
如果你想用最少的工作量来设置最大的功能集,你可能应该使用DirectWrite在D3D11互操作设备上,就像Chuck在他的回答中说的那样。
如果您想要滚动您自己的高性能文本呈现,您可能想看看github上小型引擎示例存储库中的文本呈现程序,它有一些有趣的想法。
https://stackoverflow.com/questions/36394606
复制相似问题