OpenGL3DVision Wrapper v.3.19 Public Release (Beta)
7 / 10
[quote="Stryker_66"]
I'll definitely watch some more of your later videos and play around with convergence and depth. I'll also want to get some screenshots out once I get some more depth etc....
Anyway, thought I'd share some preliminary results with your Beta 2.0
Oh, I also got SWKOTOR 1 working but for some reason I have black interior backgrounds but cutscenes are ok. Curious, what did you do to get those awesome screenies you posted earlier...Do I need to do anything inside of the profile with Nvidia Inspector swk-3D Vision Wrapper profile that is created by your wrapper?[/quote]
That is awesome news!!! Glad that someone finally decided to try it out ^_^
I know it sound a bit complicated initially and it has a learning curve, but once you get that it pretty straight-forward;))
For Kotor1 & 2 the settings that I import from the nip file are related to SLI and Multi-GPU usage. The default SLI bits are not working correctly in 3D and produce a weird "colored dots" effect in one eye. So I tested like 40+ SLI bits to find the one that actually works the best with the game. SLI is on and Rendering Mode is AFR2.
If you want to see how it behaves in the default state:
- Go to nvidia inspector and delete the profile (if is not a standard one). If is a standard one (that comes with driver install) just reset the profile to default.
- Delete/Rename the profile.nip file from the wrapper.
- Start the game.
You will defo see what I am talking about as well as poor SLI scaling (I know is a game from 10+ years ago but you will still be able to see the difference)
;))
Regarding Prey:
In the ini file did you enable the Legacy OpenGL calls functionality ? This is the magic bit for Kotor games.
If you did not, try that:)
If you did and you are still getting flat 3D (without separation/convergence) it is possible the wrapper is not modifying the projection matrix where it needs to. (I only tested this new functionality on Kotor games)
It is possible, since its an old engine, to also need to hook the shaders to inject stereoscopy and that is using (most likely) ARB ASM shaders (which I currently didn't implement since I didn't had the game for it ;)) )
I'll also try to find a copy of Prey around and see what we can do about it;))
Stryker_66 said:
I'll definitely watch some more of your later videos and play around with convergence and depth. I'll also want to get some screenshots out once I get some more depth etc....
Anyway, thought I'd share some preliminary results with your Beta 2.0
Oh, I also got SWKOTOR 1 working but for some reason I have black interior backgrounds but cutscenes are ok. Curious, what did you do to get those awesome screenies you posted earlier...Do I need to do anything inside of the profile with Nvidia Inspector swk-3D Vision Wrapper profile that is created by your wrapper?
That is awesome news!!! Glad that someone finally decided to try it out ^_^
I know it sound a bit complicated initially and it has a learning curve, but once you get that it pretty straight-forward;))
For Kotor1 & 2 the settings that I import from the nip file are related to SLI and Multi-GPU usage. The default SLI bits are not working correctly in 3D and produce a weird "colored dots" effect in one eye. So I tested like 40+ SLI bits to find the one that actually works the best with the game. SLI is on and Rendering Mode is AFR2.
If you want to see how it behaves in the default state:
- Go to nvidia inspector and delete the profile (if is not a standard one). If is a standard one (that comes with driver install) just reset the profile to default.
- Delete/Rename the profile.nip file from the wrapper.
- Start the game.
You will defo see what I am talking about as well as poor SLI scaling (I know is a game from 10+ years ago but you will still be able to see the difference)
;))
Regarding Prey:
In the ini file did you enable the Legacy OpenGL calls functionality ? This is the magic bit for Kotor games.
If you did not, try that:)
If you did and you are still getting flat 3D (without separation/convergence) it is possible the wrapper is not modifying the projection matrix where it needs to. (I only tested this new functionality on Kotor games)
It is possible, since its an old engine, to also need to hook the shaders to inject stereoscopy and that is using (most likely) ARB ASM shaders (which I currently didn't implement since I didn't had the game for it ;)) )
I'll also try to find a copy of Prey around and see what we can do about it;))
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"]Regarding Prey:
In the ini file did you enable the Legacy OpenGL calls functionality ? This is the magic bit for Kotor games.
If you did not, try that:)
If you did and you are still getting flat 3D (without separation/convergence) it is possible the wrapper is not modifying the projection matrix where it needs to. (I only tested this new functionality on Kotor games)
It is possible, since its an old engine, to also need to hook the shaders to inject stereoscopy and that is using (most likely) ARB ASM shaders (which I currently didn't implement since I didn't had the game for it ;)) )
I'll also try to find a copy of Prey around and see what we can do about it;))[/quote]
Yep, this is exactly what I configured for Prey.
LegacyMode = True
AutomaticHookPoint = True
Enable3DVision = True
3D is definitely kickin in and you can see some depth so it's nice to see your wrapper working. I am going to play around with it some more.
I also checked out SWKOTOR 2 - Sith Lords and I have installed the wide screen fix, along with the official HD movie and music files. Then the Restoration mod and some HD textures. Looking pretty good. The 3D is much more pronounced with this game and is playable. The 3D does drop out for no apparent reason and seems to be at random. Your wrapper is working pretty good though.....I'll keep playing around with it....
helifax said:Regarding Prey:
In the ini file did you enable the Legacy OpenGL calls functionality ? This is the magic bit for Kotor games.
If you did not, try that:)
If you did and you are still getting flat 3D (without separation/convergence) it is possible the wrapper is not modifying the projection matrix where it needs to. (I only tested this new functionality on Kotor games)
It is possible, since its an old engine, to also need to hook the shaders to inject stereoscopy and that is using (most likely) ARB ASM shaders (which I currently didn't implement since I didn't had the game for it ;)) )
I'll also try to find a copy of Prey around and see what we can do about it;))
Yep, this is exactly what I configured for Prey.
LegacyMode = True
AutomaticHookPoint = True
Enable3DVision = True
3D is definitely kickin in and you can see some depth so it's nice to see your wrapper working. I am going to play around with it some more.
I also checked out SWKOTOR 2 - Sith Lords and I have installed the wide screen fix, along with the official HD movie and music files. Then the Restoration mod and some HD textures. Looking pretty good. The 3D is much more pronounced with this game and is playable. The 3D does drop out for no apparent reason and seems to be at random. Your wrapper is working pretty good though.....I'll keep playing around with it....
[s]Is the latest version missing the Profile.nip or is it supposed to not need it? I've tried various ways but keep getting 'Could not generate profile for prey.exe application! 3D Vision will be disabled...' error messages. I tried deleting the old legacy profile, I even tried using the Profile.nip from Amnesia ... I just can't seem to get Prey out of SBS.[/s] Nevermind, ran the game as admin and it created the Profile ... although I did enable EnableShaderDump and it didn't create one, not sure if that's a Legacy thing. Anyway with the depth multiplier at 2 and after adjusting convergence it looks fantastic. There's a few things that are off, lights/flares and fullscreen effects/loading screens ... but yeah ... just ... just ... WOW! B)
Is the latest version missing the Profile.nip or is it supposed to not need it? I've tried various ways but keep getting 'Could not generate profile for prey.exe application! 3D Vision will be disabled...' error messages. I tried deleting the old legacy profile, I even tried using the Profile.nip from Amnesia ... I just can't seem to get Prey out of SBS. Nevermind, ran the game as admin and it created the Profile ... although I did enable EnableShaderDump and it didn't create one, not sure if that's a Legacy thing. Anyway with the depth multiplier at 2 and after adjusting convergence it looks fantastic. There's a few things that are off, lights/flares and fullscreen effects/loading screens ... but yeah ... just ... just ... WOW! B)
[quote="TsaebehT"]Nevermind, ran the game as admin and it created the Profile ... although I did enable EnableShaderDump and it didn't create one, not sure if that's a Legacy thing. Anyway with the depth multiplier at 2 and after adjusting convergence it looks fantastic. There's a few things that are off, lights/flares and fullscreen effects/loading screens ... but yeah ... just ... just ... WOW! B)[/quote]
Ooops... Yeah I forgot to say that you need Admin rights to make the changes in the nvidia profile (as I am admin on my PC i forgot...)
If you are talking about Prey, yes the lights are off. There is an option in advanced 2 settings related to this so you can turn it off.
Shader dump is working only for GLSL currently and the game is not using GLSL but ARB Shaders.
Related UI and stuff: I did launch Doom 3 as well (original one) yesterday. And again the wrapper works and I can get nice 3D. However the moment I increase convergence it breaks the UI. Since the engine doesn't uses shaders for UI drawing and is rather drawn using direct OpenGL calls, I am unable to revert the stereo3D and make the HUD/UI 2D :(
So unfortunately nothing I can do there...
(For SWKOTOR it was rather easy since I found where they were drawing it and I was able to remove the stereo injection there.)
@Striker_66:
[quote="Striker_66"] The 3D does drop out for no apparent reason and seems to be at random. Your wrapper is working pretty good though[/quote]
This is very interesting... I haven't seen this before. It reminds me of GTA-V and Dragon Age: Inquisition and a few other games where the 3D Vision just drops...
Like I said it before, on numerous occasions, I suspect it to be 3D Vision driver issue... I wish I could find it out what is causing it....
Related SWKOTOR 1&2: You did notice that I said in the Readme file that movies need to be disabled yes? ^_^ (I saw that you installed the HD Movie Pack). The games aren't rendered inside the game window, but instead is destroying the window, create one for videos, destroys this one and creates the game window again after movies. This is why the wrapper stops working :(
TsaebehT said:Nevermind, ran the game as admin and it created the Profile ... although I did enable EnableShaderDump and it didn't create one, not sure if that's a Legacy thing. Anyway with the depth multiplier at 2 and after adjusting convergence it looks fantastic. There's a few things that are off, lights/flares and fullscreen effects/loading screens ... but yeah ... just ... just ... WOW! B)
Ooops... Yeah I forgot to say that you need Admin rights to make the changes in the nvidia profile (as I am admin on my PC i forgot...)
If you are talking about Prey, yes the lights are off. There is an option in advanced 2 settings related to this so you can turn it off.
Shader dump is working only for GLSL currently and the game is not using GLSL but ARB Shaders.
Related UI and stuff: I did launch Doom 3 as well (original one) yesterday. And again the wrapper works and I can get nice 3D. However the moment I increase convergence it breaks the UI. Since the engine doesn't uses shaders for UI drawing and is rather drawn using direct OpenGL calls, I am unable to revert the stereo3D and make the HUD/UI 2D :(
So unfortunately nothing I can do there...
(For SWKOTOR it was rather easy since I found where they were drawing it and I was able to remove the stereo injection there.)
@Striker_66:
Striker_66 said: The 3D does drop out for no apparent reason and seems to be at random. Your wrapper is working pretty good though
This is very interesting... I haven't seen this before. It reminds me of GTA-V and Dragon Age: Inquisition and a few other games where the 3D Vision just drops...
Like I said it before, on numerous occasions, I suspect it to be 3D Vision driver issue... I wish I could find it out what is causing it....
Related SWKOTOR 1&2: You did notice that I said in the Readme file that movies need to be disabled yes? ^_^ (I saw that you installed the HD Movie Pack). The games aren't rendered inside the game window, but instead is destroying the window, create one for videos, destroys this one and creates the game window again after movies. This is why the wrapper stops working :(
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
If I understand it correctly, you are redirecting each OpenGL call to DirectX, thus allowing us to use Nvidia's convergence and depth keys.
Or is the game rendering 100% in OpenGL, but you are hooking into the functions of Nvidia's stereoscopic drivers to enable the emitter and hot-keys?
EDIT:
[quote="helifax"]Related SWKOTOR 1&2: The movies aren't rendered inside the game window, but instead is destroying the window, create one for videos, destroys this one and creates the game window again after movies. This is why the wrapper stops working :(
[/quote]
No idea if it will be of any use, but when Raven Software released the source code for Jedi Academy, they released some code for Bink player among other things before pulling the game code from the internet because of the legality of releasing proprietary 3rd party source code.
If you look, you can find it
EDIT 2: oops, nevermind it was source code for the Miles audio from Rad Game Tools and not the Bink Player for bik files.
If I understand it correctly, you are redirecting each OpenGL call to DirectX, thus allowing us to use Nvidia's convergence and depth keys.
Or is the game rendering 100% in OpenGL, but you are hooking into the functions of Nvidia's stereoscopic drivers to enable the emitter and hot-keys?
EDIT:
helifax said:Related SWKOTOR 1&2: The movies aren't rendered inside the game window, but instead is destroying the window, create one for videos, destroys this one and creates the game window again after movies. This is why the wrapper stops working :(
No idea if it will be of any use, but when Raven Software released the source code for Jedi Academy, they released some code for Bink player among other things before pulling the game code from the internet because of the legality of releasing proprietary 3rd party source code.
If you look, you can find it
EDIT 2: oops, nevermind it was source code for the Miles audio from Rad Game Tools and not the Bink Player for bik files.
[quote="helifax]
This is very interesting... I haven't seen this before. It reminds me of GTA-V and Dragon Age: Inquisition and a few other games where the 3D Vision just drops...
Like I said it before, on numerous occasions, I suspect it to be 3D Vision driver issue... I wish I could find it out what is causing it....
Related SWKOTOR 1&2: You did notice that I said in the Readme file that movies need to be disabled yes? ^_^ (I saw that you installed the HD Movie Pack). The games aren't rendered inside the game window, but instead is destroying the window, create one for videos, destroys this one and creates the game window again after movies. This is why the wrapper stops working :([/quote]
I had followed the instructions and was aware on disabling the movies. I now have both SWKOTOR 1 & 2 working no problem with 3D. I turned off your wrapper and deleted the ini files and started both of them over and things are working well now.
It appear the game engine's are quite finicky and I've had a problem with my character in SWKOTOR freezing up just after a battle which appears to be a known bug in the game. In case anyone has this problem, the two things you can do is try disable/enable VSYNC and if that doesn't work, do a quick save and then a quick load (F4 Save, F5 Quick Load Default keys) and your character will be able to move. Seems like an inherent problem to the engine and it is well documented if you do a google search.
Thanks for your work on this Helifax, your wrapper is working great on the SWKOTOR games. I'll let you know if I uncover anything that I think may be related. Your videos have also been informative. I am going to play around with Prey some more and see what I can do with it...
This is very interesting... I haven't seen this before. It reminds me of GTA-V and Dragon Age: Inquisition and a few other games where the 3D Vision just drops...
Like I said it before, on numerous occasions, I suspect it to be 3D Vision driver issue... I wish I could find it out what is causing it....
Related SWKOTOR 1&2: You did notice that I said in the Readme file that movies need to be disabled yes? ^_^ (I saw that you installed the HD Movie Pack). The games aren't rendered inside the game window, but instead is destroying the window, create one for videos, destroys this one and creates the game window again after movies. This is why the wrapper stops working :(
I had followed the instructions and was aware on disabling the movies. I now have both SWKOTOR 1 & 2 working no problem with 3D. I turned off your wrapper and deleted the ini files and started both of them over and things are working well now.
It appear the game engine's are quite finicky and I've had a problem with my character in SWKOTOR freezing up just after a battle which appears to be a known bug in the game. In case anyone has this problem, the two things you can do is try disable/enable VSYNC and if that doesn't work, do a quick save and then a quick load (F4 Save, F5 Quick Load Default keys) and your character will be able to move. Seems like an inherent problem to the engine and it is well documented if you do a google search.
Thanks for your work on this Helifax, your wrapper is working great on the SWKOTOR games. I'll let you know if I uncover anything that I think may be related. Your videos have also been informative. I am going to play around with Prey some more and see what I can do with it...
Well... this requires a bit of explanation so please bear with me;))
The wrapper currently supports 2 Modes:
I. - Legacy OpenGL Mode (with ARB ASM shaders)
II. - Modern OpenGL Mode (OpenGL 3.x and newer) with full programmable pipeline and GLSL shaders.
In both cases:
The Nvidia DX-OGL interoop makes this:
- You create a DX9/11 Renderer.
- You create 2 buffers (left + right image).
- You render using this DX9 context.
So... there are a couple of functions that are very important in OpenGL:
- glBindFramebuffer (Name, 0); Notice the 0 (zero). This means is binding the actual framebuffer of the screen (and not other framebuffers)
- glSwapBuffers(). This is the function that swaps the back with the front buffers (So it takes whats in framebuffer0 and shows on screen)
- Other functions and variants of the above, etc, but is the same concept.
So... Once you have the DX9 renderer you need to hook all the glBindFramebuffers with the Interoop buffers (so you draw inside the DX9 context and not the OGL one).
At the end of a frame where glSwapBuffers is called you need to use the Present() of your DX9 rendering in order to display the content of the buffer.
Ofc, is not as simple as it sounds since you need to keep track of which eye you are rendering, not all engines have both functions (some only have glSwapBuffers since by default framebuffer0 is bound anyway) and so on...
Doing this will allow you to use 3D Vision and see 2x2D images (left+right). So now we need to add the stereo injection:
Case I: Legacy Mode: This is done by applying the convergence and separation tweaks to the Projection Matrix (after the projection matrix is set). You also need to remove the stereo injection in some cases from specific Projection Matrices.
Case II: Modern Mode: This is done by applying the convergence and separation formula in the GLSL shaders before they are compiled (this envolves a hooking mechanism to get all the shaders before they are compiled, swaping the source code, rebuilding and re-linking the shaders etc).
Once that is done you also need to send the convergence and separation values from the CPU (openGL app) to the GPU.
So back to the initial question on how I get the values and allow the use of the keys: I have a thread that is querying NVAPI which gives me the current convergence, separation and eye separation values set in the driver.
These values I then use to create the stereoscopic projection (either shader side or application side).
So this is a quick overview of how the wrapper and DX-OGL interop works:)
Hope this answers your question ^_^
Well... this requires a bit of explanation so please bear with me;))
The wrapper currently supports 2 Modes:
I. - Legacy OpenGL Mode (with ARB ASM shaders)
II. - Modern OpenGL Mode (OpenGL 3.x and newer) with full programmable pipeline and GLSL shaders.
In both cases:
The Nvidia DX-OGL interoop makes this:
- You create a DX9/11 Renderer.
- You create 2 buffers (left + right image).
- You render using this DX9 context.
So... there are a couple of functions that are very important in OpenGL:
- glBindFramebuffer (Name, 0); Notice the 0 (zero). This means is binding the actual framebuffer of the screen (and not other framebuffers)
- glSwapBuffers(). This is the function that swaps the back with the front buffers (So it takes whats in framebuffer0 and shows on screen)
- Other functions and variants of the above, etc, but is the same concept.
So... Once you have the DX9 renderer you need to hook all the glBindFramebuffers with the Interoop buffers (so you draw inside the DX9 context and not the OGL one).
At the end of a frame where glSwapBuffers is called you need to use the Present() of your DX9 rendering in order to display the content of the buffer.
Ofc, is not as simple as it sounds since you need to keep track of which eye you are rendering, not all engines have both functions (some only have glSwapBuffers since by default framebuffer0 is bound anyway) and so on...
Doing this will allow you to use 3D Vision and see 2x2D images (left+right). So now we need to add the stereo injection:
Case I: Legacy Mode: This is done by applying the convergence and separation tweaks to the Projection Matrix (after the projection matrix is set). You also need to remove the stereo injection in some cases from specific Projection Matrices.
Case II: Modern Mode: This is done by applying the convergence and separation formula in the GLSL shaders before they are compiled (this envolves a hooking mechanism to get all the shaders before they are compiled, swaping the source code, rebuilding and re-linking the shaders etc).
Once that is done you also need to send the convergence and separation values from the CPU (openGL app) to the GPU.
So back to the initial question on how I get the values and allow the use of the keys: I have a thread that is querying NVAPI which gives me the current convergence, separation and eye separation values set in the driver.
These values I then use to create the stereoscopic projection (either shader side or application side).
So this is a quick overview of how the wrapper and DX-OGL interop works:)
Hope this answers your question ^_^
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="TsaebehT"]Curious should this hook in the original Alice(Q3) in Legacy mode? I couldn't seem to get it to when I tried, no splash screen.[/quote]
No idea about that game yet;))
I am developing the wrapper against certain engines and their best practices;)) and also learning quite a bit about the old days of OpenGL programming ^_^
TsaebehT said:Curious should this hook in the original Alice(Q3) in Legacy mode? I couldn't seem to get it to when I tried, no splash screen.
No idea about that game yet;))
I am developing the wrapper against certain engines and their best practices;)) and also learning quite a bit about the old days of OpenGL programming ^_^
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="D-Man11"][quote="helifax"]Related SWKOTOR 1&2: The movies aren't rendered inside the game window, but instead is destroying the window, create one for videos, destroys this one and creates the game window again after movies. This is why the wrapper stops working :(
[/quote]
No idea if it will be of any use, but when Raven Software released the source code for Jedi Academy, they released some code for Bink player among other things before pulling the game code from the internet because of the legality of releasing proprietary 3rd party source code.
If you look, you can find it
EDIT 2: oops, nevermind it was source code for the Miles audio from Rad Game Tools and not the Bink Player for bik files.[/quote]
According to Wikipedia the Jedi Academy source code might actually contain the bink sdk
I downloaded the Bink video player last year and never knew until now that it comes with a lot of extras, such as the converter and compressor. If you double click on the exe, it brings up a help menu showing some of the syntax.
Download http://www.radgametools.com/bnkmain.htm
FAQ http://www.radgametools.com/binkfaq.htm
[url]http://www.radgametools.com/binkhbap.htm#START[/url]
helifax said:Related SWKOTOR 1&2: The movies aren't rendered inside the game window, but instead is destroying the window, create one for videos, destroys this one and creates the game window again after movies. This is why the wrapper stops working :(
No idea if it will be of any use, but when Raven Software released the source code for Jedi Academy, they released some code for Bink player among other things before pulling the game code from the internet because of the legality of releasing proprietary 3rd party source code.
If you look, you can find it
EDIT 2: oops, nevermind it was source code for the Miles audio from Rad Game Tools and not the Bink Player for bik files.
According to Wikipedia the Jedi Academy source code might actually contain the bink sdk
I downloaded the Bink video player last year and never knew until now that it comes with a lot of extras, such as the converter and compressor. If you double click on the exe, it brings up a help menu showing some of the syntax.
Hello all,
Public Release of the OpenGL3DVision Wrapper version 2.20 (Beta) is now added.
You can grab it : [url=http://3dsurroundgaming.com/OGL3DVision.html]3D Surround Gaming => OpenGL-3D Vision Wrapper[/url]
===========================================================================================
For a complete list of fixes/updates/new fetures see:
[url=http://3dsurroundgaming.com/OpenGL3DVisionWrapper.html]OGL3DVision Wrapper Features[/url]
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
Hello all,
Public Release of the OpenGL3DVision Wrapper version 3.19 (Beta) is now added.
You can grab it : [url=http://3dsurroundgaming.com/OGL3DVision.html]3D Surround Gaming => OpenGL-3D Vision Wrapper[/url]
===========================================================================================
For a complete list of fixes/updates/new fetures see:
[url=http://3dsurroundgaming.com/OpenGL3DVisionWrapper.html]OGL3DVision Wrapper Features[/url]
===========================================================================================
This released suffered a massive re-write in regards to the Shader Manager and shader Manipulation. It was re-done in order to support a broad range of games. Main focus was Wolfenstein: The Old Blood.
===========================================================================================
This released suffered a massive re-write in regards to the Shader Manager and shader Manipulation. It was re-done in order to support a broad range of games. Main focus was Wolfenstein: The Old Blood.
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
3.19 Beta does not have a nip file.
Is the wrapper generalized enough now to work with any profile?
Or is the 3D Wrapper profile that you created for previous versions still required?
[quote="D-Man11"]3.19 Beta does not have a nip file.
Is the wrapper generalized enough now to work with any profile?
Or is the 3D Wrapper profile that you created for previous versions still required? [/quote]
A profile is not required anymore. The wrapper will automatically detect if the game has a nvidia profile and update that one accordingly with the 3D Vision flags.
If a profile is not found in the nvidia driver it will generate one for the "name.exe" file. You will find it in the list with Nvidia Inspector ;))
D-Man11 said:3.19 Beta does not have a nip file.
Is the wrapper generalized enough now to work with any profile?
Or is the 3D Wrapper profile that you created for previous versions still required?
A profile is not required anymore. The wrapper will automatically detect if the game has a nvidia profile and update that one accordingly with the 3D Vision flags.
If a profile is not found in the nvidia driver it will generate one for the "name.exe" file. You will find it in the list with Nvidia Inspector ;))
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
I see what you did there, that's awesome.
I do have just a few more questions.
1. Is there just two categories that games fall into using your wrapper, either Legacy or Current?
2. Is Legacy considered pre OpenGL 2.0 or pre 3.0?
3. Does the wrapper automatically detect and hook Legacy or Current, or is this something that has to be done manually via the ini.
3. Can it be determined if a game is using Legacy mode by the hook point that it uses? Or is there any way at all to tell if a game is using old OpenGL?
Unfortunately MSI Afterburner will only tell me that a game is using OpenGL, it will not differentiate old from new.
1. Is there just two categories that games fall into using your wrapper, either Legacy or Current?
2. Is Legacy considered pre OpenGL 2.0 or pre 3.0?
3. Does the wrapper automatically detect and hook Legacy or Current, or is this something that has to be done manually via the ini.
3. Can it be determined if a game is using Legacy mode by the hook point that it uses? Or is there any way at all to tell if a game is using old OpenGL?
Unfortunately MSI Afterburner will only tell me that a game is using OpenGL, it will not differentiate old from new.
That is awesome news!!! Glad that someone finally decided to try it out ^_^
I know it sound a bit complicated initially and it has a learning curve, but once you get that it pretty straight-forward;))
For Kotor1 & 2 the settings that I import from the nip file are related to SLI and Multi-GPU usage. The default SLI bits are not working correctly in 3D and produce a weird "colored dots" effect in one eye. So I tested like 40+ SLI bits to find the one that actually works the best with the game. SLI is on and Rendering Mode is AFR2.
If you want to see how it behaves in the default state:
- Go to nvidia inspector and delete the profile (if is not a standard one). If is a standard one (that comes with driver install) just reset the profile to default.
- Delete/Rename the profile.nip file from the wrapper.
- Start the game.
You will defo see what I am talking about as well as poor SLI scaling (I know is a game from 10+ years ago but you will still be able to see the difference)
;))
Regarding Prey:
In the ini file did you enable the Legacy OpenGL calls functionality ? This is the magic bit for Kotor games.
If you did not, try that:)
If you did and you are still getting flat 3D (without separation/convergence) it is possible the wrapper is not modifying the projection matrix where it needs to. (I only tested this new functionality on Kotor games)
It is possible, since its an old engine, to also need to hook the shaders to inject stereoscopy and that is using (most likely) ARB ASM shaders (which I currently didn't implement since I didn't had the game for it ;)) )
I'll also try to find a copy of Prey around and see what we can do about it;))
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)
Yep, this is exactly what I configured for Prey.
LegacyMode = True
AutomaticHookPoint = True
Enable3DVision = True
3D is definitely kickin in and you can see some depth so it's nice to see your wrapper working. I am going to play around with it some more.
I also checked out SWKOTOR 2 - Sith Lords and I have installed the wide screen fix, along with the official HD movie and music files. Then the Restoration mod and some HD textures. Looking pretty good. The 3D is much more pronounced with this game and is playable. The 3D does drop out for no apparent reason and seems to be at random. Your wrapper is working pretty good though.....I'll keep playing around with it....
Is the latest version missing the Profile.nip or is it supposed to not need it? I've tried various ways but keep getting 'Could not generate profile for prey.exe application! 3D Vision will be disabled...' error messages. I tried deleting the old legacy profile, I even tried using the Profile.nip from Amnesia ... I just can't seem to get Prey out of SBS.Nevermind, ran the game as admin and it created the Profile ... although I did enable EnableShaderDump and it didn't create one, not sure if that's a Legacy thing. Anyway with the depth multiplier at 2 and after adjusting convergence it looks fantastic. There's a few things that are off, lights/flares and fullscreen effects/loading screens ... but yeah ... just ... just ... WOW! B)[MonitorSizeOverride][Global/Base Profile Tweaks][Depth=IPD]
Ooops... Yeah I forgot to say that you need Admin rights to make the changes in the nvidia profile (as I am admin on my PC i forgot...)
If you are talking about Prey, yes the lights are off. There is an option in advanced 2 settings related to this so you can turn it off.
Shader dump is working only for GLSL currently and the game is not using GLSL but ARB Shaders.
Related UI and stuff: I did launch Doom 3 as well (original one) yesterday. And again the wrapper works and I can get nice 3D. However the moment I increase convergence it breaks the UI. Since the engine doesn't uses shaders for UI drawing and is rather drawn using direct OpenGL calls, I am unable to revert the stereo3D and make the HUD/UI 2D :(
So unfortunately nothing I can do there...
(For SWKOTOR it was rather easy since I found where they were drawing it and I was able to remove the stereo injection there.)
@Striker_66:
This is very interesting... I haven't seen this before. It reminds me of GTA-V and Dragon Age: Inquisition and a few other games where the 3D Vision just drops...
Like I said it before, on numerous occasions, I suspect it to be 3D Vision driver issue... I wish I could find it out what is causing it....
Related SWKOTOR 1&2: You did notice that I said in the Readme file that movies need to be disabled yes? ^_^ (I saw that you installed the HD Movie Pack). The games aren't rendered inside the game window, but instead is destroying the window, create one for videos, destroys this one and creates the game window again after movies. This is why the wrapper stops working :(
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)
Or is the game rendering 100% in OpenGL, but you are hooking into the functions of Nvidia's stereoscopic drivers to enable the emitter and hot-keys?
EDIT:
No idea if it will be of any use, but when Raven Software released the source code for Jedi Academy, they released some code for Bink player among other things before pulling the game code from the internet because of the legality of releasing proprietary 3rd party source code.
If you look, you can find it
EDIT 2: oops, nevermind it was source code for the Miles audio from Rad Game Tools and not the Bink Player for bik files.
I had followed the instructions and was aware on disabling the movies. I now have both SWKOTOR 1 & 2 working no problem with 3D. I turned off your wrapper and deleted the ini files and started both of them over and things are working well now.
It appear the game engine's are quite finicky and I've had a problem with my character in SWKOTOR freezing up just after a battle which appears to be a known bug in the game. In case anyone has this problem, the two things you can do is try disable/enable VSYNC and if that doesn't work, do a quick save and then a quick load (F4 Save, F5 Quick Load Default keys) and your character will be able to move. Seems like an inherent problem to the engine and it is well documented if you do a google search.
Thanks for your work on this Helifax, your wrapper is working great on the SWKOTOR games. I'll let you know if I uncover anything that I think may be related. Your videos have also been informative. I am going to play around with Prey some more and see what I can do with it...
The wrapper currently supports 2 Modes:
I. - Legacy OpenGL Mode (with ARB ASM shaders)
II. - Modern OpenGL Mode (OpenGL 3.x and newer) with full programmable pipeline and GLSL shaders.
In both cases:
The Nvidia DX-OGL interoop makes this:
- You create a DX9/11 Renderer.
- You create 2 buffers (left + right image).
- You render using this DX9 context.
So... there are a couple of functions that are very important in OpenGL:
- glBindFramebuffer (Name, 0); Notice the 0 (zero). This means is binding the actual framebuffer of the screen (and not other framebuffers)
- glSwapBuffers(). This is the function that swaps the back with the front buffers (So it takes whats in framebuffer0 and shows on screen)
- Other functions and variants of the above, etc, but is the same concept.
So... Once you have the DX9 renderer you need to hook all the glBindFramebuffers with the Interoop buffers (so you draw inside the DX9 context and not the OGL one).
At the end of a frame where glSwapBuffers is called you need to use the Present() of your DX9 rendering in order to display the content of the buffer.
Ofc, is not as simple as it sounds since you need to keep track of which eye you are rendering, not all engines have both functions (some only have glSwapBuffers since by default framebuffer0 is bound anyway) and so on...
Doing this will allow you to use 3D Vision and see 2x2D images (left+right). So now we need to add the stereo injection:
Case I: Legacy Mode: This is done by applying the convergence and separation tweaks to the Projection Matrix (after the projection matrix is set). You also need to remove the stereo injection in some cases from specific Projection Matrices.
Case II: Modern Mode: This is done by applying the convergence and separation formula in the GLSL shaders before they are compiled (this envolves a hooking mechanism to get all the shaders before they are compiled, swaping the source code, rebuilding and re-linking the shaders etc).
Once that is done you also need to send the convergence and separation values from the CPU (openGL app) to the GPU.
So back to the initial question on how I get the values and allow the use of the keys: I have a thread that is querying NVAPI which gives me the current convergence, separation and eye separation values set in the driver.
These values I then use to create the stereoscopic projection (either shader side or application side).
So this is a quick overview of how the wrapper and DX-OGL interop works:)
Hope this answers your question ^_^
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)
[MonitorSizeOverride][Global/Base Profile Tweaks][Depth=IPD]
No idea about that game yet;))
I am developing the wrapper against certain engines and their best practices;)) and also learning quite a bit about the old days of OpenGL programming ^_^
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)
According to Wikipedia the Jedi Academy source code might actually contain the bink sdk
I downloaded the Bink video player last year and never knew until now that it comes with a lot of extras, such as the converter and compressor. If you double click on the exe, it brings up a help menu showing some of the syntax.
Download http://www.radgametools.com/bnkmain.htm
FAQ http://www.radgametools.com/binkfaq.htm
http://www.radgametools.com/binkhbap.htm#START
Public Release of the OpenGL3DVision Wrapper version 2.20 (Beta) is now added.
You can grab it : 3D Surround Gaming => OpenGL-3D Vision Wrapper
===========================================================================================
For a complete list of fixes/updates/new fetures see:
OGL3DVision Wrapper Features
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)
Public Release of the OpenGL3DVision Wrapper version 3.19 (Beta) is now added.
You can grab it : 3D Surround Gaming => OpenGL-3D Vision Wrapper
===========================================================================================
For a complete list of fixes/updates/new fetures see:
OGL3DVision Wrapper Features
===========================================================================================
This released suffered a massive re-write in regards to the Shader Manager and shader Manipulation. It was re-done in order to support a broad range of games. Main focus was Wolfenstein: The Old Blood.
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)
Is the wrapper generalized enough now to work with any profile?
Or is the 3D Wrapper profile that you created for previous versions still required?
A profile is not required anymore. The wrapper will automatically detect if the game has a nvidia profile and update that one accordingly with the 3D Vision flags.
If a profile is not found in the nvidia driver it will generate one for the "name.exe" file. You will find it in the list with Nvidia Inspector ;))
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)
I do have just a few more questions.
1. Is there just two categories that games fall into using your wrapper, either Legacy or Current?
2. Is Legacy considered pre OpenGL 2.0 or pre 3.0?
3. Does the wrapper automatically detect and hook Legacy or Current, or is this something that has to be done manually via the ini.
3. Can it be determined if a game is using Legacy mode by the hook point that it uses? Or is there any way at all to tell if a game is using old OpenGL?
Unfortunately MSI Afterburner will only tell me that a game is using OpenGL, it will not differentiate old from new.