나는 Fraps와 같은 효과를 얻으 려합니다. Fraps는 게임 위에 오버레이가되어, 원래 함수를 호출하기 전에 IDirect3DDevice9::EndScene
함수와 렌더링 물건을 연결합니다. 그러나 물건을 렌더링하면 게임이 이미 그린 효과를 망칠 수 있으며 올바르게 그려지지 않습니다. 내 후크는Direct3D hook overlay
pGameOverlay
누구
Render
방법 그냥 이전에 설정 한 장치에 몇 가지 물건을 그립니다 클래스에 단지 포인터입니다 wherer
HRESULT __stdcall endscene_hook(IDirect3DDevice9* id3d_device) {
if (pGameOverlay) {
pGameOverlay->Render();
}
return endscene_orig(dev);
}
처럼 (도시하지 않음)에 보인다. 내가해야 할 일이 있니?
나는 Fraps가 EndScene
대신 Present
메서드를 실제로 후킹한다고 읽었습니다. 이것이 맞습니까? 그렇다면 왜입니까? 그리고 Present
을 호출하는 사이에 BeginScene
/EndScene
쌍을 하나만 가질 수 있습니까?
후크 그 자체가 혼란을 야기하지 않는지를 기본적으로 확인하는 것처럼 : pGameOverlay-> Render()를 생략하면 모든 것이 정상적으로 보입니까? – Suma
@Suma 그래, 내 물건을 렌더링하지 않으면 모든 것이 정상적으로 렌더링됩니다. –