我写了一个directx钩子,用于在Fallout NV中显示自定义内容,但是我遇到了一个我无法理解的问题。
初始化代码:
hdc=CreateCompatibleDC(NULL);
font=CreateFont(1000,0,0,0,FW_NORMAL,false,false,false,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP _DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,"Arial");
SelectObject(hdc, font);
D3DXCreateText(this->m_pIDirect3DDevice9,hdc,"Hello World",0.001f,0.4f,&mesh,NULL,NULL);
EndScene Hook上的代码:
m_pIDirect3DDevice9->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
D3DXMATRIX world_matrix; //Pre-initialized
D3DXMatrixIdentity(&world_matrix);
D3DXMatrixTranslation(&world_matrix,-67762,3567,8384);
m_pIDirect3DDevice9->SetTransform(D3DTS_WORLD,&world_matrix);
mesh->DrawSubset(0);
结果如下:
正如你所看到的那样,图像是2d(它应该是3d),而且它就像场景的“面具”,为什么? 我错过了什么?