DirectX 11下的FreeType文本渲染

时间:2014-10-26 17:02:51

标签: c++ directx-11 freetype

目前我只想使用FreeType和DirectX 11呈现单个字符。 但是我怎么能创建一个" ID3D11ShaderResourceView"来自FT_Bitmap? 我已经尝试过" D3DX11CreateShaderResourceViewFromFile"和" D3DX11CreateTextureFromFile"但两者都不起作用。

有人为我提供了很好的教程或代码片段吗?

1 个答案:

答案 0 :(得分:0)

由于FT_Bitmap是已经加载到内存中的位图,因此您无法使用从文件创建纹理的函数。相反,您将要使用函数从内存创建纹理。

您可以使用D3DXCreateShaderResourceViewFromMemory,但不推荐使用D3DX库。如该页面所述,您可能希望使用DirectXTKDirectXTex库从内存创建纹理。

或者,您可以使用ID3D11Device::CreateTexture2DID3D11Device::CreateShaderResourceView手动创建D3D纹理和着色器资源视图。

唯一棘手的部分是确定使用哪个DXGI_FORMAT。您需要将其与位图的FT_Pixel_mode匹配。