本篇的任务是要先学会混合和纹理才能够做到的。
这儿有几种方法能够在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