I have developed an application using DirectX9 that displays a scene in stereo, using calls to NVAPI, based on pages 14-15 on this PDF:
http://www.nvidia.com/docs/IO/40505/WP-05482-001_v01-final.pdf
My application runs fine on a machine with a Quadro card, but will not work on a machine with a GeForce card. On a machine with GeForce, the emitter light doesn't turn a bright green at all. However, the Nvidia 3D viewer program still works fine on the machine with a GeForce.
Any idea what I could be doing wrong? My understanding was that OpenGL quad-buffered stereo would only work on a Quadro, but that if I used NVAPI with DirectX then it should work on a GeForce as well.
I have also tried doing the blit method (adding in the special stereo header on the last row of the image) according to this document:
http://developer.download.nvidia.com/presentations/2009/GDC/GDC09-3DVision-The_In_and_Out.pdf
but I couldn't get that to work at all, on the Quadro or the GeForce.
Any help greatly appreciated, thanks!
My application runs fine on a machine with a Quadro card, but will not work on a machine with a GeForce card. On a machine with GeForce, the emitter light doesn't turn a bright green at all. However, the Nvidia 3D viewer program still works fine on the machine with a GeForce.
Any idea what I could be doing wrong? My understanding was that OpenGL quad-buffered stereo would only work on a Quadro, but that if I used NVAPI with DirectX then it should work on a GeForce as well.
I have also tried doing the blit method (adding in the special stereo header on the last row of the image) according to this document:
Profiles are generated for an app using Nvidia's ACE Engine, which is exclusive to Quadro.
When you move the app to another PC using a GeForce GPU, if it doesn't have a profile, it gets assigned to the Global profile. The Global profile will initialize stereo in a lot of apps but not all of them.
Perhaps this is your problem?
Profiles are generated for an app using Nvidia's ACE Engine, which is exclusive to Quadro.
When you move the app to another PC using a GeForce GPU, if it doesn't have a profile, it gets assigned to the Global profile. The Global profile will initialize stereo in a lot of apps but not all of them.
http://nvidia.custhelp.com/app/answers/detail/a_id/2244/~/how-do-i-select-application-profiles-for-my-workstation-applications%3F
This is all I know about the ACE Engine, I'd assume that it also applies stereo settings, but I'm not certain. I've never been able to find very much information about profiles.
http://helixmod.blogspot.com/2013/03/how-to-change-3d-vision-profile-and.html
https://forums.geforce.com/default/topic/836462/3d-vision/guide-how-to-tweak-global-base-profile-settings-disable-info-text-fix-profile-saving-issues-etc-wip
Try using Nvidia Inspector to assign it to a few different profiles, to see if 3D kicks in.
@bahamut311:
Out of curiosity, did you develop the App to use 3D Vision Automatic or 3D Vision Direct?
If is 3D Vision Automatic I can help you with the App and tell you what you need to do to make it work on GForce cards;)
If is 3D Vision Direct I am actually curious on how you made it working;) When I tried it would only render one eye;)
@bahamut311:
Out of curiosity, did you develop the App to use 3D Vision Automatic or 3D Vision Direct?
If is 3D Vision Automatic I can help you with the App and tell you what you need to do to make it work on GForce cards;)
If is 3D Vision Direct I am actually curious on how you made it working;) When I tried it would only render one eye;)
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
Hi helifax,
What do you mean by 3D vision automatic or direct? Are you refering to this call?
NvAPI_Status status = NvAPI_Stereo_SetDriverMode(NVAPI_STEREO_DRIVER_MODE_DIRECT);
if so then ya I used the direct, other than that I pretty much followed the steps in that first pdf to use NVAPI, any specific details you want to know?
If I change to automatic will it work for geforce? Anything you can tell me will help, I appreciate it thanks!
Hi helifax,
What do you mean by 3D vision automatic or direct? Are you refering to this call?
NvAPI_Status status = NvAPI_Stereo_SetDriverMode(NVAPI_STEREO_DRIVER_MODE_DIRECT);
if so then ya I used the direct, other than that I pretty much followed the steps in that first pdf to use NVAPI, any specific details you want to know?
If I change to automatic will it work for geforce? Anything you can tell me will help, I appreciate it thanks!
Here is a sample program that does stereo 3D properly. It's always nice to start with known working code of course.
You will want to download this whole SDK, it's for older tech like 3D Vision. In there is a "StereoIssues" sample, with the Stanford Bunny. The stereo issue part is not as interesting at the moment, but it does show a full setup of 3D Vision that works on Geforce. There is a DX9 path.
http://developer.download.nvidia.com/akamai/gamedev/files/sdk/11/NVIDIA_SDK11_Direct3D_11.00.0328.2105.exe
That example is using 3D Vision Automatic, which is NVidia's driver level 3D Vision modifications that make any 3D game work in 3D Vision (to better and worse degrees).
3D Vision Direct says to disable that automatic mode, and that you will run all the 3D knobs instead. Depending upon what you are doing, it may be easier to use Automatic, but either way this sample should help you get it working on Geforce.
That example is using 3D Vision Automatic, which is NVidia's driver level 3D Vision modifications that make any 3D game work in 3D Vision (to better and worse degrees).
3D Vision Direct says to disable that automatic mode, and that you will run all the 3D knobs instead. Depending upon what you are doing, it may be easier to use Automatic, but either way this sample should help you get it working on Geforce.
Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607 Latest 3Dmigoto Release Bo3b's School for ShaderHackers
I did look at that demo, I have a few issues with it though. First, it doesn't work in windowed mode, and my application does need to run in a window.
StereoIssues.cpp Line 382
// Stereo is a Vista/Win7 feature for Dx9 and Dx10. One of the restrictions is that it only works
// in fullscreen mode, but it's useful to debug and place breakpoints in windowed mode.
// In any event, there is a button in the sample to toggle to fullscreen if needed, this only
// controls the starting state of the app.
Second, they use an older version of nvapi that uses weird byte wizardry (basically similar to the approach outlined in the 2nd pdf of my original post, which I couldn't get working at all). My app uses a newer version of nvapi using the calls in the 1st pdf, which I would prefer to stay with if possible.
I know its possible to do it in windowed mode on a geforce, since the 3d photo viewer works on a geforce in windowed mode.
I guess I was sorta hoping I could keep my app intact the way it is, and just set some of these "profile" flags correctly, although I tried some of the stuff outlined in this post:
https://forums.geforce.com/default/topic/836462/3d-vision/guide-how-to-tweak-global-base-profile-settings-disable-info-text-fix-profile-saving-issues-etc-wip
but to no avail, though I imagine I'm not doing it correctly. Are there some flags I can add to "Base Profile" based on the instructions in the link above that might make it work?
Also #9 in this link seems to reinforce the idea that its the "profile" stuff I need to look into:
http://www.mtbs3d.com/phpbb/viewtopic.php?f=105&t=16310
I am really hoping that I can just set some of those magic flags in the correct profile. I am assigning them to the "Base Profile", which should (in theory) get propagated into my application (and not overwritten by anything)
Any help in setting these profile flags is appreciated, thanks!
I did look at that demo, I have a few issues with it though. First, it doesn't work in windowed mode, and my application does need to run in a window.
StereoIssues.cpp Line 382
// Stereo is a Vista/Win7 feature for Dx9 and Dx10. One of the restrictions is that it only works
// in fullscreen mode, but it's useful to debug and place breakpoints in windowed mode.
// In any event, there is a button in the sample to toggle to fullscreen if needed, this only
// controls the starting state of the app.
Second, they use an older version of nvapi that uses weird byte wizardry (basically similar to the approach outlined in the 2nd pdf of my original post, which I couldn't get working at all). My app uses a newer version of nvapi using the calls in the 1st pdf, which I would prefer to stay with if possible.
I know its possible to do it in windowed mode on a geforce, since the 3d photo viewer works on a geforce in windowed mode.
I guess I was sorta hoping I could keep my app intact the way it is, and just set some of these "profile" flags correctly, although I tried some of the stuff outlined in this post:
but to no avail, though I imagine I'm not doing it correctly. Are there some flags I can add to "Base Profile" based on the instructions in the link above that might make it work?
Also #9 in this link seems to reinforce the idea that its the "profile" stuff I need to look into:
I am really hoping that I can just set some of those magic flags in the correct profile. I am assigning them to the "Base Profile", which should (in theory) get propagated into my application (and not overwritten by anything)
Any help in setting these profile flags is appreciated, thanks!
If you do the 3D in Direct Mode, you will be able to do 3D in a window. As far as I know, you no longer need to use that stereo texture hack, although it still works.
To try out different profiles bits, try swapping full profiles for your app for experimentation. There are several known good profiles, like the one for Google Earth that allow 3D in a window for DX11. This doesn't always work, for reasons that are not clear. You can also try the 3D Vision Photo Viewer profile.
You use NVidia Inspector, and reassign your exe to a different profile, removing it from a profile if it was created automatically (sometimes happens for default apps).
These profile swaps only work for 3D Vision Automatic I think, pretty sure that if you go Direct Mode that disables all the driver heuristics, and hence any changes from profile settings. None of us have much experience with Direct Mode, because we are modding games and require Automatic.
If you do the 3D in Direct Mode, you will be able to do 3D in a window. As far as I know, you no longer need to use that stereo texture hack, although it still works.
To try out different profiles bits, try swapping full profiles for your app for experimentation. There are several known good profiles, like the one for Google Earth that allow 3D in a window for DX11. This doesn't always work, for reasons that are not clear. You can also try the 3D Vision Photo Viewer profile.
You use NVidia Inspector, and reassign your exe to a different profile, removing it from a profile if it was created automatically (sometimes happens for default apps).
These profile swaps only work for 3D Vision Automatic I think, pretty sure that if you go Direct Mode that disables all the driver heuristics, and hence any changes from profile settings. None of us have much experience with Direct Mode, because we are modding games and require Automatic.
Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607 Latest 3Dmigoto Release Bo3b's School for ShaderHackers
HUZZAH!!!!! I got it working, thank you so much guys for your help. The google earth profile did it! I just used that complete profile for my application, and it works on the geforce now. I think the google earth profile had some specific flags in it that the other profiles I was trying out didn't have.
Anyway, thanks again, really appreciate the help.
HUZZAH!!!!! I got it working, thank you so much guys for your help. The google earth profile did it! I just used that complete profile for my application, and it works on the geforce now. I think the google earth profile had some specific flags in it that the other profiles I was trying out didn't have.
http://www.nvidia.com/docs/IO/40505/WP-05482-001_v01-final.pdf
My application runs fine on a machine with a Quadro card, but will not work on a machine with a GeForce card. On a machine with GeForce, the emitter light doesn't turn a bright green at all. However, the Nvidia 3D viewer program still works fine on the machine with a GeForce.
Any idea what I could be doing wrong? My understanding was that OpenGL quad-buffered stereo would only work on a Quadro, but that if I used NVAPI with DirectX then it should work on a GeForce as well.
I have also tried doing the blit method (adding in the special stereo header on the last row of the image) according to this document:
http://developer.download.nvidia.com/presentations/2009/GDC/GDC09-3DVision-The_In_and_Out.pdf
but I couldn't get that to work at all, on the Quadro or the GeForce.
Any help greatly appreciated, thanks!
When you move the app to another PC using a GeForce GPU, if it doesn't have a profile, it gets assigned to the Global profile. The Global profile will initialize stereo in a lot of apps but not all of them.
Perhaps this is your problem?
This is all I know about the ACE Engine, I'd assume that it also applies stereo settings, but I'm not certain. I've never been able to find very much information about profiles.
http://helixmod.blogspot.com/2013/03/how-to-change-3d-vision-profile-and.html
https://forums.geforce.com/default/topic/836462/3d-vision/guide-how-to-tweak-global-base-profile-settings-disable-info-text-fix-profile-saving-issues-etc-wip
Try using Nvidia Inspector to assign it to a few different profiles, to see if 3D kicks in.
Out of curiosity, did you develop the App to use 3D Vision Automatic or 3D Vision Direct?
If is 3D Vision Automatic I can help you with the App and tell you what you need to do to make it work on GForce cards;)
If is 3D Vision Direct I am actually curious on how you made it working;) When I tried it would only render one eye;)
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com
(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)
What do you mean by 3D vision automatic or direct? Are you refering to this call?
NvAPI_Status status = NvAPI_Stereo_SetDriverMode(NVAPI_STEREO_DRIVER_MODE_DIRECT);
if so then ya I used the direct, other than that I pretty much followed the steps in that first pdf to use NVAPI, any specific details you want to know?
If I change to automatic will it work for geforce? Anything you can tell me will help, I appreciate it thanks!
You will want to download this whole SDK, it's for older tech like 3D Vision. In there is a "StereoIssues" sample, with the Stanford Bunny. The stereo issue part is not as interesting at the moment, but it does show a full setup of 3D Vision that works on Geforce. There is a DX9 path.
http://developer.download.nvidia.com/akamai/gamedev/files/sdk/11/NVIDIA_SDK11_Direct3D_11.00.0328.2105.exe
That example is using 3D Vision Automatic, which is NVidia's driver level 3D Vision modifications that make any 3D game work in 3D Vision (to better and worse degrees).
3D Vision Direct says to disable that automatic mode, and that you will run all the 3D knobs instead. Depending upon what you are doing, it may be easier to use Automatic, but either way this sample should help you get it working on Geforce.
Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers
StereoIssues.cpp Line 382
// Stereo is a Vista/Win7 feature for Dx9 and Dx10. One of the restrictions is that it only works
// in fullscreen mode, but it's useful to debug and place breakpoints in windowed mode.
// In any event, there is a button in the sample to toggle to fullscreen if needed, this only
// controls the starting state of the app.
Second, they use an older version of nvapi that uses weird byte wizardry (basically similar to the approach outlined in the 2nd pdf of my original post, which I couldn't get working at all). My app uses a newer version of nvapi using the calls in the 1st pdf, which I would prefer to stay with if possible.
I know its possible to do it in windowed mode on a geforce, since the 3d photo viewer works on a geforce in windowed mode.
I guess I was sorta hoping I could keep my app intact the way it is, and just set some of these "profile" flags correctly, although I tried some of the stuff outlined in this post:
https://forums.geforce.com/default/topic/836462/3d-vision/guide-how-to-tweak-global-base-profile-settings-disable-info-text-fix-profile-saving-issues-etc-wip
but to no avail, though I imagine I'm not doing it correctly. Are there some flags I can add to "Base Profile" based on the instructions in the link above that might make it work?
Also #9 in this link seems to reinforce the idea that its the "profile" stuff I need to look into:
http://www.mtbs3d.com/phpbb/viewtopic.php?f=105&t=16310
I am really hoping that I can just set some of those magic flags in the correct profile. I am assigning them to the "Base Profile", which should (in theory) get propagated into my application (and not overwritten by anything)
Any help in setting these profile flags is appreciated, thanks!
To try out different profiles bits, try swapping full profiles for your app for experimentation. There are several known good profiles, like the one for Google Earth that allow 3D in a window for DX11. This doesn't always work, for reasons that are not clear. You can also try the 3D Vision Photo Viewer profile.
You use NVidia Inspector, and reassign your exe to a different profile, removing it from a profile if it was created automatically (sometimes happens for default apps).
These profile swaps only work for 3D Vision Automatic I think, pretty sure that if you go Direct Mode that disables all the driver heuristics, and hence any changes from profile settings. None of us have much experience with Direct Mode, because we are modding games and require Automatic.
Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers
Anyway, thanks again, really appreciate the help.