Nvidia使用DirectX9和NVAPI调用GeForce的3D视觉

时间:2016-07-09 03:02:57

标签: directx nvapi

我使用DirectX9开发了一个应用程序,它使用对此PDF的第14-15页的NVAPI调用显示立体声场景:

http://www.nvidia.com/docs/IO/40505/WP-05482-001_v01-final.pdf

我的应用程序在配备Quadro卡的计算机上运行良好,但在带有GeForce卡的计算机上无法运行。在配备GeForce的机器上,发射器灯根本不会变成亮绿色。但是,Nvidia 3D查看器程序在使用GeForce的机器上仍能正常工作。

知道我可能做错了吗?我的理解是OpenGL四缓冲立体声只适用于Quadro,但如果我将NVAPI与DirectX一起使用,那么它也应该适用于GeForce。

我也尝试过根据这个文件做blit方法(在图像的最后一行添加特殊的立体声头):

http://developer.download.nvidia.com/presentations/2009/GDC/GDC09-3DVision-The_In_and_Out.pdf

但我无法在Quadro和GeForce上工作。

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

更新:我找到了解决这个问题的方法,以防万一有人感兴趣。

首先确保驱动程序是最新的。

接下来,获取并运行以下应用程序

http://www.geeks3d.com/20100528/manage-your-sli-profiles-with-nvidia-geforce-sli-profile-tool/

点击"导出"按钮用应用程序"配置文件"

创建文本文件

搜索" Google地球"的个人资料,并复制它,但更改"可执行文件"的值。到您的可执行文件的名称。例如,如果您的应用程序文件是" myapp.exe",它可能如下所示:

Profile "My Application"
ShowOn All
ProfileType Application
Executable "myapp.exe"
    Setting ID_0x0092f4de = 0x37605846
    Setting ID_0x1034cb89 = 0x00000000
    Setting ID_0x106d5cff = 0x00000000
    Setting ID_0x10a879cf = 0x00000001
    Setting ID_0x10f9dc81 = 0x00000011
    Setting ID_0x10f9dc84 = 0x00000100
    Setting ID_0x20568533 = 0x00000001
    Setting ID_0x205f7e3b = 0x00000000
    Setting ID_0x701eb457 = 0x2241ab21 InternalSettingFlag=V0
    SettingString ID_0x7049c7ec = "2.0"
    SettingString ID_0x704d456e = "Some objects render at wrong depth"
    SettingString ID_0x7051e5f5 = "2"
    SettingString ID_0x705fafec = "2009-01-01 00:00:00"
    Setting ID_0x708db8c5 = 0x561dde75 InternalSettingFlag=V0
    Setting ID_0x709a1ddf = 0x4b1cd969 InternalSettingFlag=V0
    SettingString ID_0x70b5603f = "D3D"
    Setting ID_0x70edb381 = 0x2420efa8 InternalSettingFlag=V0
    Setting ID_0x80303a19 = 0x00000000
    Setting ID_0x80857a28 = 0x00000000
    Setting ID_0x809d5f60 = 0x00000000
EndProfile

添加该配置文件后,保存txt文件,然后返回配置文件管理器,单击“导入”并选择刚保存的txt文件。然后再次尝试打开您的应用。

您可能希望在初始导出时保留原始配置文件的备份,以免弄乱。

此外,每次更新您的驱动程序时可能都需要这样做(虽然没有确认,但我想这些配置文件会被覆盖)