我希望影响另一个OpenGL或DirectX应用程序,类似于Nvidia Vision或Tridef。
我希望稍微更改相机位置并捕获生成的帧缓冲区,类似于Tridef和Nvidia。我对更新帧缓冲区不感兴趣,这是为了立体屏幕截图(输出到文件),因此如果有必要,它可能需要一些性能(不需要流畅的视频)。
在我看来,OpenGL和DirectX需要不同的实践。我最好瞄准DirectX。
我的另一个选择是捕获深度缓冲区和帧缓冲区,并使用重投影来创建立体捕获。
总结一下:
答案 0 :(得分:1)
我认为你所寻找的东西叫做挂钩。这个想法是你欺骗另一个程序调用你的函数而不是库函数,这样你就可以改变行为。它通常通过您的操作系统提供的某些API完成,或者通过欺骗链接器链接到您创建的dll,该dll与应用程序实际尝试使用的dll同名。
我对hookinh不太熟悉,但维基百科的文章有一些例子,包括一个使用direct3d的例子:http://en.wikipedia.org/wiki/Hooking