|
小弟做的是Hook游戏:在每一个次执行DrawPrimitive或者DrawIndexedPrimitive里面
第一步:获得当前的渲染目标
d3d_device->GetRenderTarget(0,&render_target);
第二步:新建一个相同的渲染对象:
D3DSURFACE_DESC Desc;
render_target->GetDesc(&Desc);
d3d_device->CreateTexture(Desc.Width, Desc.Height, 1, Desc.Usage, Desc.Format, Desc.Pool, &texture,NULL);
texture->GetSurfaceLevel(0,&new_target);
第三步:
d3d_device->SetRenderTarget(0,new_target);
DrawPrimitive或者DrawIndexedPrimitive
d3d_device->SetRenderTarget(0,render_target);
DrawPrimitive或者DrawIndexedPrimitive
执行过后,在一些游戏里new_target是正常的,但是在一些游戏里new_target就总是空的。
用D3DXSaveSurfaceToFile保存截图,可以看到render_target是一个正常的图像,
而我自己申请的new_target就是一片黑。
请问各位高手这可能是什么原因呢?
[em17] |
|