如果我获得了任意3D应用程序,比如屏幕保护程序或游戏,我怎么知道它在运行时使用的是哪个DirectX或OpenGL版本?假设我没有关于二进制文件在线谷歌的信息,比如说有人刚刚写了一个DirectX演示并把它交给我。
答案 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)。
PE非常详细。你很可能会找到你想要的东西。