DX11字体使用GDI

3
有没有人找到一种简单的方法,可以在DirectX 11窗口上轻松叠加文本(使用C++)?
通常我会渲染成位图,并将其用作我的3D场景中的纹理,但这是用于开发工具,我只需要在左上角打印一些基本信息(fps,多边形数量等),类似于Max或Maya的渲染窗口。
是否可能像在绘制消息等时在窗口上打印GDI文本?对于仅需三行文本,实现整个字体渲染系统似乎有点过度。我听说过使用DX10和Direct2D进行“表面共享”,但同样针对我的需求而言,这也听起来很麻烦。
谢谢。

你已经钩取应用程序以确定FPS、多边形数量等信息,还是这些信息来自其他地方? - MooseBoys
这是我的自有应用程序,所以我正在自行计算一切。我可以使用GDI在另一个窗口上打印输出,但我希望能够像Max和Maya一样进行叠加。 - Damian
1个回答

1

DirectX工具包中的SpriteFont是一个基于位图的轻量级字体渲染器,适用于Direct3D 11。

请注意,使用DirectX 11.1(Windows 8.x和Windows 7 SP1与KB2670838)可以在DirectX 11.x设备上使用Direct2D / DirectWrite,而不必处理DXGI表面共享的复杂性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接