How to fix/disable shaders in games(DLL,guide and fixes).
152 / 167
In a number of games I've looked at, I'm having the problem double shadows in 3D (2 shadows per eye).
I was able to fix it a bit in one game by adjusting the FOV component in the shadow pixel shader. But I'm not certain that that's the right way to go about it. I was wondering if someone can give me a hint on where the problem may lie. (I fear the solution is a lot more complex than it seems =(
In a number of games I've looked at, I'm having the problem double shadows in 3D (2 shadows per eye).
I was able to fix it a bit in one game by adjusting the FOV component in the shadow pixel shader. But I'm not certain that that's the right way to go about it. I was wondering if someone can give me a hint on where the problem may lie. (I fear the solution is a lot more complex than it seems =(
I know that Among the Sleep has an Oculus implementation, you might try to see if you can get it into Oculus mode, and if the shadows are fixed there (and not just disabled), you might be able to dump the shader for the shadows and see how a non-broken one looks. All hypothetical, but maybe.
I know that Among the Sleep has an Oculus implementation, you might try to see if you can get it into Oculus mode, and if the shadows are fixed there (and not just disabled), you might be able to dump the shader for the shadows and see how a non-broken one looks. All hypothetical, but maybe.
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
Ooooooh, that's an interesting idea. The Rift games I've tried don't necessarily work in 3d vision, but if they're using different shaders for rift mode that could be a relatively simple way to fix them.
Ooooooh, that's an interesting idea. The Rift games I've tried don't necessarily work in 3d vision, but if they're using different shaders for rift mode that could be a relatively simple way to fix them.
Nevermind.. I found the issue. I switched from the old debug DLL to the newest one and the problem went away. I'm still getting double shadow issues another game, though. Anyways, I'll keep chipping away at a fix for Among the sleep. Things are progressing well, but I'm not certain I can make it 100% perfect. I'll keep you guys updated.
Also, thanks for the suggestion, bo3b. I also think your idea is interesting and I decided to experiment with it a bit. But it seems like the VR shader dump is identical to the regular dump. Here's what I did:
-So first, I dumped all the shaders of the game with the 3D on.
-I ran Tsaebeht's program CleanCRCsEngine to consolidate & rename all PS & VS files, then moved them to a seperate folder.
-Next I turned off 3D in the Nvidia control panel, removed the shaderoverride directory in the game folder, removed the game from it's profile & restarted my computer.
-Ran the game in VR mode, dumped all shaders.
-Moved the new dumped shaders into the same folder I moved the old ones & ran CleanCRCsEngine again to check for any file differences. No differences found.
I probably did something wrong. So maybe someone else can experiment with it more.
Nevermind.. I found the issue. I switched from the old debug DLL to the newest one and the problem went away. I'm still getting double shadow issues another game, though. Anyways, I'll keep chipping away at a fix for Among the sleep. Things are progressing well, but I'm not certain I can make it 100% perfect. I'll keep you guys updated.
Also, thanks for the suggestion, bo3b. I also think your idea is interesting and I decided to experiment with it a bit. But it seems like the VR shader dump is identical to the regular dump. Here's what I did:
-So first, I dumped all the shaders of the game with the 3D on.
-I ran Tsaebeht's program CleanCRCsEngine to consolidate & rename all PS & VS files, then moved them to a seperate folder.
-Next I turned off 3D in the Nvidia control panel, removed the shaderoverride directory in the game folder, removed the game from it's profile & restarted my computer.
-Ran the game in VR mode, dumped all shaders.
-Moved the new dumped shaders into the same folder I moved the old ones & ran CleanCRCsEngine again to check for any file differences. No differences found.
I probably did something wrong. So maybe someone else can experiment with it more.
Did you try Alt+Tabbing out of the game and then back into the game? I remember when I was looking for Shaders with one game/dll combo, I was stuck on a particular one and couldn't what was causing the doubling, I just so happened to Alt+Tab out of the game and it was fixed when I went back into it.
For the heck of it I ran the demo, dumped the Shaders up until the menu then quit, renamed the Dump folder, ran it up until the menu again and then switched to VR mode and quit ... it found one more PS than the previous Dump but in the end it still wound up being a duplicate CRC.
Did you try Alt+Tabbing out of the game and then back into the game? I remember when I was looking for Shaders with one game/dll combo, I was stuck on a particular one and couldn't what was causing the doubling, I just so happened to Alt+Tab out of the game and it was fixed when I went back into it.
For the heck of it I ran the demo, dumped the Shaders up until the menu then quit, renamed the Dump folder, ran it up until the menu again and then switched to VR mode and quit ... it found one more PS than the previous Dump but in the end it still wound up being a duplicate CRC.
I don't think Unity Rift mode allows custom resolutions but if anyone with a side by side display wants to try. Activate Rift mode with helixmod debugger. Find distortion [barrel] pixelshader. Delete.
Turn on side by side mode.
Though it would be a waste of time if no custom resolutions are allowed. [Though that would be strange since it cuts out upgrades to old games]. Cause 1280x800 at HSBS is a really terrible resolution.
I don't think Unity Rift mode allows custom resolutions but if anyone with a side by side display wants to try. Activate Rift mode with helixmod debugger. Find distortion [barrel] pixelshader. Delete.
Turn on side by side mode.
Though it would be a waste of time if no custom resolutions are allowed. [Though that would be strange since it cuts out upgrades to old games]. Cause 1280x800 at HSBS is a really terrible resolution.
[quote="4everAwake"]Nevermind.. I found the issue. I switched from the old debug DLL to the newest one and the problem went away. I'm still getting double shadow issues another game, though. Anyways, I'll keep chipping away at a fix for Among the sleep. Things are progressing well, but I'm not certain I can make it 100% perfect. I'll keep you guys updated.
Also, thanks for the suggestion, bo3b. I also think your idea is interesting and I decided to experiment with it a bit. But it seems like the VR shader dump is identical to the regular dump. Here's what I did:
-So first, I dumped all the shaders of the game with the 3D on.
-I ran Tsaebeht's program CleanCRCsEngine to consolidate & rename all PS & VS files, then moved them to a seperate folder.
-Next I turned off 3D in the Nvidia control panel, removed the shaderoverride directory in the game folder, removed the game from it's profile & restarted my computer.
-Ran the game in VR mode, dumped all shaders.
-Moved the new dumped shaders into the same folder I moved the old ones & ran CleanCRCsEngine again to check for any file differences. No differences found.
I probably did something wrong. So maybe someone else can experiment with it more.
[/quote]Awesome experiment, thanks for doing that. I don't see any flaws in your technique, that's exactly how I would have done it.
Can you notice whether anything is disabled, like shadow effects, or other deferred rendering/post process effects? In Museum of the Microstar demo for example, they simply disabled all the particle effects for their VR version.
That suggests that they don't fix the flaws by alternate shaders. Probably they do the expected technique of rendering twice to alternate eyes, sort of like using NVapi to directly implement 3D, and not rely upon Automatic mode.
4everAwake said:Nevermind.. I found the issue. I switched from the old debug DLL to the newest one and the problem went away. I'm still getting double shadow issues another game, though. Anyways, I'll keep chipping away at a fix for Among the sleep. Things are progressing well, but I'm not certain I can make it 100% perfect. I'll keep you guys updated.
Also, thanks for the suggestion, bo3b. I also think your idea is interesting and I decided to experiment with it a bit. But it seems like the VR shader dump is identical to the regular dump. Here's what I did:
-So first, I dumped all the shaders of the game with the 3D on.
-I ran Tsaebeht's program CleanCRCsEngine to consolidate & rename all PS & VS files, then moved them to a seperate folder.
-Next I turned off 3D in the Nvidia control panel, removed the shaderoverride directory in the game folder, removed the game from it's profile & restarted my computer.
-Ran the game in VR mode, dumped all shaders.
-Moved the new dumped shaders into the same folder I moved the old ones & ran CleanCRCsEngine again to check for any file differences. No differences found.
I probably did something wrong. So maybe someone else can experiment with it more.
Awesome experiment, thanks for doing that. I don't see any flaws in your technique, that's exactly how I would have done it.
Can you notice whether anything is disabled, like shadow effects, or other deferred rendering/post process effects? In Museum of the Microstar demo for example, they simply disabled all the particle effects for their VR version.
That suggests that they don't fix the flaws by alternate shaders. Probably they do the expected technique of rendering twice to alternate eyes, sort of like using NVapi to directly implement 3D, and not rely upon Automatic mode.
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
Quick question: Is there any way to instruct 3D Vision automatic to keep a particular shader in 2D?
I'm currently struggling with fixing the problem of HUD & menu elements with very high convergence. I tried to apply a fix similar to the one that's in "The Wolf Among Us", where the text & icons can be kept at screen depth.. but no luck. (It's for a Unity game, btw.)
Quick question: Is there any way to instruct 3D Vision automatic to keep a particular shader in 2D?
I'm currently struggling with fixing the problem of HUD & menu elements with very high convergence. I tried to apply a fix similar to the one that's in "The Wolf Among Us", where the text & icons can be kept at screen depth.. but no luck. (It's for a Unity game, btw.)
Hi.
As a newbie learning to use HelixMod's debug tool to find and disable shaders, I noticed that while cycling through shaders with the 3D glasses on that if I close one eye I can see a change that I cannot see with either both eyes open or the other eye closed - so what is happening there?
As a newbie learning to use HelixMod's debug tool to find and disable shaders, I noticed that while cycling through shaders with the 3D glasses on that if I close one eye I can see a change that I cannot see with either both eyes open or the other eye closed - so what is happening there?
[quote="4everAwake"]Quick question: Is there any way to instruct 3D Vision automatic to keep a particular shader in 2D?
I'm currently struggling with fixing the problem of HUD & menu elements with very high convergence. I tried to apply a fix similar to the one that's in "The Wolf Among Us", where the text & icons can be kept at screen depth.. but no luck. (It's for a Unity game, btw.)
[/quote]
You can't use helixmod to not stereoize a particular shader (that's not really how it all works). I don't know how "The Wolf..." fix is working, but the general rule to make something 2d at screen depth is to correct the dcl_position o0 variable so that it negates the drivers automatic correction, as follows:
texldl r24, c200.z, s0
add r24.y, r0.w, -r24.y
mul r24.x, r24.x, r24.y
add r0.x, r0.x, -r24.x <--- the minus sign here 'negates' the nvidia automatic correction
mov o0, r0
Sometimes this does not work, depending on what the hud element is, especially if the hud element is a 3D object itself (like a spinning icon/avatar or something), or perhaps there may be other parts of a shader generating other texcoord outputs that also affect the hud. But on the whole, that's the starting point.
4everAwake said:Quick question: Is there any way to instruct 3D Vision automatic to keep a particular shader in 2D?
I'm currently struggling with fixing the problem of HUD & menu elements with very high convergence. I tried to apply a fix similar to the one that's in "The Wolf Among Us", where the text & icons can be kept at screen depth.. but no luck. (It's for a Unity game, btw.)
You can't use helixmod to not stereoize a particular shader (that's not really how it all works). I don't know how "The Wolf..." fix is working, but the general rule to make something 2d at screen depth is to correct the dcl_position o0 variable so that it negates the drivers automatic correction, as follows:
texldl r24, c200.z, s0
add r24.y, r0.w, -r24.y
mul r24.x, r24.x, r24.y
add r0.x, r0.x, -r24.x <--- the minus sign here 'negates' the nvidia automatic correction
mov o0, r0
Sometimes this does not work, depending on what the hud element is, especially if the hud element is a 3D object itself (like a spinning icon/avatar or something), or perhaps there may be other parts of a shader generating other texcoord outputs that also affect the hud. But on the whole, that's the starting point.
[quote="XYandZ"]Hi.
As a newbie learning to use HelixMod's debug tool to find and disable shaders, I noticed that while cycling through shaders with the 3D glasses on that if I close one eye I can see a change that I cannot see with either both eyes open or the other eye closed - so what is happening there?
[/quote]Not certain I understand what you are seeing but that sounds like the type of thing that you are trying to fix with the 3D fix itself. Like, shaders that only show in one eye.
You might not see it with both eyes open, because one eye is dominant, and will tend to enforce its view of the world when there are conflicts.
One trick I use is to make a screenshot with Alt-F1, and then look at the result in a side-by-side view. That way you can see the exact differences between the two eyes and it tends to be more obvious. I'll also sometimes look at it with red/blue, because I can see things that are all red or all blue as being one-eyed.
As a newbie learning to use HelixMod's debug tool to find and disable shaders, I noticed that while cycling through shaders with the 3D glasses on that if I close one eye I can see a change that I cannot see with either both eyes open or the other eye closed - so what is happening there?
Not certain I understand what you are seeing but that sounds like the type of thing that you are trying to fix with the 3D fix itself. Like, shaders that only show in one eye.
You might not see it with both eyes open, because one eye is dominant, and will tend to enforce its view of the world when there are conflicts.
One trick I use is to make a screenshot with Alt-F1, and then look at the result in a side-by-side view. That way you can see the exact differences between the two eyes and it tends to be more obvious. I'll also sometimes look at it with red/blue, because I can see things that are all red or all blue as being one-eyed.
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
I was able to fix it a bit in one game by adjusting the FOV component in the shadow pixel shader. But I'm not certain that that's the right way to go about it. I was wondering if someone can give me a hint on where the problem may lie. (I fear the solution is a lot more complex than it seems =(
Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35
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
Also, thanks for the suggestion, bo3b. I also think your idea is interesting and I decided to experiment with it a bit. But it seems like the VR shader dump is identical to the regular dump. Here's what I did:
-So first, I dumped all the shaders of the game with the 3D on.
-I ran Tsaebeht's program CleanCRCsEngine to consolidate & rename all PS & VS files, then moved them to a seperate folder.
-Next I turned off 3D in the Nvidia control panel, removed the shaderoverride directory in the game folder, removed the game from it's profile & restarted my computer.
-Ran the game in VR mode, dumped all shaders.
-Moved the new dumped shaders into the same folder I moved the old ones & ran CleanCRCsEngine again to check for any file differences. No differences found.
I probably did something wrong. So maybe someone else can experiment with it more.
Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35
For the heck of it I ran the demo, dumped the Shaders up until the menu then quit, renamed the Dump folder, ran it up until the menu again and then switched to VR mode and quit ... it found one more PS than the previous Dump but in the end it still wound up being a duplicate CRC.
[MonitorSizeOverride][Global/Base Profile Tweaks][Depth=IPD]
Turn on side by side mode.
Though it would be a waste of time if no custom resolutions are allowed. [Though that would be strange since it cuts out upgrades to old games]. Cause 1280x800 at HSBS is a really terrible resolution.
Co-founder/Web host of helixmod.blog.com
Donations for web hosting @ paypal -eqzitara@yahoo.com
or
https://www.patreon.com/user?u=791918
Can you notice whether anything is disabled, like shadow effects, or other deferred rendering/post process effects? In Museum of the Microstar demo for example, they simply disabled all the particle effects for their VR version.
That suggests that they don't fix the flaws by alternate shaders. Probably they do the expected technique of rendering twice to alternate eyes, sort of like using NVapi to directly implement 3D, and not rely upon Automatic mode.
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
I'm currently struggling with fixing the problem of HUD & menu elements with very high convergence. I tried to apply a fix similar to the one that's in "The Wolf Among Us", where the text & icons can be kept at screen depth.. but no luck. (It's for a Unity game, btw.)
Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35
As a newbie learning to use HelixMod's debug tool to find and disable shaders, I noticed that while cycling through shaders with the 3D glasses on that if I close one eye I can see a change that I cannot see with either both eyes open or the other eye closed - so what is happening there?
You can't use helixmod to not stereoize a particular shader (that's not really how it all works). I don't know how "The Wolf..." fix is working, but the general rule to make something 2d at screen depth is to correct the dcl_position o0 variable so that it negates the drivers automatic correction, as follows:
texldl r24, c200.z, s0
add r24.y, r0.w, -r24.y
mul r24.x, r24.x, r24.y
add r0.x, r0.x, -r24.x <--- the minus sign here 'negates' the nvidia automatic correction
mov o0, r0
Sometimes this does not work, depending on what the hud element is, especially if the hud element is a 3D object itself (like a spinning icon/avatar or something), or perhaps there may be other parts of a shader generating other texcoord outputs that also affect the hud. But on the whole, that's the starting point.
Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278
Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35
You might not see it with both eyes open, because one eye is dominant, and will tend to enforce its view of the world when there are conflicts.
One trick I use is to make a screenshot with Alt-F1, and then look at the result in a side-by-side view. That way you can see the exact differences between the two eyes and it tends to be more obvious. I'll also sometimes look at it with red/blue, because I can see things that are all red or all blue as being one-eyed.
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