LPD3DXFONT不画画

时间:2016-09-18 04:50:44

标签: c++ fonts rendering direct3d direct3d9

我的LPD3DXFONT暂时没有绘图了。

DrawText()返回D3D_OK,之前工作得很好。

我的原语和精灵画得很好,但所有文字都不再可见了。

我相信这可能是渲染状态的一个变化,但我不知道哪一个可以让字体停止渲染,同时留下精灵就好了。

1 个答案:

答案 0 :(得分:1)

您应该在呈现ID3DXFonts之前指定这些标志:D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_TEXTURE。这段代码在这里工作正常:

// Prepare the device for drawing sprites
if(SUCCEEDED(m_pD3DXSprite->Begin(D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_TEXTURE)))
{
    // Render the data on the screen
    m_pD3DXFont->DrawText(m_pD3DXSprite, m_szFPSData, -1, &oTextClientRect[0], 0, 0xFFFF0000); // FPS data

    // End sprite drawing operations
    m_pD3DXSprite->End();
}