I'm still not saying it is easy but 3D Vision works in three ways:
3D Vision Ready
3D Vision Discover
3DTV play
3DTV play is limited to framepacked and can not render 120 frames at 1080p
3D Vision Ready is probably not available when using a TV but obviouosly capable of running 120hz 1080p
3D Vision Discoverer can run 120hz 1080p it can even run 1080p in pivot.
While 3D Vision discoverer seems like the only solution it clearly has problems.
One good thing is that 3D Vision discoverer already works on any display but obviously has filtered colors.
It's not something I would spend any time on considering I have no TV and absolutely no intention in buying one. I really don't think SBS support would be enough to make 3D Vision the optimal solution for VR. I still don't have a confirmation that VR works well while wearing glasses.
As DSS says too much happens inside the driver. From the perspective of the game it renders once but after the 3D Vision driver the render calls are doubled and we have our new render angles. The color changes in anaglyph happens late in the driver. Recording in fraps captures full color images. The output path of 3D Vision happens inside the driver and is pretty hard to change.
One pretty slow scenario would be to render in anaglyph on a 1080p monitor and send the SBS image to the TV. Things are only rendered once but I expect the copy operation to be a FPS killer and I'm not sure if vsync is needed for the TV it might just give some tearing.
I'm still only thinking out loud I don't have any motivation towards SBS rather the opposite because my monitor came from a batch not supporting SBS.
Lastly it is apparent that the driver supports "full-SBS" as frame packed 3D is basically SBS but with some extra data.
I'm still not saying it is easy but 3D Vision works in three ways:
3D Vision Ready
3D Vision Discover
3DTV play
3DTV play is limited to framepacked and can not render 120 frames at 1080p
3D Vision Ready is probably not available when using a TV but obviouosly capable of running 120hz 1080p
3D Vision Discoverer can run 120hz 1080p it can even run 1080p in pivot.
While 3D Vision discoverer seems like the only solution it clearly has problems.
One good thing is that 3D Vision discoverer already works on any display but obviously has filtered colors.
It's not something I would spend any time on considering I have no TV and absolutely no intention in buying one. I really don't think SBS support would be enough to make 3D Vision the optimal solution for VR. I still don't have a confirmation that VR works well while wearing glasses.
As DSS says too much happens inside the driver. From the perspective of the game it renders once but after the 3D Vision driver the render calls are doubled and we have our new render angles. The color changes in anaglyph happens late in the driver. Recording in fraps captures full color images. The output path of 3D Vision happens inside the driver and is pretty hard to change.
One pretty slow scenario would be to render in anaglyph on a 1080p monitor and send the SBS image to the TV. Things are only rendered once but I expect the copy operation to be a FPS killer and I'm not sure if vsync is needed for the TV it might just give some tearing.
I'm still only thinking out loud I don't have any motivation towards SBS rather the opposite because my monitor came from a batch not supporting SBS.
Lastly it is apparent that the driver supports "full-SBS" as frame packed 3D is basically SBS but with some extra data.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
[quote="DHR"][quote="Conan481"]Also, DHR, do you think that something like SBS at 4k would be doable? That would look amazing for anyone with a 4k TV and I believe would be equivalent for system resources stand point as gaming at 4K in 2D?[/quote]
Yes, of course is possible.....i try Trine 3 in 4K - TAB mode (downsampled to 1080p), this game have the options already. Due the HDMI 1.4 limit, if i remember well, the game plays at 30fps...if you have a HDMI 2.0 will run at 4K 3D SBS or TAB at 60fps[/quote]
I know it's technically possible as I also played Trine 3, but that was because of developer support and nothing to do with Nvidia.
Also, I installed Tridef yesterday and played GTA 5 in 4k SBS and was averaging 47 FPS in 3D. It was only "fake" 3D but whats nice is that there was no CPU 3 core bottleneck while using SBS.
What I was saying was it would be awesome if someone figured out a way to add SBS support for 3D vision, or somehow porting fix to tridef software.
You can buy a 4K 3D TV for under 800 easy. Considering the price of some 3D monitors, I think a 4K 3D TV would be the best overall experience. 4K SBS looks way better then the Rog Swift 1440p and requires less GPU power as well. 4K SBS gives the same performance as 2D 4K.
Conan481 said:Also, DHR, do you think that something like SBS at 4k would be doable? That would look amazing for anyone with a 4k TV and I believe would be equivalent for system resources stand point as gaming at 4K in 2D?
Yes, of course is possible.....i try Trine 3 in 4K - TAB mode (downsampled to 1080p), this game have the options already. Due the HDMI 1.4 limit, if i remember well, the game plays at 30fps...if you have a HDMI 2.0 will run at 4K 3D SBS or TAB at 60fps
I know it's technically possible as I also played Trine 3, but that was because of developer support and nothing to do with Nvidia.
Also, I installed Tridef yesterday and played GTA 5 in 4k SBS and was averaging 47 FPS in 3D. It was only "fake" 3D but whats nice is that there was no CPU 3 core bottleneck while using SBS.
What I was saying was it would be awesome if someone figured out a way to add SBS support for 3D vision, or somehow porting fix to tridef software.
You can buy a 4K 3D TV for under 800 easy. Considering the price of some 3D monitors, I think a 4K 3D TV would be the best overall experience. 4K SBS looks way better then the Rog Swift 1440p and requires less GPU power as well. 4K SBS gives the same performance as 2D 4K.
[quote="Conan481"][quote="DHR"][quote="Conan481"]Also, DHR, do you think that something like SBS at 4k would be doable? That would look amazing for anyone with a 4k TV and I believe would be equivalent for system resources stand point as gaming at 4K in 2D?[/quote]
Yes, of course is possible.....i try Trine 3 in 4K - TAB mode (downsampled to 1080p), this game have the options already. Due the HDMI 1.4 limit, if i remember well, the game plays at 30fps...if you have a HDMI 2.0 will run at 4K 3D SBS or TAB at 60fps[/quote]
I know it's technically possible as I also played Trine 3, but that was because of developer support and nothing to do with Nvidia.
Also, I installed Tridef yesterday and played GTA 5 in 4k SBS and was averaging 47 FPS in 3D. It was only "fake" 3D but whats nice is that there was no CPU 3 core bottleneck while using SBS.
What I was saying was it would be awesome if someone figured out a way to add SBS support for 3D vision, or somehow porting fix to tridef software.
You can buy a 4K 3D TV for under 800 easy. Considering the price of some 3D monitors, I think a 4K 3D TV would be the best overall experience. 4K SBS looks way better then the Rog Swift 1440p and requires less GPU power as well. 4K SBS gives the same performance as 2D 4K.[/quote]
Adding SBS to 3d Vision is actually easier than most expect. The only think we need to do is to "disable" the "3D Vision" rendering Path in the 3D Vision driver, so the driver doesn't change the mode from 2D display to 3D frame alternating. You already see this in quite a few games on my wrapper. Internally the framebuffer is always rendered as SBS.
By saying "easy" I mean that we don't need to hack or capture any stuff from the rendering pipeline. We just need to fool the driver not to SWITCH the 3D Mode of the DISPLAY while the 3D Vision way of functioning is un-touched:)
Conan481 said:Also, DHR, do you think that something like SBS at 4k would be doable? That would look amazing for anyone with a 4k TV and I believe would be equivalent for system resources stand point as gaming at 4K in 2D?
Yes, of course is possible.....i try Trine 3 in 4K - TAB mode (downsampled to 1080p), this game have the options already. Due the HDMI 1.4 limit, if i remember well, the game plays at 30fps...if you have a HDMI 2.0 will run at 4K 3D SBS or TAB at 60fps
I know it's technically possible as I also played Trine 3, but that was because of developer support and nothing to do with Nvidia.
Also, I installed Tridef yesterday and played GTA 5 in 4k SBS and was averaging 47 FPS in 3D. It was only "fake" 3D but whats nice is that there was no CPU 3 core bottleneck while using SBS.
What I was saying was it would be awesome if someone figured out a way to add SBS support for 3D vision, or somehow porting fix to tridef software.
You can buy a 4K 3D TV for under 800 easy. Considering the price of some 3D monitors, I think a 4K 3D TV would be the best overall experience. 4K SBS looks way better then the Rog Swift 1440p and requires less GPU power as well. 4K SBS gives the same performance as 2D 4K.
Adding SBS to 3d Vision is actually easier than most expect. The only think we need to do is to "disable" the "3D Vision" rendering Path in the 3D Vision driver, so the driver doesn't change the mode from 2D display to 3D frame alternating. You already see this in quite a few games on my wrapper. Internally the framebuffer is always rendered as SBS.
By saying "easy" I mean that we don't need to hack or capture any stuff from the rendering pipeline. We just need to fool the driver not to SWITCH the 3D Mode of the DISPLAY while the 3D Vision way of functioning is un-touched:)
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
One question is if the full frame is rendered and squeezed afterwards or somehow rendered squeezed. This clearly impacts performance and from the look of it 3D Vision don't render squeezed in any scenario.
In addition to the possible difficulty I'm anticipating degraded performance.
All the fixes are heavily coupled to nvidia most significant the 3D texture created through NVAPI.
One question is if the full frame is rendered and squeezed afterwards or somehow rendered squeezed. This clearly impacts performance and from the look of it 3D Vision don't render squeezed in any scenario.
In addition to the possible difficulty I'm anticipating degraded performance.
All the fixes are heavily coupled to nvidia most significant the 3D texture created through NVAPI.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
Just did some more testing with tridef and 4K SBS in REAL 3D does significantly degrade performance in 3D. MY bad. Also Over/Under looks better to my eye as well. Gonna keep messing around with different modes.
...Still 3D vision is superior to tridef.
Just did some more testing with tridef and 4K SBS in REAL 3D does significantly degrade performance in 3D. MY bad. Also Over/Under looks better to my eye as well. Gonna keep messing around with different modes.
Funny that we are on a nVidia forum, they are present and read our concerns... but never chime in on this topic.
We all want to know what their vision is, on the future of 3D Vision.
There must be someone here who can get in touch with Mister Huang and ask, no?
[img]http://not4cyclops.com/00/Stereoscopya.jpg[/img]
May Stereoscopya inspire the 3D fixers to find the way to add SBS to 3D Vision!
I am now entering the breathless stasis.
[quote="Rhialto"]Funny that we are on a nVidia forum, they are present and read our concerns... but never chime in on this topic.
We all want to know what their vision is, on the future of 3D Vision.
There must be someone here who can get in touch with Mister Huang and ask, no?[/quote]
They used to chime in. I think we all understand what the silence means. I mean, if this assumption wasn't correct, they could have posted and corrected this at any point in the past year.
Rhialto said:Funny that we are on a nVidia forum, they are present and read our concerns... but never chime in on this topic.
We all want to know what their vision is, on the future of 3D Vision.
There must be someone here who can get in touch with Mister Huang and ask, no?
They used to chime in. I think we all understand what the silence means. I mean, if this assumption wasn't correct, they could have posted and corrected this at any point in the past year.
Helifax, would you mind elaborate further as I imagine you have communicated with the driver to get things working at all. I don't think you can get SBS just by altering DX calls.
I still expect different behavior depending on mode (3D Ready, TV, Discoverer)
If I'm not mistaken Discoverer can run at speeds faster than 60hz per eye. I have not confirmed this.
If there is a simple way to enable SBS including full-SBS then why not.
I'm not aware how much the driver can be controlled but my initial fear is if we end up disabling 3D Vision automatic in the process.
Helifax, would you mind elaborate further as I imagine you have communicated with the driver to get things working at all. I don't think you can get SBS just by altering DX calls.
I still expect different behavior depending on mode (3D Ready, TV, Discoverer)
If I'm not mistaken Discoverer can run at speeds faster than 60hz per eye. I have not confirmed this.
If there is a simple way to enable SBS including full-SBS then why not.
I'm not aware how much the driver can be controlled but my initial fear is if we end up disabling 3D Vision automatic in the process.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
[quote="Flugan"]Helifax, would you mind elaborate further as I imagine you have communicated with the driver to get things working at all. I don't think you can get SBS just by altering DX calls.
I still expect different behavior depending on mode (3D Ready, TV, Discoverer)
If I'm not mistaken Discoverer can run at speeds faster than 60hz per eye. I have not confirmed this.
If there is a simple way to enable SBS including full-SBS then why not.
I'm not aware how much the driver can be controlled but my initial fear is if we end up disabling 3D Vision automatic in the process.[/quote]
This needs a lot more testing but what I discovered during my wrapper development:
- Create DX9 context -> Check
- Create 3D Textures for left/right eye and insert NVIDIA 3D Vision FLAG/HEADER ->Check
=> Result: You get SBS in a DX9 Windows, but 3D Vision is disabled! (Emitter doesn't start, Monitor(s) is in 2D)
- Alter/Create a Profile for the App (add some of the 3D Known flags) -> 3D Vision driver picks the profile and "enables" the 3D Vision emitter + Monitor mode to 3D.
So, what I am thinking is modifying the last part! (Alter the profile or PREVENT the driver to kick in 3D Vision Mode). The result will be a SBS image! Now this needs more testing and stuff and NVAPI hooking;) We shouldn't modify any of the DX calls or functions.
This will result in the App/Game/Driver thinking is rendering for 3D Vision but WE modify HOW the L/R images are presented;) Instead of alternating between L & R we present them BOTH at once;)
Now, it might not work like this by default! In which case we could HOOK and create OUR own DX/11 Context and PRESENT the L/R images in it. The nvidia driver will have everything setup for 3D Vision rendering by default;)
OFC this will only work if you have a 3D Vision capable hardware...
The only other method is to code the wrapper from scratch (like I did for OpenGL) which means we need to handle the Automatic Stereorization and FBO + Draw Calls duplications, etc...
I would start with the FIRST method though... and see if we can get that one working!
This is at least MY idea;) Like I said, we need to do some testing;) and currently my time is a bit short, but I will pursue this at some point as I am really interested to find out if it works (like I believe it will) ^_^.
Flugan said:Helifax, would you mind elaborate further as I imagine you have communicated with the driver to get things working at all. I don't think you can get SBS just by altering DX calls.
I still expect different behavior depending on mode (3D Ready, TV, Discoverer)
If I'm not mistaken Discoverer can run at speeds faster than 60hz per eye. I have not confirmed this.
If there is a simple way to enable SBS including full-SBS then why not.
I'm not aware how much the driver can be controlled but my initial fear is if we end up disabling 3D Vision automatic in the process.
This needs a lot more testing but what I discovered during my wrapper development:
- Create DX9 context -> Check
- Create 3D Textures for left/right eye and insert NVIDIA 3D Vision FLAG/HEADER ->Check
=> Result: You get SBS in a DX9 Windows, but 3D Vision is disabled! (Emitter doesn't start, Monitor(s) is in 2D)
- Alter/Create a Profile for the App (add some of the 3D Known flags) -> 3D Vision driver picks the profile and "enables" the 3D Vision emitter + Monitor mode to 3D.
So, what I am thinking is modifying the last part! (Alter the profile or PREVENT the driver to kick in 3D Vision Mode). The result will be a SBS image! Now this needs more testing and stuff and NVAPI hooking;) We shouldn't modify any of the DX calls or functions.
This will result in the App/Game/Driver thinking is rendering for 3D Vision but WE modify HOW the L/R images are presented;) Instead of alternating between L & R we present them BOTH at once;)
Now, it might not work like this by default! In which case we could HOOK and create OUR own DX/11 Context and PRESENT the L/R images in it. The nvidia driver will have everything setup for 3D Vision rendering by default;)
OFC this will only work if you have a 3D Vision capable hardware...
The only other method is to code the wrapper from scratch (like I did for OpenGL) which means we need to handle the Automatic Stereorization and FBO + Draw Calls duplications, etc...
I would start with the FIRST method though... and see if we can get that one working!
This is at least MY idea;) Like I said, we need to do some testing;) and currently my time is a bit short, but I will pursue this at some point as I am really interested to find out if it works (like I believe it will) ^_^.
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
[quote="helifax"]This needs a lot more testing but what I discovered during my wrapper development:
- Create DX9 context -> Check
- Create 3D Textures for left/right eye and insert NVIDIA 3D Vision FLAG/HEADER ->Check
=> Result: You get SBS in a DX9 Windows, but 3D Vision is disabled! (Emitter doesn't start, Monitor(s) is in 2D)[/quote]
But, isn't that because you literally just handed DX a side by side image? The scenario is easier for your wrapper as you create the stereo images yourself and only use 3D Vision for the output, whereas in DX games we depend on it to create the 3D images in the first place, and I'm not certain you can disable the 3D Vision output without also disabling that.
I added a feature to 3DMigoto a while back that can extract the left + right views from 3DVision easily enough converting them to side by side (I use this to improve the accuracy of my auto HUD shaders and to flip stereo inverted mirrors in MGSVTPP around the right way). I haven't tried, but getting the output to display SBS might be as simple as:
[code]
[Present]
o0 = stereo2mono o0
[/code]
It's probably not quite that simple (and that won't restore the original o0 - I'll need to add a post command list to Present to handle that), but as of a couple of versions ago 3DMigoto supports injecting custom shaders, so as long as the rest of the pipeline state is usable it should be relatively straight forward to inject a shader to change the SBS result of stereo2mono to half packed SBS or TAB, optionally reversed.
But all that will all only work if 3D Vision is creating both stereo views, otherwise you will just get 2x mono images, and I'm not aware of any way to force that if 3D Vision isn't being used for the output as well. If we were creating both views ourselves it would be a completely different matter - I'm not discounting that possibility, but it will require a considerable amount of engineering effort to get working, especially if we don't want to break compatibility with existing fixes that knowingly or unknowingly rely on driver heuristics that we would have to replicate.
Discover mode seems like the best bet to prevent this being tied to a 3D Vision compatible monitor/TV. Getting full colour left/right views is not a problem while using anaglyph, the only problem we have to solve is how to output it in full colour. We can potentially still use the Discover output if the anaglyph mode they are using doesn't damage the colours too much if we only output mono (depends on which type of anaglyph they are using - can't test right now, installing Win10 on a 2nd HDD...). If it does damage the colours too much it's still potentially usable if we create a 2nd window that isn't using 3D Vision and output to that instead.
helifax said:This needs a lot more testing but what I discovered during my wrapper development:
- Create DX9 context -> Check
- Create 3D Textures for left/right eye and insert NVIDIA 3D Vision FLAG/HEADER ->Check
=> Result: You get SBS in a DX9 Windows, but 3D Vision is disabled! (Emitter doesn't start, Monitor(s) is in 2D)
But, isn't that because you literally just handed DX a side by side image? The scenario is easier for your wrapper as you create the stereo images yourself and only use 3D Vision for the output, whereas in DX games we depend on it to create the 3D images in the first place, and I'm not certain you can disable the 3D Vision output without also disabling that.
I added a feature to 3DMigoto a while back that can extract the left + right views from 3DVision easily enough converting them to side by side (I use this to improve the accuracy of my auto HUD shaders and to flip stereo inverted mirrors in MGSVTPP around the right way). I haven't tried, but getting the output to display SBS might be as simple as:
[Present]
o0 = stereo2mono o0
It's probably not quite that simple (and that won't restore the original o0 - I'll need to add a post command list to Present to handle that), but as of a couple of versions ago 3DMigoto supports injecting custom shaders, so as long as the rest of the pipeline state is usable it should be relatively straight forward to inject a shader to change the SBS result of stereo2mono to half packed SBS or TAB, optionally reversed.
But all that will all only work if 3D Vision is creating both stereo views, otherwise you will just get 2x mono images, and I'm not aware of any way to force that if 3D Vision isn't being used for the output as well. If we were creating both views ourselves it would be a completely different matter - I'm not discounting that possibility, but it will require a considerable amount of engineering effort to get working, especially if we don't want to break compatibility with existing fixes that knowingly or unknowingly rely on driver heuristics that we would have to replicate.
Discover mode seems like the best bet to prevent this being tied to a 3D Vision compatible monitor/TV. Getting full colour left/right views is not a problem while using anaglyph, the only problem we have to solve is how to output it in full colour. We can potentially still use the Discover output if the anaglyph mode they are using doesn't damage the colours too much if we only output mono (depends on which type of anaglyph they are using - can't test right now, installing Win10 on a 2nd HDD...). If it does damage the colours too much it's still potentially usable if we create a 2nd window that isn't using 3D Vision and output to that instead.
2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit
Anyway, I think this discussion has derailed this thread quite a bit - reading through this it sounds like people are asking Flugan to work on a specific feature they want that has already been discussed in several other threads recently, and that he has stated that he doesn't have a personal motivation to take on as he does not have a TV. This was supposed to be a personal reflection thread, so to me that sounds like the same thing as people posting on a fix thread asking to have their favourite game fixed instead, and as we all know no one appreciates that...
If you want to continue discussing SBS / TAB, please use another thread.
So, back on topic: Flugan, thankyou for your contributions. Your wrapper filled a valid need for Win 8 + 8.1 users for quite some time while 3DMigoto was still struggling on those platforms, and you have contributed an assembler and disassembler to 3DMigoto, and in my mind that is an invaluable contribution that will live on:
[code]
~/c/3Dmigoto [i] (master)> wc -l D3D_Shaders/Assembler.cpp D3D_Shaders/Shaders.cpp
2200 D3D_Shaders/Assembler.cpp
163 D3D_Shaders/Shaders.cpp
2363 total
[/code]
That's close to 2500 lines of code, which represents a considerable amount of work - and as one part of 3DMigoto that I have barely touched you can claim all the credit for that. It's being used in fixes for The Witcher, Lichdom Battlemage, Far Cry 4, Crysis 2 & 3 and Arkham Knight - and those are just the ones I know of, I'm sure Mike and DHR have used it in others as well.
Anyway, I think this discussion has derailed this thread quite a bit - reading through this it sounds like people are asking Flugan to work on a specific feature they want that has already been discussed in several other threads recently, and that he has stated that he doesn't have a personal motivation to take on as he does not have a TV. This was supposed to be a personal reflection thread, so to me that sounds like the same thing as people posting on a fix thread asking to have their favourite game fixed instead, and as we all know no one appreciates that...
If you want to continue discussing SBS / TAB, please use another thread.
So, back on topic: Flugan, thankyou for your contributions. Your wrapper filled a valid need for Win 8 + 8.1 users for quite some time while 3DMigoto was still struggling on those platforms, and you have contributed an assembler and disassembler to 3DMigoto, and in my mind that is an invaluable contribution that will live on:
That's close to 2500 lines of code, which represents a considerable amount of work - and as one part of 3DMigoto that I have barely touched you can claim all the credit for that. It's being used in fixes for The Witcher, Lichdom Battlemage, Far Cry 4, Crysis 2 & 3 and Arkham Knight - and those are just the ones I know of, I'm sure Mike and DHR have used it in others as well.
2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit
Yes I agree!
Big thank you Flugan for all the work you have done and Put into both with your wrapper and all your contributions to 3DMigoto and the WHOLE 3D Vision scene!!!
Big thank you Flugan for all the work you have done and Put into both with your wrapper and all your contributions to 3DMigoto and the WHOLE 3D Vision scene!!!
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
[quote="Flugan"]Going forward one question is when DX12 will appear and how VR and 3D Vision will co-exist.[/quote]
[quote="D-Man11"]Thanks for your contributions Ulf and I hope you are doing well in this New Year.
dx12 will require that the user have Windows 10.
W8 and W10 have stereoscopic support that was never available in Windows 7.
Hopefully, W10/dx12 could be used to exclude Nvidia from the process, with the exception of their USB driver.
It would nice to get away from their locked resolutions and formats and join the real world where there are no such restrictions, just hardware limitations.
[/quote]
Flugan, since you have Windows 10 and a VG27H with HDMI 1.4 support, you could try Microsoft's Direct3D stereoscopic 3D sample as a proof of concept via the HDMI support of your monitor and then see if you can tie in Nvidia's USB driver via the DL DVI connection.
https://code.msdn.microsoft.com/windowsapps/Direct3D-111-Simple-Stereo-9b2b61aa/view/Discussions
Flugan said:Going forward one question is when DX12 will appear and how VR and 3D Vision will co-exist.
D-Man11 said:Thanks for your contributions Ulf and I hope you are doing well in this New Year.
dx12 will require that the user have Windows 10.
W8 and W10 have stereoscopic support that was never available in Windows 7.
Hopefully, W10/dx12 could be used to exclude Nvidia from the process, with the exception of their USB driver.
It would nice to get away from their locked resolutions and formats and join the real world where there are no such restrictions, just hardware limitations.
Flugan, since you have Windows 10 and a VG27H with HDMI 1.4 support, you could try Microsoft's Direct3D stereoscopic 3D sample as a proof of concept via the HDMI support of your monitor and then see if you can tie in Nvidia's USB driver via the DL DVI connection.
I ran that sample and I could only get 3D to work if it was enabled in nvidia control panel either as 3D Vision ready over dual-link DVI or 3DTV Play. I also ended up disabling all displays except HDMI to be able to select 3DTV Play.
I ran that sample and I could only get 3D to work if it was enabled in nvidia control panel either as 3D Vision ready over dual-link DVI or 3DTV Play. I also ended up disabling all displays except HDMI to be able to select 3DTV Play.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
3D Vision Ready
3D Vision Discover
3DTV play
3DTV play is limited to framepacked and can not render 120 frames at 1080p
3D Vision Ready is probably not available when using a TV but obviouosly capable of running 120hz 1080p
3D Vision Discoverer can run 120hz 1080p it can even run 1080p in pivot.
While 3D Vision discoverer seems like the only solution it clearly has problems.
One good thing is that 3D Vision discoverer already works on any display but obviously has filtered colors.
It's not something I would spend any time on considering I have no TV and absolutely no intention in buying one. I really don't think SBS support would be enough to make 3D Vision the optimal solution for VR. I still don't have a confirmation that VR works well while wearing glasses.
As DSS says too much happens inside the driver. From the perspective of the game it renders once but after the 3D Vision driver the render calls are doubled and we have our new render angles. The color changes in anaglyph happens late in the driver. Recording in fraps captures full color images. The output path of 3D Vision happens inside the driver and is pretty hard to change.
One pretty slow scenario would be to render in anaglyph on a 1080p monitor and send the SBS image to the TV. Things are only rendered once but I expect the copy operation to be a FPS killer and I'm not sure if vsync is needed for the TV it might just give some tearing.
I'm still only thinking out loud I don't have any motivation towards SBS rather the opposite because my monitor came from a batch not supporting SBS.
Lastly it is apparent that the driver supports "full-SBS" as frame packed 3D is basically SBS but with some extra data.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
donations: ulfjalmbrant@hotmail.com
I know it's technically possible as I also played Trine 3, but that was because of developer support and nothing to do with Nvidia.
Also, I installed Tridef yesterday and played GTA 5 in 4k SBS and was averaging 47 FPS in 3D. It was only "fake" 3D but whats nice is that there was no CPU 3 core bottleneck while using SBS.
What I was saying was it would be awesome if someone figured out a way to add SBS support for 3D vision, or somehow porting fix to tridef software.
You can buy a 4K 3D TV for under 800 easy. Considering the price of some 3D monitors, I think a 4K 3D TV would be the best overall experience. 4K SBS looks way better then the Rog Swift 1440p and requires less GPU power as well. 4K SBS gives the same performance as 2D 4K.
Adding SBS to 3d Vision is actually easier than most expect. The only think we need to do is to "disable" the "3D Vision" rendering Path in the 3D Vision driver, so the driver doesn't change the mode from 2D display to 3D frame alternating. You already see this in quite a few games on my wrapper. Internally the framebuffer is always rendered as SBS.
By saying "easy" I mean that we don't need to hack or capture any stuff from the rendering pipeline. We just need to fool the driver not to SWITCH the 3D Mode of the DISPLAY while the 3D Vision way of functioning is un-touched:)
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)
In addition to the possible difficulty I'm anticipating degraded performance.
All the fixes are heavily coupled to nvidia most significant the 3D texture created through NVAPI.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
donations: ulfjalmbrant@hotmail.com
...Still 3D vision is superior to tridef.
We all want to know what their vision is, on the future of 3D Vision.
There must be someone here who can get in touch with Mister Huang and ask, no?
3D Vision must live! NVIDIA, don't let us down!
May Stereoscopya inspire the 3D fixers to find the way to add SBS to 3D Vision!
I am now entering the breathless stasis.
Overclocked Intel® Core™i5-4690k Quad Core
32 Gb RAM
8GB GEFORCE GTX 1080
3D Vision 2
Windows 10 64 Bit
NVidia driver 419.17
SAMSUNG - UE55H8000 Smart 3D 55" Curved
Philips G-Sync 272G
Oculus Rift with Touch controlers
They used to chime in. I think we all understand what the silence means. I mean, if this assumption wasn't correct, they could have posted and corrected this at any point in the past year.
I still expect different behavior depending on mode (3D Ready, TV, Discoverer)
If I'm not mistaken Discoverer can run at speeds faster than 60hz per eye. I have not confirmed this.
If there is a simple way to enable SBS including full-SBS then why not.
I'm not aware how much the driver can be controlled but my initial fear is if we end up disabling 3D Vision automatic in the process.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
donations: ulfjalmbrant@hotmail.com
This needs a lot more testing but what I discovered during my wrapper development:
- Create DX9 context -> Check
- Create 3D Textures for left/right eye and insert NVIDIA 3D Vision FLAG/HEADER ->Check
=> Result: You get SBS in a DX9 Windows, but 3D Vision is disabled! (Emitter doesn't start, Monitor(s) is in 2D)
- Alter/Create a Profile for the App (add some of the 3D Known flags) -> 3D Vision driver picks the profile and "enables" the 3D Vision emitter + Monitor mode to 3D.
So, what I am thinking is modifying the last part! (Alter the profile or PREVENT the driver to kick in 3D Vision Mode). The result will be a SBS image! Now this needs more testing and stuff and NVAPI hooking;) We shouldn't modify any of the DX calls or functions.
This will result in the App/Game/Driver thinking is rendering for 3D Vision but WE modify HOW the L/R images are presented;) Instead of alternating between L & R we present them BOTH at once;)
Now, it might not work like this by default! In which case we could HOOK and create OUR own DX/11 Context and PRESENT the L/R images in it. The nvidia driver will have everything setup for 3D Vision rendering by default;)
OFC this will only work if you have a 3D Vision capable hardware...
The only other method is to code the wrapper from scratch (like I did for OpenGL) which means we need to handle the Automatic Stereorization and FBO + Draw Calls duplications, etc...
I would start with the FIRST method though... and see if we can get that one working!
This is at least MY idea;) Like I said, we need to do some testing;) and currently my time is a bit short, but I will pursue this at some point as I am really interested to find out if it works (like I believe it will) ^_^.
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)
But, isn't that because you literally just handed DX a side by side image? The scenario is easier for your wrapper as you create the stereo images yourself and only use 3D Vision for the output, whereas in DX games we depend on it to create the 3D images in the first place, and I'm not certain you can disable the 3D Vision output without also disabling that.
I added a feature to 3DMigoto a while back that can extract the left + right views from 3DVision easily enough converting them to side by side (I use this to improve the accuracy of my auto HUD shaders and to flip stereo inverted mirrors in MGSVTPP around the right way). I haven't tried, but getting the output to display SBS might be as simple as:
It's probably not quite that simple (and that won't restore the original o0 - I'll need to add a post command list to Present to handle that), but as of a couple of versions ago 3DMigoto supports injecting custom shaders, so as long as the rest of the pipeline state is usable it should be relatively straight forward to inject a shader to change the SBS result of stereo2mono to half packed SBS or TAB, optionally reversed.
But all that will all only work if 3D Vision is creating both stereo views, otherwise you will just get 2x mono images, and I'm not aware of any way to force that if 3D Vision isn't being used for the output as well. If we were creating both views ourselves it would be a completely different matter - I'm not discounting that possibility, but it will require a considerable amount of engineering effort to get working, especially if we don't want to break compatibility with existing fixes that knowingly or unknowingly rely on driver heuristics that we would have to replicate.
Discover mode seems like the best bet to prevent this being tied to a 3D Vision compatible monitor/TV. Getting full colour left/right views is not a problem while using anaglyph, the only problem we have to solve is how to output it in full colour. We can potentially still use the Discover output if the anaglyph mode they are using doesn't damage the colours too much if we only output mono (depends on which type of anaglyph they are using - can't test right now, installing Win10 on a 2nd HDD...). If it does damage the colours too much it's still potentially usable if we create a 2nd window that isn't using 3D Vision and output to that instead.
2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit
Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD
Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword
If you want to continue discussing SBS / TAB, please use another thread.
So, back on topic: Flugan, thankyou for your contributions. Your wrapper filled a valid need for Win 8 + 8.1 users for quite some time while 3DMigoto was still struggling on those platforms, and you have contributed an assembler and disassembler to 3DMigoto, and in my mind that is an invaluable contribution that will live on:
That's close to 2500 lines of code, which represents a considerable amount of work - and as one part of 3DMigoto that I have barely touched you can claim all the credit for that. It's being used in fixes for The Witcher, Lichdom Battlemage, Far Cry 4, Crysis 2 & 3 and Arkham Knight - and those are just the ones I know of, I'm sure Mike and DHR have used it in others as well.
2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit
Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD
Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword
Big thank you Flugan for all the work you have done and Put into both with your wrapper and all your contributions to 3DMigoto and the WHOLE 3D Vision scene!!!
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)
Flugan, since you have Windows 10 and a VG27H with HDMI 1.4 support, you could try Microsoft's Direct3D stereoscopic 3D sample as a proof of concept via the HDMI support of your monitor and then see if you can tie in Nvidia's USB driver via the DL DVI connection.
https://code.msdn.microsoft.com/windowsapps/Direct3D-111-Simple-Stereo-9b2b61aa/view/Discussions
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
donations: ulfjalmbrant@hotmail.com