我写了一个用于在 Fallout NV 中显示自定义内容的 directx 挂钩,但我遇到了一个我无法理解的问题。
初始化代码:
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),而且它就像场景的“蒙版”,为什么?我错过了什么?