1

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

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 上。

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

4

1 回答 1

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 文件。然后尝试再次打开您的应用程序。

您可能希望在初始导出时保留原始配置文件的备份,以防您搞砸了。

此外,每次更新驱动程序时可能都必须这样做(虽然尚未确认,但我想配置文件会被覆盖)

于 2016-08-03T20:15:51.137 回答