如何知道应用程序使用哪个3D API?

时间:2012-07-20 09:07:15

标签: opengl directx

如果我获得了任意3D应用程序,比如屏幕保护程序或游戏,我怎么知道它在运行时使用的是哪个DirectX或OpenGL版本?假设我没有关于二进制文件在线谷歌的信息,比如说有人刚刚写了一个DirectX演示并把它交给我。

3 个答案:

答案 0 :(得分:2)

您可以使用其他一些工具,例如:DependencyWalker并检查应用程序使用的DLL。

如果您有OpenGL应用程序,那么您可以使用gDebugger来调用调用的函数调用以及调用顺序。类似地,对于DX应用程序,有一个PIX

答案 1 :(得分:1)

好吧,程序二进制文件将链接到Direct3D DLL或OpenGL DLL。在DirectX中,每个版本都有一组自己的DLL。在OpenGL的情况下,唯一的方法是拦截OpenGL调用。 OpenGL-3及更高版本需要一些特殊的上下文创建方法,其中包括设置预期的版本。在OpenGL-3之前的任何东西实际上都是带扩展的OpenGL-1.1,其中一些扩展成为核心功能。

答案 2 :(得分:0)

如果您使用的是Windows计算机,则可以使用Process Explorer(PE)。

  1. 启动PE。按CTRL + L或查看 - >勾选“显示下窗格”
  2. 启动您的申请。
  3. 在PE中找到您的应用程序。您将能够看到下部窗格中使用的所有动态库。如果在下部窗格中看不到任何内容,请使用管理员权限运行process explorer。
  4. PE非常详细。你很可能会找到你想要的东西。

相关问题