我正在尝试将nvapi设置为使用函数NvAPI_Stereo_SetDriverMode以直接模式工作。
根据Nvidia nvapi site(在手册中), 如果你想进行direct3d实现,你需要初始化nvpai,然后设置直接模式,然后创建设备(d3d10device),然后创建立体声句柄...(继续程序)。
NvAPI_Initialize();
NvAPI_Stereo_SetDriverMode(g_StereoHandle , NVAPI_STEREO_DRIVER_MODE_DIRECT);
D3D10CreateDeviceAndSwapChain(...,pD3D10Device);
NvAPI_Stereo_CreateHandleFromIUnknown(pD3D10Device,&g_StereoHandle );
.....(the rest)
我尝试了但是然后功能NvAPI_Stereo_SetActiveEye(告诉我想要渲染我的网格的哪一只眼睛)说模式不是直接模式。
当我查看头文件时,我发现在创建句柄后应该调用该模式。但当我这样做时,它返回了NVAPI_INVALID_ARGUMENT(并且我再次无法设置主动眼睛)。
NvAPI_Initialize();
D3D10CreateDeviceAndSwapChain(...,pD3D10Device);
NvAPI_Stereo_CreateHandleFromIUnknown(pD3D10Device,&g_StereoHandle );
NvAPI_Stereo_SetDriverMode(g_StereoHandle , NVAPI_STEREO_DRIVER_MODE_DIRECT);
.....(the rest)
有没有人遇到同样的问题?
我试图在网上查看nvapi的示例,但它似乎是新的并且nvidia开发人员区域已关闭(由于某些技术问题)。
答案 0 :(得分:0)
这很奇怪。
也许有人在你的代码中添加了一个邪恶的'#define'? :)
答案 1 :(得分:0)
如果有人来寻找
的工作示例NvAPI_STEREO_DRIVER_MODE_DIRECT
然后这是我在github遇到的项目的链接。这里的例子演示了在d3d设备之前的立体声初始化。 显示了使用后缓冲区在每只眼睛中渲染的用法。至于OP,第一种方法应该有效,因为DirectMode需要NVAPI& NvAPI_Stereo_SetDriverMode在创建设备之前首先进行初始化。希望这有助于某人:)