Within about the past 6 months, Dolphin has added native support for 3DVision. It allows you to change convergence and depth inside the graphics settings and there is even per game settings available as well as a disable for monoscopic shadows.
As noted in [url=https://forums.dolphin-emu.org/Thread-stereoscopic-3d?pid=361358#pid361358]this post[/url], you want to use nVidia Inspector to modify a value in the Dolphin Emulator profile under the Undefined section: the Name "0x70EDB381" value of "0x24208B6C" needs to change to "0x00000000" This supposedly keeps 3DVision from double activation and mitigates performance issues.
However, some games do have shader issues that need fixing. I'm not sure what the best method of doing this is - changing code in Dolphin or using 3DMigoto, which works with these latest builds.
I've started using 3DMigoto to get rid of some bad blur effects that look terrible in 3D. Some of them seem to be as simple as using the automatic disable for that shader.
I have a couple of questions about 3DMigoto:
Other shaders that are full screen blurs (Super Mario Sunshine heatwave and Twilight Princess twilight realms) disappear when the pixel shader is skipped using 3DMigoto's hunting mode, but the automatic disable doesn't work and I'm not sure how to disable them. I've looked at several of the guides, but they're mainly for the older helixmod and the syntax appears to be different for dx11 compared to dx9. Is there a simple way to "skip" like the hunting mode does?
Is it likely for different games to have the same shader since they are being run through an emulator? It seems that this is likely.
Within about the past 6 months, Dolphin has added native support for 3DVision. It allows you to change convergence and depth inside the graphics settings and there is even per game settings available as well as a disable for monoscopic shadows.
As noted in this post, you want to use nVidia Inspector to modify a value in the Dolphin Emulator profile under the Undefined section: the Name "0x70EDB381" value of "0x24208B6C" needs to change to "0x00000000" This supposedly keeps 3DVision from double activation and mitigates performance issues.
However, some games do have shader issues that need fixing. I'm not sure what the best method of doing this is - changing code in Dolphin or using 3DMigoto, which works with these latest builds.
I've started using 3DMigoto to get rid of some bad blur effects that look terrible in 3D. Some of them seem to be as simple as using the automatic disable for that shader.
I have a couple of questions about 3DMigoto:
Other shaders that are full screen blurs (Super Mario Sunshine heatwave and Twilight Princess twilight realms) disappear when the pixel shader is skipped using 3DMigoto's hunting mode, but the automatic disable doesn't work and I'm not sure how to disable them. I've looked at several of the guides, but they're mainly for the older helixmod and the syntax appears to be different for dx11 compared to dx9. Is there a simple way to "skip" like the hunting mode does?
Is it likely for different games to have the same shader since they are being run through an emulator? It seems that this is likely.
Your post motivated me to fix/disable shaders in Dolphin today. I will make a thread about it in the Development Discussion section in the Dolphin forums when I finish what I'm doing.
For now, this is what I've done (some of the fixes also benefit 2D users):
- Disabled water reflections in Zelda Twilight Princess. I also tried to make an HUD toggle, but I couldn't for some reason, even after finding the correct vertex shader.
- Disabled heatwaves in Super Mario Sunshine. The most correct thing would be correcting it for 3D, but that's above my abilities for now. I'm also currently trying to fix water reflections/refraction. Just disabling the effect makes water black from above.
- Disabled the dark overlay some N64 games have. Yesterday I submitted an issue report in Dolphin, but it was rejected. So I fixed it myself with 3DMigoto.
- Disabled blur effect that affects some parts of the screen in Tales of Symphonia.
Some of the fixes affect other games, so it's better to replace the ShaderFixes folder for the games you want to play.
I'll try fixing that thing in Super Mario Sunshine for a while and then I'll open the thread.
By the way, I followed this guide to disable the effects: https://github.com/bo3b/3Dmigoto/wiki/Using-3Dmigoto-to-find-and-fix-shaders
Edit: I've just fixed the water in SMS. I thought there wasn't a vertex shader for it but there is.
Your post motivated me to fix/disable shaders in Dolphin today. I will make a thread about it in the Development Discussion section in the Dolphin forums when I finish what I'm doing.
For now, this is what I've done (some of the fixes also benefit 2D users):
- Disabled water reflections in Zelda Twilight Princess. I also tried to make an HUD toggle, but I couldn't for some reason, even after finding the correct vertex shader.
- Disabled heatwaves in Super Mario Sunshine. The most correct thing would be correcting it for 3D, but that's above my abilities for now. I'm also currently trying to fix water reflections/refraction. Just disabling the effect makes water black from above.
- Disabled the dark overlay some N64 games have. Yesterday I submitted an issue report in Dolphin, but it was rejected. So I fixed it myself with 3DMigoto.
- Disabled blur effect that affects some parts of the screen in Tales of Symphonia.
Some of the fixes affect other games, so it's better to replace the ShaderFixes folder for the games you want to play.
I'll try fixing that thing in Super Mario Sunshine for a while and then I'll open the thread.
I managed to disable the fake water reflections in Twilight Princess, but I was unable to get the full-screen blur effect that happens when in a twilight realm to go away. Skipping the pixel shader with the hunting tool works, but the automatic disable did not.
Does the part in the tutorial about adding a line with the code "o2 = 0;" work for any of these shader fixes you did?
I managed to disable the fake water reflections in Twilight Princess, but I was unable to get the full-screen blur effect that happens when in a twilight realm to go away. Skipping the pixel shader with the hunting tool works, but the automatic disable did not.
Does the part in the tutorial about adding a line with the code "o2 = 0;" work for any of these shader fixes you did?
Do the no bloom and no blur codes from here help you?: http://www.gc-forever.com/forums/viewtopic.php?t=2007
In general, disabling pixel shaders is more difficult to me than disabling vertex shaders.
When I want to disable a vertex shader, for every variable starting with "o" I put its value to 0, in the void main method, in the part enclosed in "{}".
For pixel shaders it's more hit or miss. I found one for Star Fox 64 that had a "o0" variable, so I put it to 0 and it worked. For Tales of Symphonia, emptying the main method worked. But for Luigi's Mansion and Dragon Ball Z BT3, I still couldn't find a way to disable those pixel shaders. In DBZ's case, the main method is empty!
I'm still a beginner at this. I have to train myself and start knowing what I'm doing better.
In general, disabling pixel shaders is more difficult to me than disabling vertex shaders.
When I want to disable a vertex shader, for every variable starting with "o" I put its value to 0, in the void main method, in the part enclosed in "{}".
For pixel shaders it's more hit or miss. I found one for Star Fox 64 that had a "o0" variable, so I put it to 0 and it worked. For Tales of Symphonia, emptying the main method worked. But for Luigi's Mansion and Dragon Ball Z BT3, I still couldn't find a way to disable those pixel shaders. In DBZ's case, the main method is empty!
I'm still a beginner at this. I have to train myself and start knowing what I'm doing better.
Is this what you mean by "automatic disable"? This is supposed to have the same visual result as skipping a shader while hunting:
[code]
[ShaderOverrideFullScreenBlur]
Hash = <Fill me in>
handling = skip
[/code]
To disable a pixel shader you can either try setting it's output to 0 (or 1, or float4(0,0,01), or float4(1,1,1,0)...). Alternatively, you can use the "discard;" instruction, which should also have the same visual result as skipping the shader.
Is this what you mean by "automatic disable"? This is supposed to have the same visual result as skipping a shader while hunting:
[ShaderOverrideFullScreenBlur]
Hash = <Fill me in>
handling = skip
To disable a pixel shader you can either try setting it's output to 0 (or 1, or float4(0,0,01), or float4(1,1,1,0)...). Alternatively, you can use the "discard;" instruction, which should also have the same visual result as skipping the shader.
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
@masterotaku If you haven't already seen it we have started trying to document some of the driver profile settings:
http://wiki.bo3b.net/index.php?title=Driver_Profile_Settings
I also have a replacement CustomSettingNames file to make the names show up in nvidia inspector:
https://raw.githubusercontent.com/DarkStarSword/3d-fixes/master/CustomSettingNames_en-EN.xml
That particular one you found is StereoTextureEnable, which mainly controls a) heuristics for which textures to automatically duplicate and b) when to apply the stereo correction formula (plus a few other things)
That particular one you found is StereoTextureEnable, which mainly controls a) heuristics for which textures to automatically duplicate and b) when to apply the stereo correction formula (plus a few other things)
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
Just tested this alternative Dolphin build and got a best performance with Mario Kart Wii:
https://forums.dolphin-emu.org/Thread-unofficial-ishiiruka-dolphin-custom-version
Yep, that's the version I use. I'll have to check today if the latest Ishiiruka build is compatible with my shader fixes.
I spent all my free time yesterday fixing more things. Today (in a few hours, when I'm home), I'm going to update that thread and show comparison screenshots.
DBZBT3 needed many fixes because many maps have a weird flickering.
Some fixes (or should I call them disablements?) would be better as cheat codes, but doing this is a lot easier.
Yep, that's the version I use. I'll have to check today if the latest Ishiiruka build is compatible with my shader fixes.
I spent all my free time yesterday fixing more things. Today (in a few hours, when I'm home), I'm going to update that thread and show comparison screenshots.
DBZBT3 needed many fixes because many maps have a weird flickering.
Some fixes (or should I call them disablements?) would be better as cheat codes, but doing this is a lot easier.
Hi masterotaku.Could you set Resident evil 4 wii edition crosshair to work with depth,please?.Currently It is at screen level.This is very annoying.Thanks.
Hi masterotaku.Could you set Resident evil 4 wii edition crosshair to work with depth,please?.Currently It is at screen level.This is very annoying.Thanks.
1- I don't have that game for the Wii or Gamecube (I want to buy the newest PC release).
2- I'm still trying and failing to actually fix the reflections in Zelda TP and Super Mario Shunshine.
3- I'm not an expert and not even close, and for now I've only managed to disable things, not fix them (anyone can do this).
Does anyone have any general idea of where I should start with reflections that get misplaced to the sides as separation increases? I've seen ways to zoom the reflection image and other things, but I'm still doing a lot of trial and error.
This is an example: http://u.cubeupload.com/masterotaku/ZTPoff.jpg
The dumped shaders are these two: https://www.dropbox.com/s/3n19yp8qswu5gid/detectedZeldaTP.7z?dl=0
The one that controls most of the reflections is the one that starts with "5c".
1- I don't have that game for the Wii or Gamecube (I want to buy the newest PC release).
2- I'm still trying and failing to actually fix the reflections in Zelda TP and Super Mario Shunshine.
3- I'm not an expert and not even close, and for now I've only managed to disable things, not fix them (anyone can do this).
Does anyone have any general idea of where I should start with reflections that get misplaced to the sides as separation increases? I've seen ways to zoom the reflection image and other things, but I'm still doing a lot of trial and error.
The Action Replay codes you linked to do a good job of removing the remaining annoying effects. I use the Widescreen, blur modifier, remove Epona motion blur, remove heat/haze effects, and remove bloom.
With some simple disabling of the water reflections and these codes, Twilight Princess would probably get a "Great" rating. The crosshair is 2D and the HUD is 2D as well. I might look into pushing these into depth.
The Action Replay codes you linked to do a good job of removing the remaining annoying effects. I use the Widescreen, blur modifier, remove Epona motion blur, remove heat/haze effects, and remove bloom.
With some simple disabling of the water reflections and these codes, Twilight Princess would probably get a "Great" rating. The crosshair is 2D and the HUD is 2D as well. I might look into pushing these into depth.
@masterotaku I don't think you are going to have any luck trying to fix that shader with 3DMigoto unfortunately. Since Dolphin emulator implements it's own stereo correction you will need to work with it - the StereoParams texture that 3DMigoto injects will be meaningless.
I've taken a quick look at the Dolphin source code. It looks like it applies the stereo adjustment in a *geometry* shader, rather than the vertex shader, and I don't think the vertex shaders even have access to the necessary constant buffer (but I could be wrong - I haven't done a deep dive into the code yet).
Fixing geometry shaders is only available in very recent versions of 3Dmigoto, and currently limited to assembly (which is still a bit fragile and subject to certain types of mistakes leading to consistent or inconsistent crashes), although if you are able to extract the HLSL shader out of Dolphin you might be able to use that.
Where you have access to the necessary constant buffer (named "GSBlock", which has a "cstereo"), you will find the separation for the left and right eyes in the first two components, and the convergence in the third - the stereo correction formula they are using is the same one nvidia uses:
f.pos.x += cstereo[eye] * (f.pos.w - cstereo[2]);
From what I can gather, Dolphin generates it's own shaders on the fly (e.g. [url]https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/GeometryShaderGen.cpp[/url]), so you might be able to make any adjustments you need in the source code and recompile it, but I'm not familiar enough with how this generation works to be sure if that's the best approach.
You can probably use 3DMigoto to experiment a bit with the various outputs, and work out which texture is being sampled in the pixel shader that has that halo - even if you can't fix it with 3DMigoto that will at least give you some clues for where it needs to be fixed.
Edit: From that screenshot, I suspect that there is a good possibility that you need to apply the stereo correction to whichever texture coordinate is used for refraction (and probably divide by 2 for the differences between screen coords and texture coords). o3 and o4 both use texture transformations (ctexmtx) and could be potential suspects (but probably need to be adjusted in the geometry shader, not here).
@masterotaku I don't think you are going to have any luck trying to fix that shader with 3DMigoto unfortunately. Since Dolphin emulator implements it's own stereo correction you will need to work with it - the StereoParams texture that 3DMigoto injects will be meaningless.
I've taken a quick look at the Dolphin source code. It looks like it applies the stereo adjustment in a *geometry* shader, rather than the vertex shader, and I don't think the vertex shaders even have access to the necessary constant buffer (but I could be wrong - I haven't done a deep dive into the code yet).
Fixing geometry shaders is only available in very recent versions of 3Dmigoto, and currently limited to assembly (which is still a bit fragile and subject to certain types of mistakes leading to consistent or inconsistent crashes), although if you are able to extract the HLSL shader out of Dolphin you might be able to use that.
Where you have access to the necessary constant buffer (named "GSBlock", which has a "cstereo"), you will find the separation for the left and right eyes in the first two components, and the convergence in the third - the stereo correction formula they are using is the same one nvidia uses:
f.pos.x += cstereo[eye] * (f.pos.w - cstereo[2]);
You can probably use 3DMigoto to experiment a bit with the various outputs, and work out which texture is being sampled in the pixel shader that has that halo - even if you can't fix it with 3DMigoto that will at least give you some clues for where it needs to be fixed.
Edit: From that screenshot, I suspect that there is a good possibility that you need to apply the stereo correction to whichever texture coordinate is used for refraction (and probably divide by 2 for the differences between screen coords and texture coords). o3 and o4 both use texture transformations (ctexmtx) and could be potential suspects (but probably need to be adjusted in the geometry shader, not here).
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
Thanks! Your answer is very helpful. I'll see what I can do this weekend, but I don't promise anything. I already have a texture pack port to finish, after all (ahem, and games to play).
In Super Mario Sunshine, I could move around the image inside the heatwave, but I felt that it needed convergence and separation settings, because none of the axis seemed to take me nearer of the goal.
Thanks! Your answer is very helpful. I'll see what I can do this weekend, but I don't promise anything. I already have a texture pack port to finish, after all (ahem, and games to play).
In Super Mario Sunshine, I could move around the image inside the heatwave, but I felt that it needed convergence and separation settings, because none of the axis seemed to take me nearer of the goal.
As noted in this post, you want to use nVidia Inspector to modify a value in the Dolphin Emulator profile under the Undefined section: the Name "0x70EDB381" value of "0x24208B6C" needs to change to "0x00000000" This supposedly keeps 3DVision from double activation and mitigates performance issues.
However, some games do have shader issues that need fixing. I'm not sure what the best method of doing this is - changing code in Dolphin or using 3DMigoto, which works with these latest builds.
I've started using 3DMigoto to get rid of some bad blur effects that look terrible in 3D. Some of them seem to be as simple as using the automatic disable for that shader.
I have a couple of questions about 3DMigoto:
Other shaders that are full screen blurs (Super Mario Sunshine heatwave and Twilight Princess twilight realms) disappear when the pixel shader is skipped using 3DMigoto's hunting mode, but the automatic disable doesn't work and I'm not sure how to disable them. I've looked at several of the guides, but they're mainly for the older helixmod and the syntax appears to be different for dx11 compared to dx9. Is there a simple way to "skip" like the hunting mode does?
Is it likely for different games to have the same shader since they are being run through an emulator? It seems that this is likely.
i7-4770k @ 4.3GHz
EVGA GTX 1080Ti
16GB 2400MHz DDR3
1TB SanDisk SSD
2TB 7200RPM HDD
Windows 10 x64
For now, this is what I've done (some of the fixes also benefit 2D users):
- Disabled water reflections in Zelda Twilight Princess. I also tried to make an HUD toggle, but I couldn't for some reason, even after finding the correct vertex shader.
- Disabled heatwaves in Super Mario Sunshine. The most correct thing would be correcting it for 3D, but that's above my abilities for now. I'm also currently trying to fix water reflections/refraction. Just disabling the effect makes water black from above.
- Disabled the dark overlay some N64 games have. Yesterday I submitted an issue report in Dolphin, but it was rejected. So I fixed it myself with 3DMigoto.
- Disabled blur effect that affects some parts of the screen in Tales of Symphonia.
Some of the fixes affect other games, so it's better to replace the ShaderFixes folder for the games you want to play.
I'll try fixing that thing in Super Mario Sunshine for a while and then I'll open the thread.
By the way, I followed this guide to disable the effects: https://github.com/bo3b/3Dmigoto/wiki/Using-3Dmigoto-to-find-and-fix-shaders
Edit: I've just fixed the water in SMS. I thought there wasn't a vertex shader for it but there is.
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
https://forums.dolphin-emu.org/Thread-shader-fixing-disabling-for-2d-and-3d-thread-using-3dmigoto
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
Does the part in the tutorial about adding a line with the code "o2 = 0;" work for any of these shader fixes you did?
i7-4770k @ 4.3GHz
EVGA GTX 1080Ti
16GB 2400MHz DDR3
1TB SanDisk SSD
2TB 7200RPM HDD
Windows 10 x64
In general, disabling pixel shaders is more difficult to me than disabling vertex shaders.
When I want to disable a vertex shader, for every variable starting with "o" I put its value to 0, in the void main method, in the part enclosed in "{}".
For pixel shaders it's more hit or miss. I found one for Star Fox 64 that had a "o0" variable, so I put it to 0 and it worked. For Tales of Symphonia, emptying the main method worked. But for Luigi's Mansion and Dragon Ball Z BT3, I still couldn't find a way to disable those pixel shaders. In DBZ's case, the main method is empty!
I'm still a beginner at this. I have to train myself and start knowing what I'm doing better.
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
To disable a pixel shader you can either try setting it's output to 0 (or 1, or float4(0,0,01), or float4(1,1,1,0)...). Alternatively, you can use the "discard;" instruction, which should also have the same visual result as skipping the shader.
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
http://wiki.bo3b.net/index.php?title=Driver_Profile_Settings
I also have a replacement CustomSettingNames file to make the names show up in nvidia inspector:
https://raw.githubusercontent.com/DarkStarSword/3d-fixes/master/CustomSettingNames_en-EN.xml
That particular one you found is StereoTextureEnable, which mainly controls a) heuristics for which textures to automatically duplicate and b) when to apply the stereo correction formula (plus a few other things)
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
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
https://forums.dolphin-emu.org/Thread-unofficial-ishiiruka-dolphin-custom-version
I spent all my free time yesterday fixing more things. Today (in a few hours, when I'm home), I'm going to update that thread and show comparison screenshots.
DBZBT3 needed many fixes because many maps have a weird flickering.
Some fixes (or should I call them disablements?) would be better as cheat codes, but doing this is a lot easier.
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
2- I'm still trying and failing to actually fix the reflections in Zelda TP and Super Mario Shunshine.
3- I'm not an expert and not even close, and for now I've only managed to disable things, not fix them (anyone can do this).
Does anyone have any general idea of where I should start with reflections that get misplaced to the sides as separation increases? I've seen ways to zoom the reflection image and other things, but I'm still doing a lot of trial and error.
This is an example: http://u.cubeupload.com/masterotaku/ZTPoff.jpg
The dumped shaders are these two: https://www.dropbox.com/s/3n19yp8qswu5gid/detectedZeldaTP.7z?dl=0
The one that controls most of the reflections is the one that starts with "5c".
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
With some simple disabling of the water reflections and these codes, Twilight Princess would probably get a "Great" rating. The crosshair is 2D and the HUD is 2D as well. I might look into pushing these into depth.
i7-4770k @ 4.3GHz
EVGA GTX 1080Ti
16GB 2400MHz DDR3
1TB SanDisk SSD
2TB 7200RPM HDD
Windows 10 x64
I've taken a quick look at the Dolphin source code. It looks like it applies the stereo adjustment in a *geometry* shader, rather than the vertex shader, and I don't think the vertex shaders even have access to the necessary constant buffer (but I could be wrong - I haven't done a deep dive into the code yet).
Fixing geometry shaders is only available in very recent versions of 3Dmigoto, and currently limited to assembly (which is still a bit fragile and subject to certain types of mistakes leading to consistent or inconsistent crashes), although if you are able to extract the HLSL shader out of Dolphin you might be able to use that.
Where you have access to the necessary constant buffer (named "GSBlock", which has a "cstereo"), you will find the separation for the left and right eyes in the first two components, and the convergence in the third - the stereo correction formula they are using is the same one nvidia uses:
f.pos.x += cstereo[eye] * (f.pos.w - cstereo[2]);
From what I can gather, Dolphin generates it's own shaders on the fly (e.g. https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/GeometryShaderGen.cpp), so you might be able to make any adjustments you need in the source code and recompile it, but I'm not familiar enough with how this generation works to be sure if that's the best approach.
You can probably use 3DMigoto to experiment a bit with the various outputs, and work out which texture is being sampled in the pixel shader that has that halo - even if you can't fix it with 3DMigoto that will at least give you some clues for where it needs to be fixed.
Edit: From that screenshot, I suspect that there is a good possibility that you need to apply the stereo correction to whichever texture coordinate is used for refraction (and probably divide by 2 for the differences between screen coords and texture coords). o3 and o4 both use texture transformations (ctexmtx) and could be potential suspects (but probably need to be adjusted in the geometry shader, not here).
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
In Super Mario Sunshine, I could move around the image inside the heatwave, but I felt that it needed convergence and separation settings, because none of the axis seemed to take me nearer of the goal.
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com