目前我只想渲染带有FreeType和DirectX 11的单个字符。 但是,如何从FT_Bitmap创建“ID3D11ShaderResourceView”? 我已经尝试过“D3DX11CreateShaderResourceViewFromFile”和“D3DX11CreateTextureFromFile”,但两者都不起作用。DirectX下的FreeType文本渲染11
有人给我一个好的教程或代码片段吗?
目前我只想渲染带有FreeType和DirectX 11的单个字符。 但是,如何从FT_Bitmap创建“ID3D11ShaderResourceView”? 我已经尝试过“D3DX11CreateShaderResourceViewFromFile”和“D3DX11CreateTextureFromFile”,但两者都不起作用。DirectX下的FreeType文本渲染11
有人给我一个好的教程或代码片段吗?
因为FT_Bitmap
是已经加载到内存中的位图,所以不能使用从文件创建纹理的函数。相反,你会想用一个函数从内存中创建一个纹理。
您可以使用D3DXCreateShaderResourceViewFromMemory
,但是不推荐使用D3DX库。正如在该页面中提到的那样,您可能想使用DirectXTK或DirectXTex库来从内存中创建纹理。
或者,您可以使用ID3D11Device::CreateTexture2D
和ID3D11Device::CreateShaderResourceView
手动创建D3D纹理和着色器资源视图。
唯一棘手的部分将是确定使用哪个DXGI_FORMAT
。您需要将其与位图的FT_Pixel_mode
相匹配。