nVidia 3D Vision breaks support for OpenGL quad buffering with Windows 10 drivers
  2 / 2    
I understand next to nothing about this, but I came across a OpenGL stereoscopic wrapper called stereowrap and found it interesting how he used LD_PRELOAD. http://code.google.com/p/stereowrap/ http://www.linuxjournal.com/article/7795 But I do not understand exactly how "make" works. http://www.haverford.edu/cmsc/course-pages/usingMake.html Anyways, perhaps you can find it useful. As well as this link http://www.cppblog.com/zmj/archive/2007/05/03/23378.html
I understand next to nothing about this, but I came across a OpenGL stereoscopic wrapper called stereowrap and found it interesting how he used LD_PRELOAD.


http://code.google.com/p/stereowrap/


http://www.linuxjournal.com/article/7795


But I do not understand exactly how "make" works.


http://www.haverford.edu/cmsc/course-pages/usingMake.html


Anyways, perhaps you can find it useful.

As well as this link

http://www.cppblog.com/zmj/archive/2007/05/03/23378.html

#16
Posted 08/19/2015 03:09 AM   
Here's the post by helifax announcing KotoR wrappers [quote="helifax"]F.I.N.A.L.L.Y is here !!!!!!!!!! ============================================= Star Wars: Knights of the Old Republic ============================================= && ========================================================== Star Wars: Knights of the Old Republic II : The Sith Lords ========================================================== [color="green"] 3D Vision FIX!!!![/color] [img]http://3dsurroundgaming.com/VideoPages/icons/Kotor/Kotor-slide.jpg[/img] You can grab it from: [url=http://3dsurroundgaming.com/OpenGL3DVisionGames.html#kotor]3D Surround Gaming => 3D Vision OGL Fixed Games[/url] - Be sure to read the Readme.txt file:) - If you are on SLI, be sure to restart the game at least once after installing the wrapper. - Mods are supported! (Not sure if all) but defo texture packs and content mods. Screenshots: [url=http://3dsurroundgaming.com/OGL3DVision/pictures/Kotor/ScreenShots.html]SwKotor[/url] Screenshots: [url=http://3dsurroundgaming.com/OGL3DVision/pictures/Kotor2/ScreenShots.html]SwKotorII-The Sith Lords[/url] Video: [url=http://3dsurroundgaming.com/OGL3DVision/videos/Kotor/Video.html]SwKotor[/url] Video: [url=http://3dsurroundgaming.com/OGL3DVision/videos/Kotor2/Video.html]SwKotorII-The Sith Lords[/url] (Requires [url=ftp://ftp.mozilla.org/pub/firefox/releases/31.4.0esr/win32/en-US/]Firefox 31[/url] version to see them :( ) I really hope you will enjoy these classics in the 3rd dimension yet again ^_^ as these were basically my initial target with this wrapper ! (Even if I managed fix other newer more advanced game engines lol ^_^) ! Happy Gaming ![/quote]
Here's the post by helifax announcing KotoR wrappers

helifax said:F.I.N.A.L.L.Y is here !!!!!!!!!!

=============================================
Star Wars: Knights of the Old Republic
=============================================
&&
==========================================================
Star Wars: Knights of the Old Republic II : The Sith Lords
==========================================================
3D Vision FIX!!!!

Image


You can grab it from:
3D Surround Gaming => 3D Vision OGL Fixed Games

- Be sure to read the Readme.txt file:)
- If you are on SLI, be sure to restart the game at least once after installing the wrapper.
- Mods are supported! (Not sure if all) but defo texture packs and content mods.

Screenshots: SwKotor
Screenshots: SwKotorII-The Sith Lords

Video: SwKotor
Video: SwKotorII-The Sith Lords
(Requires Firefox 31 version to see them :( )


I really hope you will enjoy these classics in the 3rd dimension yet again ^_^ as these were basically my initial target with this wrapper ! (Even if I managed fix other newer more advanced game engines lol ^_^) !

Happy Gaming !

#17
Posted 08/19/2015 03:10 AM   
Also, some of the older OpenGL games had stereoscopic capabilities coded in, that simply require config file tweaks to work with 3D vision. These were on the id tech 2/3 engine American McGee's Alice, Star Wars Jedi Knight: Jedi Academy, Star Wars Jedi Knight II: Jedi Outcast, Return to Castle Wolfenstein https://forums.geforce.com/default/topic/825787/?comment=4511268
Also, some of the older OpenGL games had stereoscopic capabilities coded in, that simply require config file tweaks to work with 3D vision. These were on the id tech 2/3 engine

American McGee's Alice, Star Wars Jedi Knight: Jedi Academy, Star Wars Jedi Knight II: Jedi Outcast, Return to Castle Wolfenstein

https://forums.geforce.com/default/topic/825787/?comment=4511268

#18
Posted 08/19/2015 03:15 AM   
I've looked at the source code for the iD Tech 3 engine. It includes support for stereoscopic rendering with quad buffered OpenGL. Note that unlike Direct3D, OpenGL always has supported stereoscopic quad buffering. I haven't tested any of those games to see if they work with 3D Vision. As I explained earlier in this thread, 3D Vision's support for quad buffered OpenGL is very limited on consumer cards. It requires it to be in fullscreen exclusive mode (it enters that mode automatically), it requires it to be a borderless top-level window with no child windows, and it stops working if you switch to another application and won't work again unless the window is recreated. With my modified version of OpenGlide, it was very tricky to get it to work with 3D Vision, because the OpenGL window needs to be an additional window separate from the game window (to override the resolution, and also because in most cases the game window isn't set up in the way 3D Vision requires for quad buffered OpenGL). I had to figure out a way of making it display the OpenGL window unobstructed with 3D Vision working (3D Vision will only enter stereoscopic mode if the window is activated, and only the first time it is activated) and at the same time the game window receiving all keyboard and mouse input (which requires it to have input focus, which requires it to be activated). Luckily, I was able to figure out a way. From what I can see in the iD Tech 3 source code, it looks like it wouldn't work. To date, the only applications I've gotten to work with quad buffered OpenGL with nVidia 3D Vision are ones I've programmed. You said that you got [i]American McGee's Alice[/i] to work, though.
I've looked at the source code for the iD Tech 3 engine. It includes support for stereoscopic rendering with quad buffered OpenGL.

Note that unlike Direct3D, OpenGL always has supported stereoscopic quad buffering.

I haven't tested any of those games to see if they work with 3D Vision. As I explained earlier in this thread, 3D Vision's support for quad buffered OpenGL is very limited on consumer cards. It requires it to be in fullscreen exclusive mode (it enters that mode automatically), it requires it to be a borderless top-level window with no child windows, and it stops working if you switch to another application and won't work again unless the window is recreated.

With my modified version of OpenGlide, it was very tricky to get it to work with 3D Vision, because the OpenGL window needs to be an additional window separate from the game window (to override the resolution, and also because in most cases the game window isn't set up in the way 3D Vision requires for quad buffered OpenGL). I had to figure out a way of making it display the OpenGL window unobstructed with 3D Vision working (3D Vision will only enter stereoscopic mode if the window is activated, and only the first time it is activated) and at the same time the game window receiving all keyboard and mouse input (which requires it to have input focus, which requires it to be activated). Luckily, I was able to figure out a way.

From what I can see in the iD Tech 3 source code, it looks like it wouldn't work. To date, the only applications I've gotten to work with quad buffered OpenGL with nVidia 3D Vision are ones I've programmed.

You said that you got American McGee's Alice to work, though.

#19
Posted 08/19/2015 06:03 AM   
[quote="Matthew1987"]OpenGlide IS a generic wrapper -- for Glide games. My modified version of it supports stereoscopic rendering, and is vastly improved (it is modified so it uses OpenGL 3.3 core profile, and is far, far, far faster). It works perfectly with a number of games, including [i]King's Quest: Mask of Eternity[/i] and [i]Recoil[/i]. As far as a generic wrapper for OpenGL games, it is possible, and has been done before. eDimensional had an OpenGL wrapper which outputted in interleaved format (I used it to play Half-Life in stereoscopic 3D). nVidia's legacy drivers supported it as well. These wrappers are not a substitute for native support, however -- especially not with newer games. Because of how primitive Glide is, my version of OpenGlide generally displays games perfectly in 3D (I've even made it display LFB writes as 3D surfaces at an arbitrary depth that can be set). But with newer games, which use advanced rendering effects, there are often major anomalies. I think there has been too much focus on "automatic mode" 3D. The focus should instead be on adding native stereoscopic rendering support to games and engines. If Valve were to add that to the Source engine, for example, that would allow you to play any Source game in native 3D. They have added Oculus Rift support, but not general 3D support. I am considering adding native stereoscopic rendering support with quad-buffered OpenGL to [url=http://www.moddb.com/engines/xash3d-engine]Xash3D[/url]. This would allow any game that uses the GoldSrc engine, such as [i]Half-Life[/i], [i]Half-Life: Opposing Force[/i], and [i]Half-Life: Blue Shift[/i], to be played in native 3D.[/quote] This is very cool. It would be great if we could add your variant for games to HelixModBlog as another way to get the games in front of more 3D enthusiasts. We are trying to make the games-list there as comprehensive as we can. (named HelixMod, but we've branched off to all sorts of tools now, with Helix's blessing.) If we can add yours there too, they will definitely get more people playing them. I agree with you that it would be better to have native support in the rendering engines, but the reality is that even if the support is there, the devs tend to not use it. UE3 had native 3D Vision support, and still most games shipped broken. If you can add stereo support to Source though, that would be a huge win for any Source engine games. As you probably already know, the biggest problem with games is that advanced rendering effects like for water and reflections tend to use deferred rendering, which makes the 'automatic' break. If there is a clean substitute for those effects that run in 3D like if you were to fix the shaders for Xash3D, then that would be awesome.
Matthew1987 said:OpenGlide IS a generic wrapper -- for Glide games.

My modified version of it supports stereoscopic rendering, and is vastly improved (it is modified so it uses OpenGL 3.3 core profile, and is far, far, far faster). It works perfectly with a number of games, including King's Quest: Mask of Eternity and Recoil.

As far as a generic wrapper for OpenGL games, it is possible, and has been done before. eDimensional had an OpenGL wrapper which outputted in interleaved format (I used it to play Half-Life in stereoscopic 3D). nVidia's legacy drivers supported it as well.

These wrappers are not a substitute for native support, however -- especially not with newer games. Because of how primitive Glide is, my version of OpenGlide generally displays games perfectly in 3D (I've even made it display LFB writes as 3D surfaces at an arbitrary depth that can be set). But with newer games, which use advanced rendering effects, there are often major anomalies.

I think there has been too much focus on "automatic mode" 3D. The focus should instead be on adding native stereoscopic rendering support to games and engines.

If Valve were to add that to the Source engine, for example, that would allow you to play any Source game in native 3D. They have added Oculus Rift support, but not general 3D support.

I am considering adding native stereoscopic rendering support with quad-buffered OpenGL to Xash3D. This would allow any game that uses the GoldSrc engine, such as Half-Life, Half-Life: Opposing Force, and Half-Life: Blue Shift, to be played in native 3D.

This is very cool. It would be great if we could add your variant for games to HelixModBlog as another way to get the games in front of more 3D enthusiasts. We are trying to make the games-list there as comprehensive as we can. (named HelixMod, but we've branched off to all sorts of tools now, with Helix's blessing.) If we can add yours there too, they will definitely get more people playing them.


I agree with you that it would be better to have native support in the rendering engines, but the reality is that even if the support is there, the devs tend to not use it. UE3 had native 3D Vision support, and still most games shipped broken.

If you can add stereo support to Source though, that would be a huge win for any Source engine games.

As you probably already know, the biggest problem with games is that advanced rendering effects like for water and reflections tend to use deferred rendering, which makes the 'automatic' break. If there is a clean substitute for those effects that run in 3D like if you were to fix the shaders for Xash3D, then that would be awesome.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#20
Posted 08/19/2015 08:40 AM   
[quote=""] My modified version of it supports stereoscopic rendering, and is vastly improved (it is modified so it uses OpenGL 3.3 core profile, and is far, far, far faster). It works perfectly with a number of games, including [i]King's Quest: Mask of Eternity[/i] and [i]Recoil[/i]. I am considering adding native stereoscopic rendering support with quad-buffered OpenGL to [url=http://www.moddb.com/engines/xash3d-engine]Xash3D[/url]. This would allow any game that uses the GoldSrc engine, such as [i]Half-Life[/i], [i]Half-Life: Opposing Force[/i], and [i]Half-Life: Blue Shift[/i], to be played in native 3D.[/quote] Hmm.. Don't take it the wrong way.. but Half-Life 1 and HL:OF are ANCIENT games. I wonder if they even use the programmable pipeline in OpenGL. I think they are still using the fixed one which pre-dates OGL 2.0. Also, there are shaders that need modifications in order for stereo to render properly... It's a totally different thing (OGL 2.0 vs OGL 3.x and newer). Creating a general wrapper on an engine that uses ONE Framebuffer (FB_ZERO) is easy. Problem is when you are trying on anything modern where you need to duplicate the FBOs + all attachments. I see you are referencing a lot the engine on which you are working and is pretty cool;) If you want this discussion to turn into a more in-depth one let me know;)) I would be glad to discuss things even more and maybe we can find a solution to some of the issues there are present ?;))
said:

My modified version of it supports stereoscopic rendering, and is vastly improved (it is modified so it uses OpenGL 3.3 core profile, and is far, far, far faster). It works perfectly with a number of games, including King's Quest: Mask of Eternity and Recoil.

I am considering adding native stereoscopic rendering support with quad-buffered OpenGL to Xash3D. This would allow any game that uses the GoldSrc engine, such as Half-Life, Half-Life: Opposing Force, and Half-Life: Blue Shift, to be played in native 3D.


Hmm.. Don't take it the wrong way.. but Half-Life 1 and HL:OF are ANCIENT games. I wonder if they even use the programmable pipeline in OpenGL. I think they are still using the fixed one which pre-dates OGL 2.0. Also, there are shaders that need modifications in order for stereo to render properly... It's a totally different thing (OGL 2.0 vs OGL 3.x and newer).

Creating a general wrapper on an engine that uses ONE Framebuffer (FB_ZERO) is easy. Problem is when you are trying on anything modern where you need to duplicate the FBOs + all attachments.

I see you are referencing a lot the engine on which you are working and is pretty cool;)
If you want this discussion to turn into a more in-depth one let me know;)) I would be glad to discuss things even more and maybe we can find a solution to some of the issues there are present ?;))

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)

#21
Posted 08/19/2015 09:22 AM   
[quote="helifax"][quote=""] I'm curious if you ever added quad buffering to any of the older BioWare OpenGl games: KoToR 1 & 2, NWN's? [/quote] In regards to Kotor1 and Kotor2... I already have fixes for 3D Vision in place: [url=http://3dsurroundgaming.com/OpenGL3DVisionGames.html]3D Vision OpenGL Fixed Games[/url]. Maybe you missed them? Or you don't like them ?[/quote] Holy crap, no I totally missed those. Last time I checked up on modern OpenGL 3D Support there was a fix that worked with everything up to the point games started using shaders. If anyone "doesn't like" any level of 3D fix for a game here there's something wrong with them, imo. Less hoops the better (talking in general), but a fix is a fix.
helifax said:
said:
I'm curious if you ever added quad buffering to any of the older BioWare OpenGl games: KoToR 1 & 2, NWN's?


In regards to Kotor1 and Kotor2... I already have fixes for 3D Vision in place:
3D Vision OpenGL Fixed Games.

Maybe you missed them? Or you don't like them ?


Holy crap, no I totally missed those. Last time I checked up on modern OpenGL 3D Support there was a fix that worked with everything up to the point games started using shaders.

If anyone "doesn't like" any level of 3D fix for a game here there's something wrong with them, imo. Less hoops the better (talking in general), but a fix is a fix.

#22
Posted 08/19/2015 04:46 PM   
[quote="bo3b"]I agree with you that it would be better to have native support in the rendering engines, but the reality is that even if the support is there, the devs tend to not use it. UE3 had native 3D Vision support, and still most games shipped broken.[/quote] It still is better than the "automatic mode" drivers. The impression I have is that these drivers mostly don't work with today's games at all unless the game is modified. I've played some of [i]Black Mesa[/i] in stereoscopic 3D with nVidia 3D Vision. It is spectacular -- except that the weapons are giant, and there are numerous rendering artifacts. Although there is a Helix mod for [i]Black Mesa[/i], I haven't gotten it to work, and it only fixes some of the issues. [quote="bo3b"]If you can add stereo support to Source though, that would be a huge win for any Source engine games.[/quote] I can't, because Source is not open source. GoldSrc is not open source either. But there is a third-party engine (Xash3D) which is designed to be a replacement for it, and is open source. To use it, you run the game with Xash3D instead of the GoldSrc engine (you have to copy the game files into the Xash3D folder). [quote="bo3b"]As you probably already know, the biggest problem with games is that advanced rendering effects like for water and reflections tend to use deferred rendering, which makes the 'automatic' break. If there is a clean substitute for those effects that run in 3D like if you were to fix the shaders for Xash3D, then that would be awesome.[/quote] What I am considering doing is adding native stereoscopic rendering support to Xash3D. This would allow you to play any game that uses the GoldSrc engine natively in 3D, by using Xash3D instead. The user would be able to set the camera separation and screen separation. [quote="helifax"]Hmm.. Don't take it the wrong way.. but Half-Life 1 and HL:OF are ANCIENT games. I wonder if they even use the programmable pipeline in OpenGL. I think they are still using the fixed one which pre-dates OGL 2.0. Also, there are shaders that need modifications in order for stereo to render properly... It's a totally different thing (OGL 2.0 vs OGL 3.x and newer).[/quote] Xash3D is designed to be a modern replacement for GoldSrc. Those games would be much, much better if played natively in 3D with Xash3D.
bo3b said:I agree with you that it would be better to have native support in the rendering engines, but the reality is that even if the support is there, the devs tend to not use it. UE3 had native 3D Vision support, and still most games shipped broken.


It still is better than the "automatic mode" drivers.

The impression I have is that these drivers mostly don't work with today's games at all unless the game is modified.

I've played some of Black Mesa in stereoscopic 3D with nVidia 3D Vision. It is spectacular -- except that the weapons are giant, and there are numerous rendering artifacts. Although there is a Helix mod for Black Mesa, I haven't gotten it to work, and it only fixes some of the issues.



bo3b said:If you can add stereo support to Source though, that would be a huge win for any Source engine games.


I can't, because Source is not open source.

GoldSrc is not open source either. But there is a third-party engine (Xash3D) which is designed to be a replacement for it, and is open source. To use it, you run the game with Xash3D instead of the GoldSrc engine (you have to copy the game files into the Xash3D folder).



bo3b said:As you probably already know, the biggest problem with games is that advanced rendering effects like for water and reflections tend to use deferred rendering, which makes the 'automatic' break. If there is a clean substitute for those effects that run in 3D like if you were to fix the shaders for Xash3D, then that would be awesome.


What I am considering doing is adding native stereoscopic rendering support to Xash3D. This would allow you to play any game that uses the GoldSrc engine natively in 3D, by using Xash3D instead. The user would be able to set the camera separation and screen separation.



helifax said:Hmm.. Don't take it the wrong way.. but Half-Life 1 and HL:OF are ANCIENT games. I wonder if they even use the programmable pipeline in OpenGL. I think they are still using the fixed one which pre-dates OGL 2.0. Also, there are shaders that need modifications in order for stereo to render properly... It's a totally different thing (OGL 2.0 vs OGL 3.x and newer).


Xash3D is designed to be a modern replacement for GoldSrc. Those games would be much, much better if played natively in 3D with Xash3D.

#23
Posted 08/19/2015 05:48 PM   
Hey! Since I've finally found someone who's familiar with those stereoscopic issues there might be my only chance to get some answers. For many years I was dreaming of playing my favourite games in stereo. Years and years later I got a system with 3D Vision 2 setup, but nVidia cut support of stereo mode in dx1-dx7 applications a long ago. I had to create a secondary retro-setup with an old videocard, old drivers, old shutter glasses and a large crt display. But that's not the best experience that I could get. I still wanna run those games in stereo on my main pc. I got a GTX465 AND Quadro 600, a 120 Hz ASUS VG278H display (along with others) which I use for editing my own stereoscopic videos. Is there a wrapper that could translate dx6/7 to dx9 or quad-buffered opengl to run in stereo 3d?
Hey! Since I've finally found someone who's familiar with those stereoscopic issues there might be my only chance to get some answers.

For many years I was dreaming of playing my favourite games in stereo. Years and years later I got a system with 3D Vision 2 setup, but nVidia cut support of stereo mode in dx1-dx7 applications a long ago.

I had to create a secondary retro-setup with an old videocard, old drivers, old shutter glasses and a large crt display. But that's not the best experience that I could get. I still wanna run those games in stereo on my main pc.

I got a GTX465 AND Quadro 600, a 120 Hz ASUS VG278H display (along with others) which I use for editing my own stereoscopic videos. Is there a wrapper that could translate dx6/7 to dx9 or quad-buffered opengl to run in stereo 3d?

#24
Posted 09/22/2015 03:32 AM   
[quote="Valet2"]Is there a wrapper that could translate dx6/7 to dx9 or quad-buffered opengl to run in stereo 3d?[/quote][url]https://forums.geforce.com/default/topic/828843/[/url]
Valet2 said:Is there a wrapper that could translate dx6/7 to dx9 or quad-buffered opengl to run in stereo 3d?
https://forums.geforce.com/default/topic/828843/
#25
Posted 09/22/2015 03:43 AM   
  2 / 2    
Scroll To Top