HGE是個(gè)好東西,不過08年就停止更新了,而且不支持unicode,中文字體也支持不好,最不好的,停留在DX8時(shí)代。很久前Google了HGE的中文字體解決方案后,從HGE中文論壇中down下HGE某人修改的DirectX9.0 unicode版本。一直使用,最近在使用RenderTarget時(shí),發(fā)現(xiàn)其Target表面不能正確的Clear。將DX切換到調(diào)試版,提示Depth stencil buffer設(shè)置有問題,立馬核對修改前后的版本,發(fā)現(xiàn)在graphics.cpp的Gfx_BeginScene函數(shù)中,添加紅色部分代碼,就可以解決這個(gè)問題
if(FAILED(pD3DDevice->SetDepthStencilSurface( pDepth )))
{
if(target) pSurf->Release();
_PostError(L"Gfx_BeginScene: Can't set DepthStencilSurface");
return false;
}
if(FAILED(pD3DDevice->SetRenderTarget(0, pSurf)))
{
if(target) pSurf->Release();
_PostError(L"Gfx_BeginScene: Can't set render target");
return false;
}