D3D11的简单字体

本篇的任务是要先学会混合和纹理才能够做到的。

这儿有几种方法能够在D3D11中实现字体显示,一个是学会使用微软想要我们使用的两个新的API,Direct2D和DirectWrite,实际上它们是很有用处的,暂不提它们的灵活性(除了不能够直接使用D3D11设备之外),它的缺点就是 由于不能够直接在D3D11中使用,需要在D3D10.1的设备中使用,导致在渲染时需要在这两种设备之间切换。


本篇是在混合篇基础上进行的,做了一些细微的改动。这儿将会学会到如何同步api。

在d3d11中渲染字体到屏幕会比较慢。


D3D11中的字体渲染(使用Direct2D)

在initializeD3D函数中初始化direct3d 10.1设备,direct2d和directdraw。另外一个从initscene函数调用的函数将会创建一个矩形用来渲染direct2d渲染目标纹理,从direct2d和direct3d 10.1纹理渲染创建一个着色器资源视图。该视图将用于纹理化那个矩形。

想要更为灵活和好看的字体还是用Direct2D ,然而,微软却没有让Direct2D直接作用于Direct3D 11。 

那么要怎么在一个D3D11的应用程序中使用D2D呢?需要使用一种叫做窗口共享(surface sharing)的技术。使用这种方法,能够使用带d

你可能感兴趣的:(DIRECT3D,D3D字体实现)