2014-10-26 94 views
0

目前我只想渲染带有FreeType和DirectX 11的单个字符。 但是,如何从FT_Bitmap创建“ID3D11ShaderResourceView”? 我已经尝试过“D3DX11CreateShaderResourceViewFromFile”和“D3DX11CreateTextureFromFile”,但两者都不起作用。DirectX下的FreeType文本渲染11

有人给我一个好的教程或代码片段吗?

回答

0

因为FT_Bitmap是已经加载到内存中的位图,所以不能使用从文件创建纹理的函数。相反,你会想用一个函数从内存中创建一个纹理。

您可以使用D3DXCreateShaderResourceViewFromMemory,但是不推荐使用D3DX库。正如在该页面中提到的那样,您可能想使用DirectXTKDirectXTex库来从内存中创建纹理。

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

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