Guide: How to Change 3D Vision Discover Colors(or enable SBS in 3DMigoto via Discover)
[s]I was messing around with this stuff awhile ago, trying to remove the color from anaglyph mode for use with 3DMigoto SBS... which I was able to do without 3DMigoto but once it was introduced it caused crashing on my Win10 Monitor setup and a slight 'tint' on my Win7 DLP setup[/s](It's working now, see bottom of this post for info) but since KamiSenpai brought up Green/Magenta anaglyph recently I thought I'd share some of my findings... So the Drivers haven't allowed us to change lens color for quite some time, this is because other color schemes are only allowed when StereoAnaglyphType is set to 0(or above 2) and the Drivers keep rewriting it back to 1 for Discover(Red/Cyan). There's a few ways to get StereoAnaglyphType to 'stick' after enabling 3D Vision Discover... [olist][.]Alt+Tab out of a game, set it to 0 and go back into the game[/.] [.]Set it to 0 and then Lock the Registry Key <--- not a fan[/.] [.]Run a Script that sets it after the Drivers rewrite it[/.][/olist] ...with StereoAnaglyphType set to 0 the Drivers seem to only use LeftAnaglyphFilter and completely ignore RightAnaglyphFilter. What the Drivers seem to do is use what ever value LeftAnaglyphFilter is set to and then just automatically set RightAnaglyphFilter to it's opposite/complimentary color. So when setting LeftAnaglyphFilter to FF00FF00(Green) and it will automatically set RightAnaglyphFilter to FFFF00FF(Magenta) and vice versa, set LeftAnaglyphFilter to FFFF00FF(Magenta) and it will automatically set RightAnaglyphFilter to FF00FF00(Green)... and this works for ALL color 'sets'... Red/Cyan, Orange/Blue, Yellow/Blue, etc. I wrote a VBS Script to set LeftAnaglyphFilter using it's RRGGBB value and keep StereoAnaglyphType in check for 10 seconds and/or until something triggers it by changing StereoAnaglyphType in the Registry, both the RRGGBB value and the time it runs(RunFor) are 'editable' by changing their respective values in the Script, shown in [color="orange"]orange[/color] below: [quote]Color = "&HFF" & "[color="orange"]00FF00[/color]" ' "RRGGBB" RunFor = [color="orange"]10[/color] ' Seconds to Run[/quote]There's a great Color Calculator [url=https://www.sessions.edu/color-calculator/]here[/url] for finding the RRGGBB Values as well as seeing their complimentary values/colors. Save as DiscoverMode.vbs, Edit Color/Time and Run: [code]' ©2017 TsaebehT - For Intended Use Only Please Do Not Distribute Without Permission. If WScript.Arguments.Length = 0 Then Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "WScript","""" & WScript.ScriptFullName & """ RunAsAdmin",,"RunAs",1 WScript.Quit End if Color = "&HFF" & "00FF00" ' "RRGGBB" RunFor = 10 ' Seconds to Run Key = "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\" Set objShell = CreateObject("WScript.Shell") objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD" objShell.RegWrite Key & "LeftAnaglyphFilter",Color,"REG_DWORD" RunFor = Timer + RunFor Do if objShell.RegRead(Key & "StereoAnaglyphType") <> "0" Then objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD" WScript.Sleep 999 if objShell.RegRead(Key & "StereoAnaglyphType") <> "0" Then objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD" WScript.Quit End if Loop Until Timer > RunFor[/code] [center][s]----------------------------------------------------------------------------------[/s][/center] edit:Not sure what changed but enabling SBS via 3DMigoto/Discover not longer crashes on my Win10 rig, so here's a non-editable SBS version of the script and instrustions of how to enable SBS Mode in [url=https://github.com/bo3b/3Dmigoto/releases]3DMigoto[/url]. Enable 3D Vision Discover in the Control Panel then... Copy the contents of 3DMigoto's x32 or x64 folder to where the game's EXE is located and in 3DMigoto's d3dx.ini, edit the x7 = line to your desired output(or just cycle through them in-game using F11): [code]; x7 is used by the 3DVision2SBS custom shader. To use, find the [Present] ; section below and uncomment the 'run = CustomShader3DVision2SBS' line. ; 0 = Regular 3D Vision ; 1 = Reversed 3D Vision ; 2 = Side by Side ; 3 = Reversed Side by Side ; 4 = Top and Bottom ; 5 = Reversed Top and Bottom x7 = 2[/code] ...and uncomment(remove the ;) the run = CustomShader3DVision2SBS line, like so: [code]; Uncomment to enable a custom shader that allows the stereo output mode to be ; changed to Side-by-Side or Top-and-Bottom: run = CustomShader3DVision2SBS[/code] Save as SBSMode.vbs and Run right before starting game [code]' ©2017 TsaebehT - For Intended Use Only Please Do Not Distribute Without Permission. If WScript.Arguments.Length = 0 Then Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "WScript","""" & WScript.ScriptFullName & """ RunAsAdmin",,"RunAs",1 WScript.Quit End if Key = "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\" Set objShell = CreateObject("WScript.Shell") objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD" objShell.RegWrite Key & "LeftAnaglyphFilter","&HFFFFFFFF","REG_DWORD" RunFor = Timer + 10 Do if objShell.RegRead(Key & "StereoAnaglyphType") <> "0" Then objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD" WScript.Sleep 999 if objShell.RegRead(Key & "StereoAnaglyphType") <> "0" Then objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD" WScript.Quit End if Loop Until Timer > RunFor[/code]
I was messing around with this stuff awhile ago, trying to remove the color from anaglyph mode for use with 3DMigoto SBS... which I was able to do without 3DMigoto but once it was introduced it caused crashing on my Win10 Monitor setup and a slight 'tint' on my Win7 DLP setup(It's working now, see bottom of this post for info) but since KamiSenpai brought up Green/Magenta anaglyph recently I thought I'd share some of my findings...

So the Drivers haven't allowed us to change lens color for quite some time, this is because other color schemes are only allowed when StereoAnaglyphType is set to 0(or above 2) and the Drivers keep rewriting it back to 1 for Discover(Red/Cyan).

There's a few ways to get StereoAnaglyphType to 'stick' after enabling 3D Vision Discover...

  1. Alt+Tab out of a game, set it to 0 and go back into the game

  2. Set it to 0 and then Lock the Registry Key <--- not a fan

  3. Run a Script that sets it after the Drivers rewrite it

...with StereoAnaglyphType set to 0 the Drivers seem to only use LeftAnaglyphFilter and completely ignore RightAnaglyphFilter. What the Drivers seem to do is use what ever value LeftAnaglyphFilter is set to and then just automatically set RightAnaglyphFilter to it's opposite/complimentary color.

So when setting LeftAnaglyphFilter to FF00FF00(Green) and it will automatically set RightAnaglyphFilter to FFFF00FF(Magenta) and vice versa, set LeftAnaglyphFilter to FFFF00FF(Magenta) and it will automatically set RightAnaglyphFilter to FF00FF00(Green)... and this works for ALL color 'sets'... Red/Cyan, Orange/Blue, Yellow/Blue, etc.

I wrote a VBS Script to set LeftAnaglyphFilter using it's RRGGBB value and keep StereoAnaglyphType in check for 10 seconds and/or until something triggers it by changing StereoAnaglyphType in the Registry, both the RRGGBB value and the time it runs(RunFor) are 'editable' by changing their respective values in the Script, shown in orange below:

Color = "&HFF" & "00FF00" ' "RRGGBB"
RunFor = 10 ' Seconds to Run
There's a great Color Calculator here for finding the RRGGBB Values as well as seeing their complimentary values/colors.

Save as DiscoverMode.vbs, Edit Color/Time and Run:
' ©2017 TsaebehT - For Intended Use Only Please Do Not Distribute Without Permission.
If WScript.Arguments.Length = 0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "WScript","""" & WScript.ScriptFullName & """ RunAsAdmin",,"RunAs",1
WScript.Quit
End if

Color = "&HFF" & "00FF00" ' "RRGGBB"
RunFor = 10 ' Seconds to Run

Key = "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\"
Set objShell = CreateObject("WScript.Shell")
objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD"
objShell.RegWrite Key & "LeftAnaglyphFilter",Color,"REG_DWORD"
RunFor = Timer + RunFor
Do
if objShell.RegRead(Key & "StereoAnaglyphType") <> "0" Then
objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD"
WScript.Sleep 999
if objShell.RegRead(Key & "StereoAnaglyphType") <> "0" Then objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD"
WScript.Quit
End if
Loop Until Timer > RunFor

----------------------------------------------------------------------------------

edit:Not sure what changed but enabling SBS via 3DMigoto/Discover not longer crashes on my Win10 rig, so here's a non-editable SBS version of the script and instrustions of how to enable SBS Mode in 3DMigoto.

Enable 3D Vision Discover in the Control Panel then...

Copy the contents of 3DMigoto's x32 or x64 folder to where the game's EXE is located and in 3DMigoto's d3dx.ini, edit the x7 = line to your desired output(or just cycle through them in-game using F11):
; x7 is used by the 3DVision2SBS custom shader. To use, find the [Present]
; section below and uncomment the 'run = CustomShader3DVision2SBS' line.
; 0 = Regular 3D Vision
; 1 = Reversed 3D Vision
; 2 = Side by Side
; 3 = Reversed Side by Side
; 4 = Top and Bottom
; 5 = Reversed Top and Bottom
x7 = 2

...and uncomment(remove the ;) the run = CustomShader3DVision2SBS line, like so:
; Uncomment to enable a custom shader that allows the stereo output mode to be
; changed to Side-by-Side or Top-and-Bottom:
run = CustomShader3DVision2SBS

Save as SBSMode.vbs and Run right before starting game
' ©2017 TsaebehT - For Intended Use Only Please Do Not Distribute Without Permission.
If WScript.Arguments.Length = 0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "WScript","""" & WScript.ScriptFullName & """ RunAsAdmin",,"RunAs",1
WScript.Quit
End if
Key = "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\"
Set objShell = CreateObject("WScript.Shell")
objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD"
objShell.RegWrite Key & "LeftAnaglyphFilter","&HFFFFFFFF","REG_DWORD"
RunFor = Timer + 10
Do
if objShell.RegRead(Key & "StereoAnaglyphType") <> "0" Then
objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD"
WScript.Sleep 999
if objShell.RegRead(Key & "StereoAnaglyphType") <> "0" Then objShell.RegWrite Key & "StereoAnaglyphType",0,"REG_DWORD"
WScript.Quit
End if
Loop Until Timer > RunFor
Attachments

DiscoverMode.vbs.png

#1
Posted 04/07/2017 07:08 PM   
Thanks, this seems to be working. :P Spent many hours into finding a solution and you made it so easy ^^
Thanks, this seems to be working. :P
Spent many hours into finding a solution and you made it so easy ^^

#2
Posted 04/08/2017 10:23 AM   
Adobe has an on-line color wheel. The color values are for Adobe certified monitors, so I'm not sure how well it will work. But it should give you an idea of some hexadecimal values to try for reducing crosstalk in anaglyph 3D.. https://color.adobe.com/create/color-wheel/
Adobe has an on-line color wheel.

The color values are for Adobe certified monitors, so I'm not sure how well it will work. But it should give you an idea of some hexadecimal values to try for reducing crosstalk in anaglyph 3D..

https://color.adobe.com/create/color-wheel/

#3
Posted 04/19/2017 02:59 PM   
BTW, here's a neat little anaglyph demonstration video that's in your face. It's not representative of how games are, but because there are no background objects, the convergence can be cranked up. https://www.youtube.com/watch?v=DswQQW4xqAs
BTW, here's a neat little anaglyph demonstration video that's in your face. It's not representative of how games are, but because there are no background objects, the convergence can be cranked up.

#4
Posted 04/21/2017 01:33 AM   
Updated OP to include Discover + 3DMigoto = SBS...
Updated OP to include Discover + 3DMigoto = SBS...
#5
Posted 05/18/2017 11:59 AM   
Scroll To Top