自从我学习DirectX 7以来,变化太大了。
我到处看(除了Wikipedia),它告诉我在我可以做任何事情之前,我必须从DWrite渲染到D2D或GDI。
维基百科的那篇文章是错的吗?我不能渲染到Direct3D吗?
我希望避免渲染到D2D,因为显然,要让D2D写入D3D,您还必须打开一个D3D10.1设备。
仅仅在D3D11中呈现文本真的需要这么多吗?
发布于 2011-07-25 05:05:45
不幸的是,微软决定从他们的DirectX应用程序接口中移除原生文本支持。现在,您可以使用DirectWrite,然后如您所说的渲染到GDI或D2D,这有点笨拙,或者,创建您自己的字体处理类,并使用它(这是我在我的项目中选择做的)。
这里有一个关于如何生成自定义字体处理类的很好的教程:http://www.rastertek.com/dx11tut12.html
显然,您应该自己编写,但它提供了一个很好的起点,并允许您查看所有必要的过程(您可能希望添加支持多种字体的内容,为此,我建议创建一个Font类,您的Font-Handler将其与关联字符串一起存储在std::map< char*,Font* >中)。
希望这能有所帮助!:)
https://stackoverflow.com/questions/6809684
复制相似问题