[quote="vurt72"]Neither tilde key or z key does anything for me.. wish i could get that to work because the UI is really pushed in + the map to the right looks terrible, i can only watch it if i close one eye.[/quote]Make sure you have HBAO+ enabled - the auto UI requires it to be enabled in this game.
vurt72 said:Neither tilde key or z key does anything for me.. wish i could get that to work because the UI is really pushed in + the map to the right looks terrible, i can only watch it if i close one eye.
Make sure you have HBAO+ enabled - the auto UI requires it to be enabled in this game.
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
I think I see the problem vurt72 might be having. as I am getting an issue as well. Changing the Z parameter does not seem to fix the issue.
*scratch that, I was being a moron and modified the keyboard parameter instead of the xbox controller I was using. Now it's back to normal.
Uploading an example screenshot, anyway in case there is an easy resolution as I do like the sound of the HUD senses changes. I saw this issue in Dragons dogma with the minimap as well. This is 1920x1080p res
I think I see the problem vurt72 might be having. as I am getting an issue as well. Changing the Z parameter does not seem to fix the issue.
*scratch that, I was being a moron and modified the keyboard parameter instead of the xbox controller I was using. Now it's back to normal.
Uploading an example screenshot, anyway in case there is an easy resolution as I do like the sound of the HUD senses changes. I saw this issue in Dragons dogma with the minimap as well. This is 1920x1080p res
i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)
[quote="necropants"]I think I see the problem vurt72 might be having. as I am getting an issue as well. Changing the Z parameter does not seem to fix the issue.
*scratch that, I was being a moron and modified the keyboard parameter instead of the xbox controller I was using. Now it's back to normal.
Uploading an example screenshot, anyway in case there is an easy resolution as I do like the sound of the HUD senses changes. I saw this issue in Dragons dogma with the minimap as well. This is 1920x1080p res[/quote]
That can't be fixed, is basically how the shader works. It uses the texture map from the main MAP in-game and then uses an "opacity mask" to "mask" around the minimap contour. Pushing the shaders to depth will also push the opacity mask to depth and as a result you might get gaps and the map to "bleed" through the gaps.
This is the reason is only set in Witcher Sense mode and a toggle is available. :)
If anyone can think of a way to fix this, I am all ears:)
necropants said:I think I see the problem vurt72 might be having. as I am getting an issue as well. Changing the Z parameter does not seem to fix the issue.
*scratch that, I was being a moron and modified the keyboard parameter instead of the xbox controller I was using. Now it's back to normal.
Uploading an example screenshot, anyway in case there is an easy resolution as I do like the sound of the HUD senses changes. I saw this issue in Dragons dogma with the minimap as well. This is 1920x1080p res
That can't be fixed, is basically how the shader works. It uses the texture map from the main MAP in-game and then uses an "opacity mask" to "mask" around the minimap contour. Pushing the shaders to depth will also push the opacity mask to depth and as a result you might get gaps and the map to "bleed" through the gaps.
This is the reason is only set in Witcher Sense mode and a toggle is available. :)
If anyone can think of a way to fix this, I am all ears:)
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, how should i install mod? is it enough just to copy files to steam/witcher3 folder or should i also install some other application (sorry im new into running game with 3d vision nowaday, people write in post about migoto mod, hellix mod and so on, and im confused what i need to run Witcher 3 with 3d vision (orginaly its quite nice but there are many glitches )
Thanks for help :)
Hello, how should i install mod? is it enough just to copy files to steam/witcher3 folder or should i also install some other application (sorry im new into running game with 3d vision nowaday, people write in post about migoto mod, hellix mod and so on, and im confused what i need to run Witcher 3 with 3d vision (orginaly its quite nice but there are many glitches )
Please read... it's all explained to you here. Just follow installation section, that's all that's required.
[url]http://helixmod.blogspot.co.nz/2016/06/the-witcher-3-wild-hunt.html[/url]
i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)
Hi, before anything, thank you very much for this awesome fix! I'm having a lil issue tough and would like to ask for help. What I'm trying to do is bind this custom key from the comments to my gamepad (DS4 emulated as Xbox 360 controller through InputMapper):
[Key1] // or any other free slot
Key = p // or any other free hotkey
type = toggle
x = 100.0
Have tried without the comments in the code above without success also. Currently I'm using this workaround:
[KeyHUD]
Key = P
type = cycle
x = 0, 100
I simply changed an existing key to work as I would like. I can't seem to be able to create new keys, any suggestion? I've tried to bind the key to XB_GUIDE without success also, this would make my life way easier :)
My XB_GUIDE currently seem unbound, but when I press it and then push left stick to left or right it swaps the equipped potion (upper slot), any thoughs on why this is happening? I think that this mysterious action bound to XB_GUIDE is preventing me of binding anything to it. I've also dug through the input.settings file and found nothing that seems related to XB_GUIDE.
Any kind soul would spare his/her knowledge and tip me on a solution?
PS: I'm seeing something that seems like ghosting underwater, after installing this amazing 3D fix. Even in 2D. Not big issue but wanted to let someone that might care know. Pressing F3 doesn't fix. I'm not using SLI but a different card for Physix.
PS2: This is a long shot... I use a multiseat software (Aster under Win 10 x64) and when it is installed and I run the game I get 3D working, but also a black box with BIG RED LETTERS saying that I can't use the 3D in Stereo Mode. The thing is that I'm not using Stereo Mode, but this Aster program makes the game think I am somehow. So, anyway to get rid of this warning?
Thanks in advance for any help!
Regards
Hi, before anything, thank you very much for this awesome fix! I'm having a lil issue tough and would like to ask for help. What I'm trying to do is bind this custom key from the comments to my gamepad (DS4 emulated as Xbox 360 controller through InputMapper):
[Key1] // or any other free slot
Key = p // or any other free hotkey
type = toggle
x = 100.0
Have tried without the comments in the code above without success also. Currently I'm using this workaround:
[KeyHUD]
Key = P
type = cycle
x = 0, 100
I simply changed an existing key to work as I would like. I can't seem to be able to create new keys, any suggestion? I've tried to bind the key to XB_GUIDE without success also, this would make my life way easier :)
My XB_GUIDE currently seem unbound, but when I press it and then push left stick to left or right it swaps the equipped potion (upper slot), any thoughs on why this is happening? I think that this mysterious action bound to XB_GUIDE is preventing me of binding anything to it. I've also dug through the input.settings file and found nothing that seems related to XB_GUIDE.
Any kind soul would spare his/her knowledge and tip me on a solution?
PS: I'm seeing something that seems like ghosting underwater, after installing this amazing 3D fix. Even in 2D. Not big issue but wanted to let someone that might care know. Pressing F3 doesn't fix. I'm not using SLI but a different card for Physix.
PS2: This is a long shot... I use a multiseat software (Aster under Win 10 x64) and when it is installed and I run the game I get 3D working, but also a black box with BIG RED LETTERS saying that I can't use the 3D in Stereo Mode. The thing is that I'm not using Stereo Mode, but this Aster program makes the game think I am somehow. So, anyway to get rid of this warning?
[quote="helifax"][quote="vurt72"]Neither tilde key or z key does anything for me.. wish i could get that to work because the UI is really pushed in + the map to the right looks terrible, i can only watch it if i close one eye.[/quote]
Then use the previous fix is this doesn't suit your needs or disable the "Depth UI" as instructed (if this is related to the latest fix - make any instance of "z = 2" to "z = 0" in the d3dx.ini file)
What is your resolution if I might ask? I especially tested it for both single screen and Surround, so the "no working part" sounds very fishy... Next time, a screenshot might also help to see what issues you are talking about as well... /sigh
Also the "tilde" key works only if you have your keyboard setup as US. For me (UK keyboard) I need to change the key. (In the ini file, which literally takes 3 seconds.)
"Z" is not a KEY!!! is a parameter set in the ini file... /sigh. (I don't think you read the instructions properly...)
[/quote]
"I added presets for different convergence levels on Keys "Z" and "XBOX-RIGHT_THUMB_PRESS""
Kind of easy to read that as key, when it says keys... where exactly do i find these """"keys"""? Would help if it says in which .ini.
I guess the problem is also that i might have turned off HBAO+.. my resolution is 720p.
vurt72 said:Neither tilde key or z key does anything for me.. wish i could get that to work because the UI is really pushed in + the map to the right looks terrible, i can only watch it if i close one eye.
Then use the previous fix is this doesn't suit your needs or disable the "Depth UI" as instructed (if this is related to the latest fix - make any instance of "z = 2" to "z = 0" in the d3dx.ini file)
What is your resolution if I might ask? I especially tested it for both single screen and Surround, so the "no working part" sounds very fishy... Next time, a screenshot might also help to see what issues you are talking about as well... /sigh
Also the "tilde" key works only if you have your keyboard setup as US. For me (UK keyboard) I need to change the key. (In the ini file, which literally takes 3 seconds.)
"Z" is not a KEY!!! is a parameter set in the ini file... /sigh. (I don't think you read the instructions properly...)
"I added presets for different convergence levels on Keys "Z" and "XBOX-RIGHT_THUMB_PRESS""
Kind of easy to read that as key, when it says keys... where exactly do i find these """"keys"""? Would help if it says in which .ini.
I guess the problem is also that i might have turned off HBAO+.. my resolution is 720p.
[quote="AmnesiaBR"]Hi, before anything, thank you very much for this awesome fix! I'm having a lil issue tough and would like to ask for help. What I'm trying to do is bind this custom key from the comments to my gamepad (DS4 emulated as Xbox 360 controller through InputMapper):
[Key1] // or any other free slot
Key = p // or any other free hotkey
type = toggle
x = 100.0
Have tried without the comments in the code above without success also. Currently I'm using this workaround:
[KeyHUD]
Key = P
type = cycle
x = 0, 100
I simply changed an existing key to work as I would like. I can't seem to be able to create new keys, any suggestion? I've tried to bind the key to XB_GUIDE without success also, this would make my life way easier :)
My XB_GUIDE currently seem unbound, but when I press it and then push left stick to left or right it swaps the equipped potion (upper slot), any thoughs on why this is happening? I think that this mysterious action bound to XB_GUIDE is preventing me of binding anything to it. I've also dug through the input.settings file and found nothing that seems related to XB_GUIDE.
Any kind soul would spare his/her knowledge and tip me on a solution?[/quote]
Show us the entire d3dx.ini file you are using. That sounds like maybe you have two [Key*] sections assigned to the same key.
AmnesiaBR said:Hi, before anything, thank you very much for this awesome fix! I'm having a lil issue tough and would like to ask for help. What I'm trying to do is bind this custom key from the comments to my gamepad (DS4 emulated as Xbox 360 controller through InputMapper):
[Key1] // or any other free slot
Key = p // or any other free hotkey
type = toggle
x = 100.0
Have tried without the comments in the code above without success also. Currently I'm using this workaround:
[KeyHUD]
Key = P
type = cycle
x = 0, 100
I simply changed an existing key to work as I would like. I can't seem to be able to create new keys, any suggestion? I've tried to bind the key to XB_GUIDE without success also, this would make my life way easier :)
My XB_GUIDE currently seem unbound, but when I press it and then push left stick to left or right it swaps the equipped potion (upper slot), any thoughs on why this is happening? I think that this mysterious action bound to XB_GUIDE is preventing me of binding anything to it. I've also dug through the input.settings file and found nothing that seems related to XB_GUIDE.
Any kind soul would spare his/her knowledge and tip me on a solution?
Show us the entire d3dx.ini file you are using. That sounds like maybe you have two [Key*] sections assigned to the same key.
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
[quote="vurt72"]"I added presets for different convergence levels on Keys "Z" and "XBOX-RIGHT_THUMB_PRESS""
Kind of easy to read that as key, when it says keys... where exactly do i find these """"keys"""? Would help if it says in which .ini.
I guess the problem is also that i might have turned off HBAO+.. my resolution is 720p.[/quote]
For 3Dmigoto there has only ever been one .ini file, the d3dx.ini file. Anything related to 3Dmigoto actions, we try very hard to keep in that one spot.
In there, there is some documentation of how to setup different presets. It should be self explanatory and help you solve the problem.
vurt72 said:"I added presets for different convergence levels on Keys "Z" and "XBOX-RIGHT_THUMB_PRESS""
Kind of easy to read that as key, when it says keys... where exactly do i find these """"keys"""? Would help if it says in which .ini.
I guess the problem is also that i might have turned off HBAO+.. my resolution is 720p.
For 3Dmigoto there has only ever been one .ini file, the d3dx.ini file. Anything related to 3Dmigoto actions, we try very hard to keep in that one spot.
In there, there is some documentation of how to setup different presets. It should be self explanatory and help you solve the problem.
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
The only .ini that's included in the fix archive what other .ini would it be? d3dx.ini. It's also pretty clearly labeled under witcher senses in this file. Because this is what you are manipulating when the problem occurs.
Sorry If I have sounded a bit condescending, but jesus people, it's all there you just have to exercise a little reading comprehension. *Opp's got ninjad by B03b.*
Btw there is still a shadow issue with one of the final quests in HOT, (Which I have to replay through a little, since I appear to have lost my save before it occurs) I will upload when I reach it again..
and The B&W rivers and water there still seems to be something wrong. But I think this may just be a 2d issue as well. This is separate from the caverns SLI issue and the toggle does not correct it. I am not using any water or lighting mod's either so I wonder if this is just something everyone puts up with and I have just noticed because the rest of the fix is so flawless.
The only .ini that's included in the fix archive what other .ini would it be? d3dx.ini. It's also pretty clearly labeled under witcher senses in this file. Because this is what you are manipulating when the problem occurs.
Sorry If I have sounded a bit condescending, but jesus people, it's all there you just have to exercise a little reading comprehension. *Opp's got ninjad by B03b.*
Btw there is still a shadow issue with one of the final quests in HOT, (Which I have to replay through a little, since I appear to have lost my save before it occurs) I will upload when I reach it again..
and The B&W rivers and water there still seems to be something wrong. But I think this may just be a 2d issue as well. This is separate from the caverns SLI issue and the toggle does not correct it. I am not using any water or lighting mod's either so I wonder if this is just something everyone puts up with and I have just noticed because the rest of the fix is so flawless.
i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)
[quote="necropants"]The only .ini that's included in the fix archive what other .ini would it be? d3dx.ini. It's also pretty clearly labeled under witcher senses in this file. Because this is what you are manipulating when the problem occurs.
Sorry If I have sounded a bit condescending, but jesus people, it's all there you just have to exercise a little reading comprehension. *Opp's got ninjad by B03b.*
Btw there is still a shadow issue with one of the final quests in HOT, (Which I have to replay through a little, since I appear to have lost my save before it occurs) I will upload when I reach it again..
and The B&W rivers and water there still seems to be something wrong. But I think this may just be a 2d issue as well. This is separate from the caverns SLI issue and the toggle does not correct it. I am not using any water or lighting mod's either so I wonder if this is just something everyone puts up with and I have just noticed because the rest of the fix is so flawless.[/quote]
If you find anything wrong, please send me a savegame and a screenshot as well. It will make things easy to see and reproduce and fix;) It is possible a few shader might have broken during the other patches;) So, you never know, or I missed that, although... I don't remember missing anything;)
Thx;)
I shall also make a new update related to the UI push in Witcher Senses mode;) It will solve the minimap problem, but the whole UI will be pushed to depth. Better like this;) OFC it can be disabled like before.
necropants said:The only .ini that's included in the fix archive what other .ini would it be? d3dx.ini. It's also pretty clearly labeled under witcher senses in this file. Because this is what you are manipulating when the problem occurs.
Sorry If I have sounded a bit condescending, but jesus people, it's all there you just have to exercise a little reading comprehension. *Opp's got ninjad by B03b.*
Btw there is still a shadow issue with one of the final quests in HOT, (Which I have to replay through a little, since I appear to have lost my save before it occurs) I will upload when I reach it again..
and The B&W rivers and water there still seems to be something wrong. But I think this may just be a 2d issue as well. This is separate from the caverns SLI issue and the toggle does not correct it. I am not using any water or lighting mod's either so I wonder if this is just something everyone puts up with and I have just noticed because the rest of the fix is so flawless.
If you find anything wrong, please send me a savegame and a screenshot as well. It will make things easy to see and reproduce and fix;) It is possible a few shader might have broken during the other patches;) So, you never know, or I missed that, although... I don't remember missing anything;)
Thx;)
I shall also make a new update related to the UI push in Witcher Senses mode;) It will solve the minimap problem, but the whole UI will be pushed to depth. Better like this;) OFC it can be disabled like before.
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="vurt72"][quote="helifax"][quote="vurt72"]Neither tilde key or z key does anything for me.. wish i could get that to work because the UI is really pushed in + the map to the right looks terrible, i can only watch it if i close one eye.[/quote]
Then use the previous fix is this doesn't suit your needs or disable the "Depth UI" as instructed (if this is related to the latest fix - make any instance of "z = 2" to "z = 0" in the d3dx.ini file)
What is your resolution if I might ask? I especially tested it for both single screen and Surround, so the "no working part" sounds very fishy... Next time, a screenshot might also help to see what issues you are talking about as well... /sigh
Also the "tilde" key works only if you have your keyboard setup as US. For me (UK keyboard) I need to change the key. (In the ini file, which literally takes 3 seconds.)
"Z" is not a KEY!!! is a parameter set in the ini file... /sigh. (I don't think you read the instructions properly...)
[/quote]
"I added presets for different convergence levels on Keys "Z" and "XBOX-RIGHT_THUMB_PRESS""
Kind of easy to read that as key, when it says keys... where exactly do i find these """"keys"""? Would help if it says in which .ini.
I guess the problem is also that i might have turned off HBAO+.. my resolution is 720p.
[/quote]
What post did you get that from? I expect is a very very very early post... You need to catch up a bit;)
Like stated before, read the d3dx.ini file... All the keys are defined there in plain sight...
(Ini files are like the easiest things to read and are documented or self explanatory... ^_^)
I definitely not said that in the latest post and I am unsure why you refer to an older post anyway...
(HelixMod doesn't say anything about that either...so not sure where you got it from...)
vurt72 said:Neither tilde key or z key does anything for me.. wish i could get that to work because the UI is really pushed in + the map to the right looks terrible, i can only watch it if i close one eye.
Then use the previous fix is this doesn't suit your needs or disable the "Depth UI" as instructed (if this is related to the latest fix - make any instance of "z = 2" to "z = 0" in the d3dx.ini file)
What is your resolution if I might ask? I especially tested it for both single screen and Surround, so the "no working part" sounds very fishy... Next time, a screenshot might also help to see what issues you are talking about as well... /sigh
Also the "tilde" key works only if you have your keyboard setup as US. For me (UK keyboard) I need to change the key. (In the ini file, which literally takes 3 seconds.)
"Z" is not a KEY!!! is a parameter set in the ini file... /sigh. (I don't think you read the instructions properly...)
"I added presets for different convergence levels on Keys "Z" and "XBOX-RIGHT_THUMB_PRESS""
Kind of easy to read that as key, when it says keys... where exactly do i find these """"keys"""? Would help if it says in which .ini.
I guess the problem is also that i might have turned off HBAO+.. my resolution is 720p.
What post did you get that from? I expect is a very very very early post... You need to catch up a bit;)
Like stated before, read the d3dx.ini file... All the keys are defined there in plain sight...
(Ini files are like the easiest things to read and are documented or self explanatory... ^_^)
I definitely not said that in the latest post and I am unsure why you refer to an older post anyway...
(HelixMod doesn't say anything about that either...so not sure where you got it from...)
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="bo3b"]
Show us the entire d3dx.ini file you are using. That sounds like maybe you have two [Key*] sections assigned to the same key.[/quote]
Hi, my file is bellow, thanks for your time!
;------------------------------------------------------------------------------------------------------
; The Witcher 3: Wild Hunt + Expansions
; Original fix by Bo3b + DarkStarSword + Mike_ar69
; Fix updated by Helifax for patch 1.31
;------------------------------------------------------------------------------------------------------
; Logging options.
; Comment line or set value to 0 for no logging.
;------------------------------------------------------------------------------------------------------
[Logging]
; Log all API usage
calls=0
; Log Input key actions
input=0
; Super verbose massive log
debug=0
; Unbuffered logging to avoid missing anything at file end
unbuffered=0
; Force the CPU affinity to use only a single CPU for debugging multi-threaded
force_cpu_affinity=0
; Log NVAPI convergence modifications
convergence=0
; Log NVAPI separation modifications
separation=0
; ------------------------------------------------------------------------------------------------------
; Default constants to pass directly to shaders as IniParams
; ------------------------------------------------------------------------------------------------------
[Constants]
; X controls HUD depth
x = 0
; Used for crosshair depth; don't change
z = 0.0
; Not used
w = 0
; Set X1 to 1 to disable the rain drops on the camera:
x1 = 0
;------------------------------------------------------------------------------------------------------
; Custom settings override for any of [convergence, separation, x, y, z, w]
;
; Four types are supported - by default the bindings will simply load the
; configured settings, but type=hold can be specified to have a preset
; active while the button is held, type=toggle can be used to make a simple
; on/off toggle, and type=cycle can be used to cycle between several presets.
;
; Delays (type=hold only) and linear or cosine trasition periods (any key type)
; can be used to better synchonrise setting changes to the game's animations,
; or to smoothly adjust UI elements over a short period of time.
;
; Key bindings: For A-Z and 0-9 on the number row, just use that single
; character. For everything else (including mouse buttons), use the virtual key
; name (with or without the VK_ prefix) or hex code from this article:
; http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
;
; Keys can also be from XBox controllers using:
; XB_LEFT_TRIGGER, XB_RIGHT_TRIGGER,
; XB_LEFT_SHOULDER, XB_RIGHT_SHOULDER,
; XB_LEFT_THUMB, XB_RIGHT_THUMB,
; XB_DPAD_UP, XB_DPAD_DOWN, XB_DPAD_LEFT, XB_DPAD_RIGHT,
; XB_A, XB_B, XB_X, XB_Y, XB_START, XB_BACK, XB_GUIDE
; By default all attached controllers are used - to associate a binding with a
; specific controller add the controller number 1-4 to the prefix, like
; XB2_LEFT_TRIGGER, though this may be more useful for hunting than playing.
;------------------------------------------------------------------------------------------------------
; Example for changing default settings
[KeyConvergence]
Key = F1
convergence = 1.6, 0.6
type = cycle
[KeyAim]
Key = VK_MBUTTON
type = hold
;z = 0.93
delay = 100
transition = 1000
transition_type = linear
release_delay = 2000
[KeyAimXbox]
Key = XB_RIGHT_SHOULDER
type = hold
z = 0.93
;delay = 100
transition = 1000
transition_type = linear
release_delay = 2000
[KeyDisableSLIBugWaterReflection]
Key = F3
type = toggle
w = 1
[KeyHUD]
Key = P
type = cycle
x = 0, 100
;------------------------------------------------------------------------------------------------------
; Shader hunting options.
; Default setup is to use keyboard similar to Helix presets
;------------------------------------------------------------------------------------------------------
[Hunting]
; 0: Release mode is with shader hunting disabled, optimized for speed.
; 1: Hunting mode enabled
; 2: Hunting mode "soft disabled" - can be turned on via the toggle_hunting key
hunting=0
; Highlight mode of currently selected shader / rendertarget.
; "skip" = skip shader. don't render anything using the currently selected shader.
; "original" = fall back to original shader if the currently selected shader was patched.
; "pink" = make the output hot pink to make it standout.
; "mono" = disable stereo for the selected shader / rendertarget.
; "zero" = shader output is all zero. NOTE: this has a big performance impact.
marking_mode=skip
; Key bindings: For A-Z and 0-9 on the number row, just use that single
; character. For everything else (including mouse buttons), use the virtual key
; name (with or without the VK_ prefix) or hex code from this article:
; http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
;
; XBox controllers are supported using the same bindings as the [Key] sections
; (see above). If the game already uses the first controller you might try
; using the second controller for hunting with e.g. XB2_LEFT_SHOULDER
; rotate through all VISIBLE pixel shaders at the current scene.
previous_pixelshader=VK_NUMPAD1
next_pixelshader=VK_NUMPAD2
mark_pixelshader=VK_NUMPAD3
; rotate through all VISIBLE vertex shaders at the current scene.
previous_vertexshader=VK_NUMPAD4
next_vertexshader=VK_NUMPAD5
mark_vertexshader=VK_NUMPAD6
; rotate through all USED index buffers at the current scene.
previous_indexbuffer=VK_NUMPAD7
next_indexbuffer=VK_NUMPAD8
mark_indexbuffer=VK_NUMPAD9
; rotate through all USED render targets at the current scene.
previous_rendertarget=VK_DIVIDE
next_rendertarget=VK_MULTIPLY
mark_rendertarget=VK_SUBTRACT
; rotate through all VISIBLE geometry shaders at the current scene.
previous_geometryshader = VK_PGUP
next_geometryshader = VK_PGDN
mark_geometryshader = VK_HOME
; rotate through all USED domain shaders at the current scene.
previous_domainshader = MINUS
next_domainshader = PLUS
mark_domainshader = BACKSPACE
; rotate through all USED hull shaders at the current scene.
; previous_hullshader = [
; next_hullshader = ]
; mark_hullshader = \
; rotate through all USED compute shaders at the current scene.
; Disabling compute shaders may cause crashes, so these are
; not enabled by default:
previous_computeshader = <
next_computeshader = >
mark_computeshader = /
; Re-enable shaders once done with hunting:
done_hunting=VK_ADD
; Screenshot as pns
take_screenshot=VK_SNAPSHOT
; reload all fixes from ShaderFixes folder
reload_fixes=VK_F10
; Key to turn hunting itself on/off. This will also show/hide overlay.
; Hunting must be set to either 1 or 2 to enable this toggle.
toggle_hunting=VK_NUMPAD0
; Key to reload the settings from the the d3dx.ini without restarting. This can
; be the same key as reload_fixes for convenience, or a different key may be
; used to avoid resetting the ini parameters every time the shaders are
; reloaded. Note that not all settings can be reloaded, so if something doesn't
; work as expected you may still have to restart the game:
reload_config=VK_F10
; Hold this key to temporarily disable the fix - useful to quickly check what
; an effect looked like in the original game.
show_original=VK_F9
; snapshots to be made upon any shader Mark. These give you snapshot when the
; shader is disabled, as a way to correlate image to shader hash.
; mark_snapshot=0 // none
; mark_snapshot=1 // mono, simple snapshot
; mark_snapshot=2 // stereo snapshot
mark_snapshot=2
; Auto-repeat key rate in events per second.
repeat_rate=6
; tunable parameter to use in modified shaders as variable (StereoParams.Load(int3(1,0,0)).xyzw)
; enabling tuning results in a small performance hit because the parameter texture
;tune_enable=1
;tune_step=0.1
;tune1_up=VK_INSERT
;tune1_down=VK_DELETE
;tune2_up=X
;tune2_down=Z
; Dumps out the contents of each render target after every immediate draw call
; for the next frame. Takes up a large amount of space, so disabled by default.
analyse_frame=VK_F8
; Specifies options for the frame analysis feature. Options can be combined by
; separating them with a space.
; log: Log draw calls and state changes (one log file per context)
; hold: Continue analysing subsequent frames while the key is held
; dump_rt_jps: Dumps out render targets as JPS files. These are the easiest to
; work with and don't take up as much space as DDS files, but they
; are not dumped for every render target and are missing some data.
; dump_rt_dds: Dumps out render targets as DDS files. WARNING: This option may
; require hundreds of gigabytes and a long time! Only use it if
; you absolutely need more information than you can get otherwise.
; Will also dump buffer type render targets & UAVs as .buf files.
; dump_rt: Dumps render targets as JPS files when possible, or DDS when not.
; clear_rt: Clears each render target the first time they are used in the
; frame. Makes it easier to see what is being drawn if the game
; doesn't clear them, but might cause some effects not to render.
; dump_depth: Dumps depth/stencil targets as DDS files
; dump_tex_jps: Dumps textures as JPS files
; dump_tex_dds: Dumps textures as DDS files (Same warning as for dump_rt_dds)
; Will also dump buffer type shader resource views as .buf files.
; dump_tex: Dumps textures as JPS files when possible, or DDS when not.
; dump_cb: Dumps constant buffers as binary .buf files
; dump_cb_txt: Decodes constant buffers as an array of float4s
; dump_vb: Dumps vertex buffers as binary .buf files
; dump_vb_txt: Decodes vertex buffers as an array of float4s
; dump_ib: Dumps index buffers as binary .buf files
; dump_ib_txt: Decodes index buffers
; filename_reg: Normally the draw number is the first part of the filename so
; that the files will be sorted in the order they were used in
; the game. Sometimes it is more desirable to examine how a
; specific output changed through the frame and this option will
; place the register number first in the filename to allow that.
; mono: Dump out mono textures instead of stereo. To dump both, specify
; 'mono stereo'. If neither are specified, defaults to stereo.
; analyse_options can also be specified in [ShaderOverride*] and
; [TextureOverride*] sections to set up triggers to change the options mid-way
; through a frame analysis, either for a single draw call (default), or
; permanently (by adding the 'persist' keyword).
analyse_options = clear_rt
; Original stereo WBuffer from the game:
[ResourceWBuffer]
; Downscaled versions, still stereo - this allows each GPU to downscale their
; WBuffer separately before synchronising them over SLI. We use separate
; resources for each phase so that 3DMigoto can cache them (we could use a
; single resource, but 3DMigoto would have to destroy and recreate it for each
; size, which can be costly).
[ResourceWBufferHalf]
width_multiply = 0.5
height_multiply = 0.5
[ResourceWBufferQuarter]
width_multiply = 0.25
height_multiply = 0.25
[ResourceWBufferEighth]
width_multiply = 0.125
height_multiply = 0.125
[ResourceWBufferSixteenth]
width_multiply = 0.0625
height_multiply = 0.0625
; stereo2mono version - populating this can have a significant performance cost
; in SLI at high resolutions (above 1920x1080), so we downscale first:
[ResourceWBufferStereo2Mono]
[CustomShaderDownscaleWBuffer]
vs = ShaderFixes/fullscreen.hlsl
ps = ShaderFixes/downscale_half.hlsl
blend = disable
cull = none
topology = triangle_strip
ResourceWBuffer = ref o0
; Half:
ResourceWBufferHalf = copy_desc ResourceWBuffer
o0 = ref ResourceWBufferHalf
ps-t100 = ref ResourceWBuffer
draw = 4, 0
; Quarter:
ResourceWBufferQuarter = copy_desc ResourceWBuffer
o0 = ref ResourceWBufferQuarter
ps-t100 = ref ResourceWBufferHalf
draw = 4, 0
; Little benefit to continuing on my system, but we could:
; ; 1/8th:
; ResourceWBufferEighth = copy_desc ResourceWBuffer
; o0 = ref ResourceWBufferEighth
; ps-t100 = ref ResourceWBufferQuarter
; draw = 4, 0
;
; ; 1/16th:
; ResourceWBufferSixteenth = copy_desc ResourceWBuffer
; o0 = ref ResourceWBufferSixteenth
; ps-t100 = ref ResourceWBufferEighth
; draw = 4, 0
; Uncomment the smallest we went to:
;post ResourceWBufferStereo2Mono = stereo2mono ResourceWBufferHalf
post ResourceWBufferStereo2Mono = stereo2mono ResourceWBufferQuarter
;post ResourceWBufferStereo2Mono = stereo2mono ResourceWBufferEighth
;post ResourceWBufferStereo2Mono = stereo2mono ResourceWBufferSixteenth
; Restore state:
post ps-t100 = null
post o0 = ref ResourceWBuffer
[CustomShaderDebugDownscale]
vs = ShaderFixes/fullscreen.hlsl
ps = ShaderFixes/downscale_debug.hlsl
blend = disable
cull = none
topology = triangle_strip
o0 = set_viewport no_view_cache bb
ps-t100 = ref ResourceWBufferHalf
draw = 4, 0
post ps-t100 = null
[ShaderOverrideHBAODepthPass]
; First post-processing shader used. Good place to turn on extra dumping
; options as most broken effects will be after this point.
Hash = 170486ed36efcc9e
;analyse_options = dump_rt_jps dump_rt_dds clear_rt persist
; This can be expensive in SLI at high resolutions:
;post ResourceWBufferStereo2Mono = stereo2mono o0
; So we use this instead to downscale the WBuffer first:
post run = CustomShaderDownscaleWBuffer
[ShaderOverrideAfterHBAO]
Hash = 16f398fc56dce109
;analyse_options = persist
[ShaderOverrideCrosshair1]
Hash = 46f4872381836c2b
vs-t110 = ResourceWBufferStereo2Mono
[ShaderOverrideCrosshair2]
Hash = 53975f43d8014fe7
vs-t110 = ResourceWBufferStereo2Mono
[ShaderOverrideWaterRipples]
Hash = d90496f029191acd
handling = skip
[ShaderOverrideHBAONormalArtifactsVS]
Hash = 9a331a43dddf7ba1
ps-cb13 = vs-cb12
;------------------------------------------------------------------------------------------------------
; Chain load other wrapper DLLs instead of system DLLs.
;------------------------------------------------------------------------------------------------------
[System]
;proxy_d3d9=d3d9_helix.dll
;proxy_d3d11=d3d11_helix.dll
; Options to use hooking instead of wrapping. Used in MGSV. Possible objects to hook include:
; deferred_contexts
; immediate_context
; device
; all - all of the above
; crash/hang workarounds:
; except_set_shader_resources - work around crash on Win 7 with evil update
; except_set_samplers - work around crash on Win 10
; except_set_rasterizer_state - work around crash on Win 7 without evil update
; skip_dxgi_factory - hack for MGSV, not recommended for other games as it
; may disable core 3DMigoto functionality in some cases
; skip_dxgi_device - hack for MGSV on Win10 anniversary update
; recommended - hook supported objects, safe workarounds enabled, skips not enabled
;hook=recommended
; Options to allow IDXGIFactory2 to be created and wrapped. We have typically had good
; luck with returning an error for all non-dx11 requests, but some games error out
; with these checks in place.
; The allow_create_device allows D3D10 Device creation and is needed for some games.
; It has two options, allow_create_device=1, which will allow anything to go through
; without returning an error, and allow_create_device=2, which will force all requests
; to become D3D11 Devices, no matter what was passed in.
; The allow_platform_update option allows the D3D11Device1 and D3D11Context1
; interfaces introduced in Windows 8 and the platform update of Windows 7.
;
; Start with allow_check_interfaces, if that doesn't work then try allow_dxgi1_2,
; then try allow_create_device=2, lastly try allow_create_device=1
;
; Setting allow_dxgi1_2=2 may allow the Steam Overlay and Steam Controller to
; work in some games on Windows 7 and Windows 8, but could potentially disable
; core functionality in some cases, so only enable it if you need it.
;
;allow_check_interface=1
;allow_dxgi1_2=1
;allow_create_device=2
;allow_platform_update=1
allow_dxgi1_2=2
;------------------------------------------------------------------------------------------------------
; Settings to force display device to a specific mode.
; Uncomment a value to force the specific setting.
;------------------------------------------------------------------------------------------------------
[Device]
; overrides screen resolution.
;width=1280
;height=720
; overrides refresh rate set by game.
;refresh_rate=60
; filters available video modes to those providing given refresh rates.
; some games don't explicitely set the refresh rate, but use the video mode.
; use this if setting refresh_rate doesn't work.
;filter_refresh_rate=24,59,60
; full_screen=1 forces creation of full screen devices and swap chains.
; use this for 3dtvplay if game won't active stereo mode.
; full_screen=2 will also disable SetWindowPos which might help in some games.
;full_screen=1
; This toggles forcing the full screen mode on and off. It will not take effect
; immediately, but will change what happens the next time the game tries to
; change the fullscreen mode. This is a specific hack to workaround a bug in
; Unity games, which crash when alt+tabbing out from exclusive mode fullscreen.
;
; To switch out of a Unity game without it crashing:
; Enable this option, Press F7, Alt+Enter, Alt+Tab
;toggle_full_screen = VK_F7
; some games explicitely disable stereo, prohibiting any stereo attempts.
; settings this to 1 ignores all stereo disabling calls and also calls NvAPI_Stereo_Enable to force stereo on.
;force_stereo=1
; almost all DX11 games deactivate window message handling.
; setting this to 1 reenables print screen handling, alt-tab key handling etc.
;allow_windowcommands=1
; Indicates where the resolution is obtained for texture hashes. Comment this
; out to never special case hashes that match the resolution or a multiple.
; Possible values are swap_chain and depth_stencil. Recommended to test which
; works for a given game (e.g. CryEngine always creates a swap chain that
; matches the native resolution so has to use depth_stencil).
get_resolution_from = swap_chain
;------------------------------------------------------------------------------------------------------
; Settings for NVidia stereo driver.
;------------------------------------------------------------------------------------------------------
[Stereo]
; games which have their own stereo renderer disable the NVidia automatic
; stereo mode and render themselves into stereo buffers (Crysis 3 for example).
; Setting this to 1 disables the game stereo renderer and enables NVidia auto stereo mechanism.
; This also forces 'false' as a return for any request for NvAPI_Stereo_IsEnabled.
automatic_mode=0
; Some games (CryEngine games, for example) lock the separation & convergence
; to a specific value, which can be undesirable. Set this to 1 to ignore these
; requests from the game to unlock the separation:
unlock_separation=0
unlock_convergence=0
; games without predefined profiles can't save stereo settings.
; enabling this options automatically creates a profile for unknown games.
create_profile=0
; sets the global surface creation heuristic for NVidia stero driver.
; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings for surface creation mode.
; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - Always create stereo surfaces.
; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - Always create mono surfaces.
;surface_createmode=1
; overrides surface creation mode for square surfaces.
;surface_square_createmode=1
; Force the NvAPI_Initialize to return an error so that games think stereo and NVidia is unavailable.
force_no_nvapi=0
;------------------------------------------------------------------------------------------------------
; Settings for GPU manipulations.
; Render settings override
;------------------------------------------------------------------------------------------------------
[Rendering]
; GPU program manipulations.
; Type of shader hashes in use:
; 3dmigoto = Traditional hash used by 3DMigoto (unseeded software FNV-1)
; embedded = Use the first half of the MD5-like hash embedded within the
; shaders to skip the hash calculation altogether.
; bytecode = Only hash bytecode and signatures with hardware accelerated
; CRC32C. Used to minimise duplicate shaders in certain games, but
; potentially carries a higher risk of hash collisions between
; unrelated shaders in some games (e.g. that only differ in
; variable names). May occasionally avoid hash changes on game
; updates due to changes in the game developer's build environment
; (shader compiler version, build path embedded in debug info,
; constants renamed, etc). Will not avoid hash changes if the
; shader code, constant values, etc are changed.
shader_hash = 3dmigoto
; Shaders in game will be replaced by these custom shaders.
override_directory=ShaderFixes
; Automatically patched shaders will be written here if caching is enabled.
cache_directory=ShaderCache
; Shaders that are directly compiled by the game, instead of binary, go here.
storage_directory=ShaderFromGame
; cache all compiled .txt shaders into .bin. this removes loading stalls.
cache_shaders=0
; thread save data structure access. required on multithreaded rendering.
use_criticalsection=1
; Setting this option disables scissor limits
rasterizer_disable_scissor=1
; Tracks copies and updates to textures which may cause their hash to become
; out of sync with their contents - enable if texture hashes seem unreliable:
;track_texture_updates=1
; Registers where the StereoParams and IniParams textures will be assigned -
; change if the game already uses these registers. Newly decompiled shaders
; will use the new registers, but existing shaders will not be updated - best
; workflow is to remove ShaderCache after changing these and run a search and
; replace on all shaders in ShaderFixes. Set to -1 to disable if not required.
stereo_params = 125
ini_params = 120
;------------------------------------------------------------------------------------------------------
; Analyzation options.
;
; save all autofixed shaders as HLSL
export_fixed=0
; save all shaders sent to DX11 as ASM, or as HLSL text files if compiled by game.
export_shaders=0
; save all shaders seen as HLSL code, autofixed or not. 1= HLSL only, 2=HLSL+OriginalASM, 3=HLSL+OriginalASM+RecompiledASM
export_hlsl=0
; stores a ShaderUsage.txt file on any marking button press.
dump_usage=0
;------------------------------------------------------------------------------------------------------
; Automatic shader fixes. Those settings here apply only on newly read shaders.
; All existing *_replace.txt or *_replace.bin files are not tampered with.
; If you change settings here, the best workflow is to delete all shaders in
; the shader cache directory and let them be fixed again.
; Stereoize all shader parameters with position semantic.
fix_sv_position=0
; Pixel depth evaluation.
;fix_ZRepair_DepthTexture1=SceneDepthTexture.x
;fix_ZRepair_Dependencies1=MinZ_MaxZRatio
;fix_ZRepair_ZPosCalc1=zTex * MinZ_MaxZRatio.z - MinZ_MaxZRatio.w
;fix_ZRepair_DepthTexture2=SceneDepthTexture.x
;fix_ZRepair_Dependencies2=
;fix_ZRepair_ZPosCalc2=zTex
;fix_ZRepair_PositionTexture=PositionTexture
;fix_ZRepair_PositionCalc=1024 * %s
; Inject depth texture if other depth sources are unavailable.
;fix_ZRepair_DepthTextureHash=8a19f087b004598f
; Correct inverse transformations in pixel shaders using evaluated depth.
;fix_InvTransform=ScreenToLight,InverseTranslatedViewProjectionMatrix
; Back projection coordinate fix.
;
; Available variables in expressions:
; stereoParams.x = Separation value in range [0..1] or [-0..-1] dependent on active eye
; stereoParams.y = Convergence value in w coordinates (1/z)
; stereoParams.z = -1/1 for left/right eye
; stereoParams.w = Separation value without eye separation
; stereoTune.x = tune value 1 (default is 1)
; stereoTune.y = tune value 2 (default is 1)
; stereoTune.z = tune value 3 (default is 1)
; stereoTune.w = tune value 4 (default is 1)
; stereoScreenRes.x = Primary swap chain backbuffer horizontal resolution
; stereoScreenRes.y = Primary swap chain backbuffer vertical resolution
; zpos = current pixel z position in pixel shader
; wpos = current pixel w position in pixel shader
; Send inverse transformations from vertex shaders to pixel shaders.
;fix_BackProjectionTransform1=ScreenToTranslatedWorldMatrix._m00,ScreenToTranslatedWorldMatrix._m02,ScreenToTranslatedWorldMatrix._m01
;fix_BackProjectionTransform2=ScreenToWorld._m00,ScreenToWorld._m02,ScreenToWorld._m01
; Position variables to correct in pixel shaders.
;fix_ObjectPosition1=PointPositionAndInverseRadius
;fix_ObjectPosition1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5
;fix_ObjectPosition2=SpotPositionAndInverseRadius
;fix_ObjectPosition2Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5
; Matrix multiplications to correct in pixel shaders.
;fix_MatrixOperand1=TranslatedWorldToShadowMatrix
;fix_MatrixOperand1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5 - viewDirection.z*0.05 + (0.02791946-stereoParams.x/stereoParams.w), 0
; autofix shader option: recompiles all vertex shaders. fixes minor differences in deferred rendering.
;recompile_all_vs=0
;------------------------------------------------------------------------------------------------------
; Shader manipulations without patches + shader filtering.
;------------------------------------------------------------------------------------------------------
;[ShaderOverride1]
;Hash=69732c4f23cb6c48
; Custom stereo separation value while rendering objects using this shader.
;Separation=0
; Custom stereo convergence value while rendering objects using this
; shader (e.g. convergence=0 will move an object to infinity).
;Convergence=0
; don't draw anything using this shader.
;Handling=skip
; advanced option: use this to override only if this shader is used rendering the given index buffer.
;IndexBufferFilter=b3e56ebc
; Use replaced shader only when there is no active depth buffer (for UI filtering)
;depth_filter = depth_inactive
; Use replaced shader only when there *IS* an active depth buffer (for UI filtering)
;depth_filter = depth_active
; Only use replaced shader when it is used in conjunction with a specific shader
; (e.g. to adjust a vertex shader ONLY when it is used with a specific pixel shader)
;partner=af7b880f07630615
; Override a value from [Constants] when this shader is used:
;x=2.0
; Pass the dimensions of the active render target and resolution (obtained with
; get_resolution_from) into the shader:
;x1=rt_width
;y1=rt_height
;z1=res_width
;w1=res_height
; Use t0 from active pixel shader for texture filtering. Will be 0 if no
; [TextureOverride*] section exists for the texture or 1 if one does. For advanced
; filtering, set a value for filter_index in the [TextureOverride] section.
;x2=ps-t0
; Override the shader model to allow using newer features like Texture2DMS:
;model=vs_5_0
; There's also support for copying textures, constant buffers, depth buffers,
; etc. from one shader to another. This is a complex topic - see this page:
; https://github.com/bo3b/3Dmigoto/wiki/Resource-Copying
[ResourceDummyRenderTarget]
Format = R8G8B8A8_UNORM
[ShaderOverrideHairworksDepthMSAAResolver]
; This fixes the MSAA hairworks one-eye transparency issue, by assigning a
; dummy render target to the shader that resolves the MSAA depth buffer.
Hash=4f47213227634ea5
;analyse_options = dump_rt_dds
;fake_o0 = 1
ResourceDummyRenderTarget = copy_desc oD
o0 = ResourceDummyRenderTarget
;------------------------------------------------------------------------------------------------------
; texture / render target manipulations
;------------------------------------------------------------------------------------------------------
;
; NOTE: If you are trying to match a texture the same size as the resolution (or
; a /2, x2, x4 or x8 multiple), you should confirm that the same hash is used
; on different resolutions, and adjust get_resolution_from if necessary.
;
; NOTE: If you find a texture hash seems to change inconsistently, try enabling
; track_texture_updates in the [Rendering] section.
;
;[TextureOverride1]
;Hash=c3e55ebd
; NVidia stores surface creation mode heuristics in the game profile. setting
; this option overrides the creation mode for a given texture / buffer.
; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings.
; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - create stereo surface.
; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - create mono surface.
;StereoMode=2
;[TextureOverride2]
;Hash = e27b9d07
; Prevent the game reading from this texture - will give the game a blank
; buffer instead. Used to prevent CryEngine games falsely culling objects. Use
; debug logging and look for Map calls to identify possible hashes.
;deny_cpu_read=1
; Expand the region copied to this texture with CopySubresourceRegion (similar
; issue to rasterizer_disable_scissor). Used to solve issues with transparent
; refraction effects (like glass) in CryEngine games.
;expand_region_copy=1
;------------------------------------------------------------------------------------------------------
; Example of settings override by mouse button configuration
; Mapping of from game provided hard coded convergence values to custom values
; Those are values for L.A. Noir
; Example of settings override by mouse button configuration
;------------------------------------------------------------------------------------------------------
;[ConvergenceMap]
;Map1=from 3e99999a to 0.3
;Map2=from 3f800000 to 1.0
;Map3=from 3f666666 to 0.9
;------------------------------------------------------------------------------------------------------
; Updates the game's driver profile on launch.
;
; Any changes here will require the user to OK a UAC prompt the first time they
; run the game, but the DLL tries to only do that if it is actually required.
;------------------------------------------------------------------------------------------------------
[Profile]
; This setting should always be added to a profile - it is required for a
; number of other settings to work, as well as allowing the convergence to be
; saved. If you are customising a profile you should **always uncomment this**:
StereoProfile = 1
;
; This setting enables stereo compute shaders, which is requires to fix a lot
; of "one eye" type rendering issues in many DX11 games:
StereoFlagsDX10 = 0x00004000
;
; This sets the default convergence in the profile. Note that 3DMigoto will
; happily override the default value from the driver, but will only override
; the user's custom convergence if it has another reason to update the profile,
; such as a change to another setting (adding a version tag to the Comments
; setting would be one way to force an update):
StereoConvergence = 1.31962526
;
; This changes the green text that the driver displays, and is a good place to
; put any reminders to display to the user or just take some credit:
Comments = "3D Vision Fix 1.31"
;
; Change the rating: "0": 3D Vision Ready, "1": Excellent, "2": Good,
; "3": Fair, "4": Not Recommended
Compat = "0"
;
; If you have added some comments, you probably want to force the green text to
; show up when the game is next run. Note that like convergence, 3DMigoto will
; only override a user setting here if something else has also been updated
; (such as Comments), so this will usually only show up the first time a user
; runs the game after installing the fix (be sure to enable StereoProfile).
;StereoMemoEnabled = 1
;
; Disable compatibility mode to make sure users are seeing the real deal. Like
; convergence, 3DMigoto will respect the users custom settings here:
Disable2DD = 1
;
; Put a reminder in the green text of compatibility mode that they are not
; seeing the real deal:
2DD_Notes = "Compatibility mode is enabled. To use the fix, please disable it with Ctrl+Alt+F11"
;
; If a setting doesn't have a name or you don't know what it is (check the
; d3d11_log.txt for the names of all settings in this profile), you can use the
; hex ID (in fact, you can even paste a complete profile from Geforce Profile
; Manager - just be sure to delete any corrupt string settings if you do):
;0x1033cec2 = 0x00000002
;
; There are many more options, and we have tried to document them here -
; *please* edit this page if you figure out anything new:
; http://wiki.bo3b.net/index.php?title=Driver_Profile_Settings
0x00a06746 = 0x00800000
0x00a06946 = 0x080020F5
NVIDIA predefined SLI mode on DirectX 10 = 2
NVIDIA predefined number of GPUs to use on SLI rendering mode on DirectX 10 = 4
Do not display this profile in the Control Panel = 0
Enable application for Optimus = 0x00000011
DX10DSCBNumber = 0x00000009
DX10VSCBNumber = 0x00000009
StereoTextureEnable = 0x00000023
StereoCutoff = 1
2DDHUDSettings = 0x10000102
2DDConvergence = 0.886959136
0x00c96f61 = 0x6e0326f7
0x003846a8 = 0xc7729a38
;------------------------------------------------------------------------------------------------------
; Commands to run from the Present call at the start/end of each frame
;
; Useful to clear custom resources or ini params at the start of each frame, or
; to run a custom shader to do whatever you can dream up.
;------------------------------------------------------------------------------------------------------
[Present]
; run = CustomShaderDebugDownscale
; Clear the copied W-buffer on each present call so we don't use stale depth
; information when we are in the menus and it is unavailable:
ResourceWBufferStereo2Mono = null
; 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
; The following custom shader can convert 3D Vision to Side-by-Side and
; Top-and-Bottom for use with 3D TVs & projectors - to enable this uncomment
; the 'run = CustomShader3DVision2SBS' in the [Present] section, set 3D Vision
; to output "checkerboard" in the control panel (which will remove the 720p
; limitation) and enable this either via the F11 key, or by setting a default
; for x7 in the [Constants] section.
[Resource3DVision2SBSBackupTexture]
[CustomShader3DVision2SBS]
; Load a custom vertex + pixel shader:
vs = ShaderFixes/3dvision2sbsvs.hlsl
ps = ShaderFixes/3dvision2sbsps.hlsl
; Explicitly unbind other shader types for safety:
hs = null
ds = null
gs = null
; Disable the OM blend stage that could interfere with the shader:
blend = disable
; Disable front/back face culling so the vertices can be in any rotation:
cull = none
; Use a triangle strip topology so we only have to output four vertices:
topology = triangle_strip
; Clear all render + depth targets to avoid compatibility issues:
o1 = null
o2 = null
o3 = null
o4 = null
o5 = null
o6 = null
o7 = null
oD = null
; Bind the back buffer as a render target. set_viewport ensures that the view
; port is the size of the buffer so the draw call will work, and no_view_cache
; is necessary for a few games like Mad Max:
o0 = set_viewport no_view_cache bb
; Back up any textures that were in the ps-t100 slot. The CustomResource
; section will already back up a lot of state, including shaders, render
; targets, depth targets, UAVs, viewports, blend state, rasterizer state,
; primitive topology, etc. but it does not back up textures:
Resource3DVision2SBSBackupTexture = reference ps-t100
; Use the reverse stereo blit to give the shader access to the back buffers of
; both eyes:
ps-t100 = stereo2mono bb
; Some rare games (e.g. Onechanbara Z2) use MSAA back buffers, which cannot be
; directly used with the reverse stereo blit and must be resolved to non MSAA
; versions first. The symptoms will be a black screen after enabling this
; shader with F11. In that case, replace the above line with these two:
; ps-t100 = resolve_msaa bb
; ps-t100 = stereo2mono ps-t100
; Some games such as The Evil Within and Akiba's Trip constantly unbind
; StereoParams & IniParams, so we may need to explicitly rebind them now:
vs-t125 = StereoParams
ps-t125 = StereoParams
vs-t120 = IniParams
ps-t120 = IniParams
; Draw four vertices. The vertex shader will construct coordinates to cover the
; full screen using the SV_VertexID semantic so we don't need vertex buffers:
draw = 4, 0
; Restore the original texture from the ps-t100 slot:
post ps-t100 = reference Resource3DVision2SBSBackupTexture
[KeyChange3DVision2SBSOutputMode]
key = F11
; 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 = 1, 2, 3, 4, 5, 0
type = cycle
bo3b said:
Show us the entire d3dx.ini file you are using. That sounds like maybe you have two [Key*] sections assigned to the same key.
Hi, my file is bellow, thanks for your time!
;------------------------------------------------------------------------------------------------------
; The Witcher 3: Wild Hunt + Expansions
; Original fix by Bo3b + DarkStarSword + Mike_ar69
; Fix updated by Helifax for patch 1.31
;------------------------------------------------------------------------------------------------------
; Logging options.
; Comment line or set value to 0 for no logging.
;------------------------------------------------------------------------------------------------------
[Logging]
; Log all API usage
calls=0
; Log Input key actions
input=0
; Super verbose massive log
debug=0
; Unbuffered logging to avoid missing anything at file end
unbuffered=0
; Force the CPU affinity to use only a single CPU for debugging multi-threaded
force_cpu_affinity=0
; ------------------------------------------------------------------------------------------------------
; Default constants to pass directly to shaders as IniParams
; ------------------------------------------------------------------------------------------------------
[Constants]
; X controls HUD depth
x = 0
; Used for crosshair depth; don't change
z = 0.0
; Not used
w = 0
; Set X1 to 1 to disable the rain drops on the camera:
x1 = 0
;------------------------------------------------------------------------------------------------------
; Custom settings override for any of [convergence, separation, x, y, z, w]
;
; Four types are supported - by default the bindings will simply load the
; configured settings, but type=hold can be specified to have a preset
; active while the button is held, type=toggle can be used to make a simple
; on/off toggle, and type=cycle can be used to cycle between several presets.
;
; Delays (type=hold only) and linear or cosine trasition periods (any key type)
; can be used to better synchonrise setting changes to the game's animations,
; or to smoothly adjust UI elements over a short period of time.
;
; Key bindings: For A-Z and 0-9 on the number row, just use that single
; character. For everything else (including mouse buttons), use the virtual key
; name (with or without the VK_ prefix) or hex code from this article:
; http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
;
; Keys can also be from XBox controllers using:
; XB_LEFT_TRIGGER, XB_RIGHT_TRIGGER,
; XB_LEFT_SHOULDER, XB_RIGHT_SHOULDER,
; XB_LEFT_THUMB, XB_RIGHT_THUMB,
; XB_DPAD_UP, XB_DPAD_DOWN, XB_DPAD_LEFT, XB_DPAD_RIGHT,
; XB_A, XB_B, XB_X, XB_Y, XB_START, XB_BACK, XB_GUIDE
; By default all attached controllers are used - to associate a binding with a
; specific controller add the controller number 1-4 to the prefix, like
; XB2_LEFT_TRIGGER, though this may be more useful for hunting than playing.
;------------------------------------------------------------------------------------------------------
; Example for changing default settings
[KeyConvergence]
Key = F1
convergence = 1.6, 0.6
type = cycle
[KeyAim]
Key = VK_MBUTTON
type = hold
;z = 0.93
delay = 100
transition = 1000
transition_type = linear
release_delay = 2000
[KeyAimXbox]
Key = XB_RIGHT_SHOULDER
type = hold
z = 0.93
;delay = 100
transition = 1000
transition_type = linear
release_delay = 2000
[KeyDisableSLIBugWaterReflection]
Key = F3
type = toggle
w = 1
[KeyHUD]
Key = P
type = cycle
x = 0, 100
;------------------------------------------------------------------------------------------------------
; Shader hunting options.
; Default setup is to use keyboard similar to Helix presets
;------------------------------------------------------------------------------------------------------
[Hunting]
; 0: Release mode is with shader hunting disabled, optimized for speed.
; 1: Hunting mode enabled
; 2: Hunting mode "soft disabled" - can be turned on via the toggle_hunting key
hunting=0
; Highlight mode of currently selected shader / rendertarget.
; "skip" = skip shader. don't render anything using the currently selected shader.
; "original" = fall back to original shader if the currently selected shader was patched.
; "pink" = make the output hot pink to make it standout.
; "mono" = disable stereo for the selected shader / rendertarget.
; "zero" = shader output is all zero. NOTE: this has a big performance impact.
marking_mode=skip
;
; XBox controllers are supported using the same bindings as the [Key] sections
; (see above). If the game already uses the first controller you might try
; using the second controller for hunting with e.g. XB2_LEFT_SHOULDER
; rotate through all VISIBLE pixel shaders at the current scene.
previous_pixelshader=VK_NUMPAD1
next_pixelshader=VK_NUMPAD2
mark_pixelshader=VK_NUMPAD3
; rotate through all VISIBLE vertex shaders at the current scene.
previous_vertexshader=VK_NUMPAD4
next_vertexshader=VK_NUMPAD5
mark_vertexshader=VK_NUMPAD6
; rotate through all USED index buffers at the current scene.
previous_indexbuffer=VK_NUMPAD7
next_indexbuffer=VK_NUMPAD8
mark_indexbuffer=VK_NUMPAD9
; rotate through all USED render targets at the current scene.
previous_rendertarget=VK_DIVIDE
next_rendertarget=VK_MULTIPLY
mark_rendertarget=VK_SUBTRACT
; rotate through all VISIBLE geometry shaders at the current scene.
previous_geometryshader = VK_PGUP
next_geometryshader = VK_PGDN
mark_geometryshader = VK_HOME
; rotate through all USED domain shaders at the current scene.
previous_domainshader = MINUS
next_domainshader = PLUS
mark_domainshader = BACKSPACE
; rotate through all USED hull shaders at the current scene.
; previous_hullshader = [
; next_hullshader = ]
; mark_hullshader = \
; rotate through all USED compute shaders at the current scene.
; Disabling compute shaders may cause crashes, so these are
; not enabled by default:
previous_computeshader = <
next_computeshader = >
mark_computeshader = /
; Re-enable shaders once done with hunting:
done_hunting=VK_ADD
; Screenshot as pns
take_screenshot=VK_SNAPSHOT
; reload all fixes from ShaderFixes folder
reload_fixes=VK_F10
; Key to turn hunting itself on/off. This will also show/hide overlay.
; Hunting must be set to either 1 or 2 to enable this toggle.
toggle_hunting=VK_NUMPAD0
; Key to reload the settings from the the d3dx.ini without restarting. This can
; be the same key as reload_fixes for convenience, or a different key may be
; used to avoid resetting the ini parameters every time the shaders are
; reloaded. Note that not all settings can be reloaded, so if something doesn't
; work as expected you may still have to restart the game:
reload_config=VK_F10
; Hold this key to temporarily disable the fix - useful to quickly check what
; an effect looked like in the original game.
show_original=VK_F9
; snapshots to be made upon any shader Mark. These give you snapshot when the
; shader is disabled, as a way to correlate image to shader hash.
; mark_snapshot=0 // none
; mark_snapshot=1 // mono, simple snapshot
; mark_snapshot=2 // stereo snapshot
mark_snapshot=2
; Auto-repeat key rate in events per second.
repeat_rate=6
; tunable parameter to use in modified shaders as variable (StereoParams.Load(int3(1,0,0)).xyzw)
; enabling tuning results in a small performance hit because the parameter texture
;tune_enable=1
;tune_step=0.1
;tune1_up=VK_INSERT
;tune1_down=VK_DELETE
;tune2_up=X
;tune2_down=Z
; Dumps out the contents of each render target after every immediate draw call
; for the next frame. Takes up a large amount of space, so disabled by default.
analyse_frame=VK_F8
; Specifies options for the frame analysis feature. Options can be combined by
; separating them with a space.
; log: Log draw calls and state changes (one log file per context)
; hold: Continue analysing subsequent frames while the key is held
; dump_rt_jps: Dumps out render targets as JPS files. These are the easiest to
; work with and don't take up as much space as DDS files, but they
; are not dumped for every render target and are missing some data.
; dump_rt_dds: Dumps out render targets as DDS files. WARNING: This option may
; require hundreds of gigabytes and a long time! Only use it if
; you absolutely need more information than you can get otherwise.
; Will also dump buffer type render targets & UAVs as .buf files.
; dump_rt: Dumps render targets as JPS files when possible, or DDS when not.
; clear_rt: Clears each render target the first time they are used in the
; frame. Makes it easier to see what is being drawn if the game
; doesn't clear them, but might cause some effects not to render.
; dump_depth: Dumps depth/stencil targets as DDS files
; dump_tex_jps: Dumps textures as JPS files
; dump_tex_dds: Dumps textures as DDS files (Same warning as for dump_rt_dds)
; Will also dump buffer type shader resource views as .buf files.
; dump_tex: Dumps textures as JPS files when possible, or DDS when not.
; dump_cb: Dumps constant buffers as binary .buf files
; dump_cb_txt: Decodes constant buffers as an array of float4s
; dump_vb: Dumps vertex buffers as binary .buf files
; dump_vb_txt: Decodes vertex buffers as an array of float4s
; dump_ib: Dumps index buffers as binary .buf files
; dump_ib_txt: Decodes index buffers
; filename_reg: Normally the draw number is the first part of the filename so
; that the files will be sorted in the order they were used in
; the game. Sometimes it is more desirable to examine how a
; specific output changed through the frame and this option will
; place the register number first in the filename to allow that.
; mono: Dump out mono textures instead of stereo. To dump both, specify
; 'mono stereo'. If neither are specified, defaults to stereo.
; analyse_options can also be specified in [ShaderOverride*] and
; [TextureOverride*] sections to set up triggers to change the options mid-way
; through a frame analysis, either for a single draw call (default), or
; permanently (by adding the 'persist' keyword).
analyse_options = clear_rt
; Original stereo WBuffer from the game:
[ResourceWBuffer]
; Downscaled versions, still stereo - this allows each GPU to downscale their
; WBuffer separately before synchronising them over SLI. We use separate
; resources for each phase so that 3DMigoto can cache them (we could use a
; single resource, but 3DMigoto would have to destroy and recreate it for each
; size, which can be costly).
[ResourceWBufferHalf]
width_multiply = 0.5
height_multiply = 0.5
[ResourceWBufferQuarter]
width_multiply = 0.25
height_multiply = 0.25
[ResourceWBufferEighth]
width_multiply = 0.125
height_multiply = 0.125
[ResourceWBufferSixteenth]
width_multiply = 0.0625
height_multiply = 0.0625
; stereo2mono version - populating this can have a significant performance cost
; in SLI at high resolutions (above 1920x1080), so we downscale first:
[ResourceWBufferStereo2Mono]
[ShaderOverrideHBAODepthPass]
; First post-processing shader used. Good place to turn on extra dumping
; options as most broken effects will be after this point.
Hash = 170486ed36efcc9e
;analyse_options = dump_rt_jps dump_rt_dds clear_rt persist
; This can be expensive in SLI at high resolutions:
;post ResourceWBufferStereo2Mono = stereo2mono o0
; So we use this instead to downscale the WBuffer first:
post run = CustomShaderDownscaleWBuffer
;------------------------------------------------------------------------------------------------------
; Chain load other wrapper DLLs instead of system DLLs.
;------------------------------------------------------------------------------------------------------
[System]
; Options to use hooking instead of wrapping. Used in MGSV. Possible objects to hook include:
; deferred_contexts
; immediate_context
; device
; all - all of the above
; crash/hang workarounds:
; except_set_shader_resources - work around crash on Win 7 with evil update
; except_set_samplers - work around crash on Win 10
; except_set_rasterizer_state - work around crash on Win 7 without evil update
; skip_dxgi_factory - hack for MGSV, not recommended for other games as it
; may disable core 3DMigoto functionality in some cases
; skip_dxgi_device - hack for MGSV on Win10 anniversary update
; recommended - hook supported objects, safe workarounds enabled, skips not enabled
;hook=recommended
; Options to allow IDXGIFactory2 to be created and wrapped. We have typically had good
; luck with returning an error for all non-dx11 requests, but some games error out
; with these checks in place.
; The allow_create_device allows D3D10 Device creation and is needed for some games.
; It has two options, allow_create_device=1, which will allow anything to go through
; without returning an error, and allow_create_device=2, which will force all requests
; to become D3D11 Devices, no matter what was passed in.
; The allow_platform_update option allows the D3D11Device1 and D3D11Context1
; interfaces introduced in Windows 8 and the platform update of Windows 7.
;
; Start with allow_check_interfaces, if that doesn't work then try allow_dxgi1_2,
; then try allow_create_device=2, lastly try allow_create_device=1
;
; Setting allow_dxgi1_2=2 may allow the Steam Overlay and Steam Controller to
; work in some games on Windows 7 and Windows 8, but could potentially disable
; core functionality in some cases, so only enable it if you need it.
;
;allow_check_interface=1
;allow_dxgi1_2=1
;allow_create_device=2
;allow_platform_update=1
allow_dxgi1_2=2
;------------------------------------------------------------------------------------------------------
; Settings to force display device to a specific mode.
; Uncomment a value to force the specific setting.
;------------------------------------------------------------------------------------------------------
[Device]
; overrides refresh rate set by game.
;refresh_rate=60
; filters available video modes to those providing given refresh rates.
; some games don't explicitely set the refresh rate, but use the video mode.
; use this if setting refresh_rate doesn't work.
;filter_refresh_rate=24,59,60
; full_screen=1 forces creation of full screen devices and swap chains.
; use this for 3dtvplay if game won't active stereo mode.
; full_screen=2 will also disable SetWindowPos which might help in some games.
;full_screen=1
; This toggles forcing the full screen mode on and off. It will not take effect
; immediately, but will change what happens the next time the game tries to
; change the fullscreen mode. This is a specific hack to workaround a bug in
; Unity games, which crash when alt+tabbing out from exclusive mode fullscreen.
;
; To switch out of a Unity game without it crashing:
; Enable this option, Press F7, Alt+Enter, Alt+Tab
;toggle_full_screen = VK_F7
; some games explicitely disable stereo, prohibiting any stereo attempts.
; settings this to 1 ignores all stereo disabling calls and also calls NvAPI_Stereo_Enable to force stereo on.
;force_stereo=1
; almost all DX11 games deactivate window message handling.
; setting this to 1 reenables print screen handling, alt-tab key handling etc.
;allow_windowcommands=1
; Indicates where the resolution is obtained for texture hashes. Comment this
; out to never special case hashes that match the resolution or a multiple.
; Possible values are swap_chain and depth_stencil. Recommended to test which
; works for a given game (e.g. CryEngine always creates a swap chain that
; matches the native resolution so has to use depth_stencil).
get_resolution_from = swap_chain
;------------------------------------------------------------------------------------------------------
; Settings for NVidia stereo driver.
;------------------------------------------------------------------------------------------------------
[Stereo]
; games which have their own stereo renderer disable the NVidia automatic
; stereo mode and render themselves into stereo buffers (Crysis 3 for example).
; Setting this to 1 disables the game stereo renderer and enables NVidia auto stereo mechanism.
; This also forces 'false' as a return for any request for NvAPI_Stereo_IsEnabled.
automatic_mode=0
; Some games (CryEngine games, for example) lock the separation & convergence
; to a specific value, which can be undesirable. Set this to 1 to ignore these
; requests from the game to unlock the separation:
unlock_separation=0
unlock_convergence=0
; games without predefined profiles can't save stereo settings.
; enabling this options automatically creates a profile for unknown games.
create_profile=0
; sets the global surface creation heuristic for NVidia stero driver.
; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings for surface creation mode.
; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - Always create stereo surfaces.
; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - Always create mono surfaces.
;surface_createmode=1
; overrides surface creation mode for square surfaces.
;surface_square_createmode=1
; Force the NvAPI_Initialize to return an error so that games think stereo and NVidia is unavailable.
force_no_nvapi=0
; Type of shader hashes in use:
; 3dmigoto = Traditional hash used by 3DMigoto (unseeded software FNV-1)
; embedded = Use the first half of the MD5-like hash embedded within the
; shaders to skip the hash calculation altogether.
; bytecode = Only hash bytecode and signatures with hardware accelerated
; CRC32C. Used to minimise duplicate shaders in certain games, but
; potentially carries a higher risk of hash collisions between
; unrelated shaders in some games (e.g. that only differ in
; variable names). May occasionally avoid hash changes on game
; updates due to changes in the game developer's build environment
; (shader compiler version, build path embedded in debug info,
; constants renamed, etc). Will not avoid hash changes if the
; shader code, constant values, etc are changed.
shader_hash = 3dmigoto
; Shaders in game will be replaced by these custom shaders.
override_directory=ShaderFixes
; Automatically patched shaders will be written here if caching is enabled.
cache_directory=ShaderCache
; Shaders that are directly compiled by the game, instead of binary, go here.
storage_directory=ShaderFromGame
; cache all compiled .txt shaders into .bin. this removes loading stalls.
cache_shaders=0
; thread save data structure access. required on multithreaded rendering.
use_criticalsection=1
; Setting this option disables scissor limits
rasterizer_disable_scissor=1
; Tracks copies and updates to textures which may cause their hash to become
; out of sync with their contents - enable if texture hashes seem unreliable:
;track_texture_updates=1
; Registers where the StereoParams and IniParams textures will be assigned -
; change if the game already uses these registers. Newly decompiled shaders
; will use the new registers, but existing shaders will not be updated - best
; workflow is to remove ShaderCache after changing these and run a search and
; replace on all shaders in ShaderFixes. Set to -1 to disable if not required.
stereo_params = 125
ini_params = 120
;------------------------------------------------------------------------------------------------------
; Analyzation options.
;
; save all autofixed shaders as HLSL
export_fixed=0
; save all shaders sent to DX11 as ASM, or as HLSL text files if compiled by game.
export_shaders=0
; save all shaders seen as HLSL code, autofixed or not. 1= HLSL only, 2=HLSL+OriginalASM, 3=HLSL+OriginalASM+RecompiledASM
export_hlsl=0
; stores a ShaderUsage.txt file on any marking button press.
dump_usage=0
;------------------------------------------------------------------------------------------------------
; Automatic shader fixes. Those settings here apply only on newly read shaders.
; All existing *_replace.txt or *_replace.bin files are not tampered with.
; If you change settings here, the best workflow is to delete all shaders in
; the shader cache directory and let them be fixed again.
; Stereoize all shader parameters with position semantic.
fix_sv_position=0
; Inject depth texture if other depth sources are unavailable.
;fix_ZRepair_DepthTextureHash=8a19f087b004598f
; Correct inverse transformations in pixel shaders using evaluated depth.
;fix_InvTransform=ScreenToLight,InverseTranslatedViewProjectionMatrix
; Back projection coordinate fix.
;
; Available variables in expressions:
; stereoParams.x = Separation value in range [0..1] or [-0..-1] dependent on active eye
; stereoParams.y = Convergence value in w coordinates (1/z)
; stereoParams.z = -1/1 for left/right eye
; stereoParams.w = Separation value without eye separation
; stereoTune.x = tune value 1 (default is 1)
; stereoTune.y = tune value 2 (default is 1)
; stereoTune.z = tune value 3 (default is 1)
; stereoTune.w = tune value 4 (default is 1)
; stereoScreenRes.x = Primary swap chain backbuffer horizontal resolution
; stereoScreenRes.y = Primary swap chain backbuffer vertical resolution
; zpos = current pixel z position in pixel shader
; wpos = current pixel w position in pixel shader
; Send inverse transformations from vertex shaders to pixel shaders.
;fix_BackProjectionTransform1=ScreenToTranslatedWorldMatrix._m00,ScreenToTranslatedWorldMatrix._m02,ScreenToTranslatedWorldMatrix._m01
;fix_BackProjectionTransform2=ScreenToWorld._m00,ScreenToWorld._m02,ScreenToWorld._m01
; Position variables to correct in pixel shaders.
;fix_ObjectPosition1=PointPositionAndInverseRadius
;fix_ObjectPosition1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5
;fix_ObjectPosition2=SpotPositionAndInverseRadius
;fix_ObjectPosition2Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5
; Matrix multiplications to correct in pixel shaders.
;fix_MatrixOperand1=TranslatedWorldToShadowMatrix
;fix_MatrixOperand1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5 - viewDirection.z*0.05 + (0.02791946-stereoParams.x/stereoParams.w), 0
; autofix shader option: recompiles all vertex shaders. fixes minor differences in deferred rendering.
;recompile_all_vs=0
;------------------------------------------------------------------------------------------------------
; Shader manipulations without patches + shader filtering.
;------------------------------------------------------------------------------------------------------
;[ShaderOverride1]
;Hash=69732c4f23cb6c48
; Custom stereo separation value while rendering objects using this shader.
;Separation=0
; Custom stereo convergence value while rendering objects using this
; shader (e.g. convergence=0 will move an object to infinity).
;Convergence=0
; don't draw anything using this shader.
;Handling=skip
; advanced option: use this to override only if this shader is used rendering the given index buffer.
;IndexBufferFilter=b3e56ebc
; Use replaced shader only when there is no active depth buffer (for UI filtering)
;depth_filter = depth_inactive
; Use replaced shader only when there *IS* an active depth buffer (for UI filtering)
;depth_filter = depth_active
; Only use replaced shader when it is used in conjunction with a specific shader
; (e.g. to adjust a vertex shader ONLY when it is used with a specific pixel shader)
;partner=af7b880f07630615
; Override a value from [Constants] when this shader is used:
;x=2.0
; Pass the dimensions of the active render target and resolution (obtained with
; get_resolution_from) into the shader:
;x1=rt_width
;y1=rt_height
;z1=res_width
;w1=res_height
; Use t0 from active pixel shader for texture filtering. Will be 0 if no
; [TextureOverride*] section exists for the texture or 1 if one does. For advanced
; filtering, set a value for filter_index in the [TextureOverride] section.
;x2=ps-t0
; Override the shader model to allow using newer features like Texture2DMS:
;model=vs_5_0
; There's also support for copying textures, constant buffers, depth buffers,
; etc. from one shader to another. This is a complex topic - see this page:
; https://github.com/bo3b/3Dmigoto/wiki/Resource-Copying
[ResourceDummyRenderTarget]
Format = R8G8B8A8_UNORM
[ShaderOverrideHairworksDepthMSAAResolver]
; This fixes the MSAA hairworks one-eye transparency issue, by assigning a
; dummy render target to the shader that resolves the MSAA depth buffer.
Hash=4f47213227634ea5
;analyse_options = dump_rt_dds
;fake_o0 = 1
ResourceDummyRenderTarget = copy_desc oD
o0 = ResourceDummyRenderTarget
;------------------------------------------------------------------------------------------------------
; texture / render target manipulations
;------------------------------------------------------------------------------------------------------
;
; NOTE: If you are trying to match a texture the same size as the resolution (or
; a /2, x2, x4 or x8 multiple), you should confirm that the same hash is used
; on different resolutions, and adjust get_resolution_from if necessary.
;
; NOTE: If you find a texture hash seems to change inconsistently, try enabling
; track_texture_updates in the [Rendering] section.
;
;[TextureOverride1]
;Hash=c3e55ebd
; NVidia stores surface creation mode heuristics in the game profile. setting
; this option overrides the creation mode for a given texture / buffer.
; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings.
; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - create stereo surface.
; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - create mono surface.
;StereoMode=2
;[TextureOverride2]
;Hash = e27b9d07
; Prevent the game reading from this texture - will give the game a blank
; buffer instead. Used to prevent CryEngine games falsely culling objects. Use
; debug logging and look for Map calls to identify possible hashes.
;deny_cpu_read=1
; Expand the region copied to this texture with CopySubresourceRegion (similar
; issue to rasterizer_disable_scissor). Used to solve issues with transparent
; refraction effects (like glass) in CryEngine games.
;expand_region_copy=1
;------------------------------------------------------------------------------------------------------
; Example of settings override by mouse button configuration
; Mapping of from game provided hard coded convergence values to custom values
; Those are values for L.A. Noir
; Example of settings override by mouse button configuration
;------------------------------------------------------------------------------------------------------
;[ConvergenceMap]
;Map1=from 3e99999a to 0.3
;Map2=from 3f800000 to 1.0
;Map3=from 3f666666 to 0.9
;------------------------------------------------------------------------------------------------------
; Updates the game's driver profile on launch.
;
; Any changes here will require the user to OK a UAC prompt the first time they
; run the game, but the DLL tries to only do that if it is actually required.
;------------------------------------------------------------------------------------------------------
[Profile]
; This setting should always be added to a profile - it is required for a
; number of other settings to work, as well as allowing the convergence to be
; saved. If you are customising a profile you should **always uncomment this**:
StereoProfile = 1
;
; This setting enables stereo compute shaders, which is requires to fix a lot
; of "one eye" type rendering issues in many DX11 games:
StereoFlagsDX10 = 0x00004000
;
; This sets the default convergence in the profile. Note that 3DMigoto will
; happily override the default value from the driver, but will only override
; the user's custom convergence if it has another reason to update the profile,
; such as a change to another setting (adding a version tag to the Comments
; setting would be one way to force an update):
StereoConvergence = 1.31962526
;
; This changes the green text that the driver displays, and is a good place to
; put any reminders to display to the user or just take some credit:
Comments = "3D Vision Fix 1.31"
;
; Change the rating: "0": 3D Vision Ready, "1": Excellent, "2": Good,
; "3": Fair, "4": Not Recommended
Compat = "0"
;
; If you have added some comments, you probably want to force the green text to
; show up when the game is next run. Note that like convergence, 3DMigoto will
; only override a user setting here if something else has also been updated
; (such as Comments), so this will usually only show up the first time a user
; runs the game after installing the fix (be sure to enable StereoProfile).
;StereoMemoEnabled = 1
;
; Disable compatibility mode to make sure users are seeing the real deal. Like
; convergence, 3DMigoto will respect the users custom settings here:
Disable2DD = 1
;
; Put a reminder in the green text of compatibility mode that they are not
; seeing the real deal:
2DD_Notes = "Compatibility mode is enabled. To use the fix, please disable it with Ctrl+Alt+F11"
;
; If a setting doesn't have a name or you don't know what it is (check the
; d3d11_log.txt for the names of all settings in this profile), you can use the
; hex ID (in fact, you can even paste a complete profile from Geforce Profile
; Manager - just be sure to delete any corrupt string settings if you do):
;0x1033cec2 = 0x00000002
;
; There are many more options, and we have tried to document them here -
; *please* edit this page if you figure out anything new:
; http://wiki.bo3b.net/index.php?title=Driver_Profile_Settings
0x00a06746 = 0x00800000
0x00a06946 = 0x080020F5
NVIDIA predefined SLI mode on DirectX 10 = 2
NVIDIA predefined number of GPUs to use on SLI rendering mode on DirectX 10 = 4
Do not display this profile in the Control Panel = 0
Enable application for Optimus = 0x00000011
DX10DSCBNumber = 0x00000009
DX10VSCBNumber = 0x00000009
StereoTextureEnable = 0x00000023
StereoCutoff = 1
2DDHUDSettings = 0x10000102
2DDConvergence = 0.886959136
0x00c96f61 = 0x6e0326f7
0x003846a8 = 0xc7729a38
;------------------------------------------------------------------------------------------------------
; Commands to run from the Present call at the start/end of each frame
;
; Useful to clear custom resources or ini params at the start of each frame, or
; to run a custom shader to do whatever you can dream up.
;------------------------------------------------------------------------------------------------------
[Present]
; run = CustomShaderDebugDownscale
; Clear the copied W-buffer on each present call so we don't use stale depth
; information when we are in the menus and it is unavailable:
ResourceWBufferStereo2Mono = null
; 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
; The following custom shader can convert 3D Vision to Side-by-Side and
; Top-and-Bottom for use with 3D TVs & projectors - to enable this uncomment
; the 'run = CustomShader3DVision2SBS' in the [Present] section, set 3D Vision
; to output "checkerboard" in the control panel (which will remove the 720p
; limitation) and enable this either via the F11 key, or by setting a default
; for x7 in the [Constants] section.
[Resource3DVision2SBSBackupTexture]
[CustomShader3DVision2SBS]
; Load a custom vertex + pixel shader:
vs = ShaderFixes/3dvision2sbsvs.hlsl
ps = ShaderFixes/3dvision2sbsps.hlsl
; Explicitly unbind other shader types for safety:
hs = null
ds = null
gs = null
; Disable the OM blend stage that could interfere with the shader:
blend = disable
; Disable front/back face culling so the vertices can be in any rotation:
cull = none
; Use a triangle strip topology so we only have to output four vertices:
topology = triangle_strip
; Clear all render + depth targets to avoid compatibility issues:
o1 = null
o2 = null
o3 = null
o4 = null
o5 = null
o6 = null
o7 = null
oD = null
; Bind the back buffer as a render target. set_viewport ensures that the view
; port is the size of the buffer so the draw call will work, and no_view_cache
; is necessary for a few games like Mad Max:
o0 = set_viewport no_view_cache bb
; Back up any textures that were in the ps-t100 slot. The CustomResource
; section will already back up a lot of state, including shaders, render
; targets, depth targets, UAVs, viewports, blend state, rasterizer state,
; primitive topology, etc. but it does not back up textures:
Resource3DVision2SBSBackupTexture = reference ps-t100
; Use the reverse stereo blit to give the shader access to the back buffers of
; both eyes:
ps-t100 = stereo2mono bb
; Some rare games (e.g. Onechanbara Z2) use MSAA back buffers, which cannot be
; directly used with the reverse stereo blit and must be resolved to non MSAA
; versions first. The symptoms will be a black screen after enabling this
; shader with F11. In that case, replace the above line with these two:
; ps-t100 = resolve_msaa bb
; ps-t100 = stereo2mono ps-t100
; Some games such as The Evil Within and Akiba's Trip constantly unbind
; StereoParams & IniParams, so we may need to explicitly rebind them now:
vs-t125 = StereoParams
ps-t125 = StereoParams
vs-t120 = IniParams
ps-t120 = IniParams
; Draw four vertices. The vertex shader will construct coordinates to cover the
; full screen using the SV_VertexID semantic so we don't need vertex buffers:
draw = 4, 0
; Restore the original texture from the ps-t100 slot:
post ps-t100 = reference Resource3DVision2SBSBackupTexture
[KeyChange3DVision2SBSOutputMode]
key = F11
; 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 = 1, 2, 3, 4, 5, 0
type = cycle
[quote]
[KeyHUD]
Key = P
type = cycle
x = 0, 100[/quote]
For this one, if you are setting the x value, that is a number from 0..1 as a percent. So, you could have 0, 1.0, but 100 isn't going to work. That will set the HUD off screen I think, make it invisible.
It's a percentage from 0 (screen depth) to 1.0 (maximum distance, like clouds).
For binding the XB_GUIDE, I'm not sure if we expect that to always work or not. If I remember correctly, there is some tricky business to get that to work, and it might not be compatible with all games.
Start with something easier, especially because you are going to do another level of weirdness with the PS4 controller.
There should be no problem for creating new key bindings, as long as they are named differently. It seems likely that they did not work because your number was off.
For this one, if you are setting the x value, that is a number from 0..1 as a percent. So, you could have 0, 1.0, but 100 isn't going to work. That will set the HUD off screen I think, make it invisible.
It's a percentage from 0 (screen depth) to 1.0 (maximum distance, like clouds).
For binding the XB_GUIDE, I'm not sure if we expect that to always work or not. If I remember correctly, there is some tricky business to get that to work, and it might not be compatible with all games.
Start with something easier, especially because you are going to do another level of weirdness with the PS4 controller.
There should be no problem for creating new key bindings, as long as they are named differently. It seems likely that they did not work because your number was off.
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 think you need antimicro to reliably bind the guide button. I am using a mod which utilizes it to save along with all signs instant cast via combinations.
I think you need antimicro to reliably bind the guide button. I am using a mod which utilizes it to save along with all signs instant cast via combinations.
i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)
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
*scratch that, I was being a moron and modified the keyboard parameter instead of the xbox controller I was using. Now it's back to normal.
Uploading an example screenshot, anyway in case there is an easy resolution as I do like the sound of the HUD senses changes. I saw this issue in Dragons dogma with the minimap as well. This is 1920x1080p res
i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)
That can't be fixed, is basically how the shader works. It uses the texture map from the main MAP in-game and then uses an "opacity mask" to "mask" around the minimap contour. Pushing the shaders to depth will also push the opacity mask to depth and as a result you might get gaps and the map to "bleed" through the gaps.
This is the reason is only set in Witcher Sense mode and a toggle is available. :)
If anyone can think of a way to fix this, I am all ears:)
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)
Thanks for help :)
http://helixmod.blogspot.co.nz/2016/06/the-witcher-3-wild-hunt.html
i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)
[Key1] // or any other free slot
Key = p // or any other free hotkey
type = toggle
x = 100.0
Have tried without the comments in the code above without success also. Currently I'm using this workaround:
[KeyHUD]
Key = P
type = cycle
x = 0, 100
I simply changed an existing key to work as I would like. I can't seem to be able to create new keys, any suggestion? I've tried to bind the key to XB_GUIDE without success also, this would make my life way easier :)
My XB_GUIDE currently seem unbound, but when I press it and then push left stick to left or right it swaps the equipped potion (upper slot), any thoughs on why this is happening? I think that this mysterious action bound to XB_GUIDE is preventing me of binding anything to it. I've also dug through the input.settings file and found nothing that seems related to XB_GUIDE.
Any kind soul would spare his/her knowledge and tip me on a solution?
PS: I'm seeing something that seems like ghosting underwater, after installing this amazing 3D fix. Even in 2D. Not big issue but wanted to let someone that might care know. Pressing F3 doesn't fix. I'm not using SLI but a different card for Physix.
PS2: This is a long shot... I use a multiseat software (Aster under Win 10 x64) and when it is installed and I run the game I get 3D working, but also a black box with BIG RED LETTERS saying that I can't use the 3D in Stereo Mode. The thing is that I'm not using Stereo Mode, but this Aster program makes the game think I am somehow. So, anyway to get rid of this warning?
Thanks in advance for any help!
Regards
"I added presets for different convergence levels on Keys "Z" and "XBOX-RIGHT_THUMB_PRESS""
Kind of easy to read that as key, when it says keys... where exactly do i find these """"keys"""? Would help if it says in which .ini.
I guess the problem is also that i might have turned off HBAO+.. my resolution is 720p.
Computer: i7 2600K @4.8GHz / Asus Sabertooth P67 Rev3 / 32GB Corsair Vengeance / GTX 980ti / 34" Samsung S34E790C
Projectors: BenQ W700 / BenQ MH741
Show us the entire d3dx.ini file you are using. That sounds like maybe you have two [Key*] sections assigned to the same key.
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
For 3Dmigoto there has only ever been one .ini file, the d3dx.ini file. Anything related to 3Dmigoto actions, we try very hard to keep in that one spot.
In there, there is some documentation of how to setup different presets. It should be self explanatory and help you solve the problem.
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
Sorry If I have sounded a bit condescending, but jesus people, it's all there you just have to exercise a little reading comprehension. *Opp's got ninjad by B03b.*
Btw there is still a shadow issue with one of the final quests in HOT, (Which I have to replay through a little, since I appear to have lost my save before it occurs) I will upload when I reach it again..
and The B&W rivers and water there still seems to be something wrong. But I think this may just be a 2d issue as well. This is separate from the caverns SLI issue and the toggle does not correct it. I am not using any water or lighting mod's either so I wonder if this is just something everyone puts up with and I have just noticed because the rest of the fix is so flawless.
i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)
If you find anything wrong, please send me a savegame and a screenshot as well. It will make things easy to see and reproduce and fix;) It is possible a few shader might have broken during the other patches;) So, you never know, or I missed that, although... I don't remember missing anything;)
Thx;)
I shall also make a new update related to the UI push in Witcher Senses mode;) It will solve the minimap problem, but the whole UI will be pushed to depth. Better like this;) OFC it can be disabled like before.
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)
What post did you get that from? I expect is a very very very early post... You need to catch up a bit;)
Like stated before, read the d3dx.ini file... All the keys are defined there in plain sight...
(Ini files are like the easiest things to read and are documented or self explanatory... ^_^)
I definitely not said that in the latest post and I am unsure why you refer to an older post anyway...
(HelixMod doesn't say anything about that either...so not sure where you got it from...)
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)
Hi, my file is bellow, thanks for your time!
;------------------------------------------------------------------------------------------------------
; The Witcher 3: Wild Hunt + Expansions
; Original fix by Bo3b + DarkStarSword + Mike_ar69
; Fix updated by Helifax for patch 1.31
;------------------------------------------------------------------------------------------------------
; Logging options.
; Comment line or set value to 0 for no logging.
;------------------------------------------------------------------------------------------------------
[Logging]
; Log all API usage
calls=0
; Log Input key actions
input=0
; Super verbose massive log
debug=0
; Unbuffered logging to avoid missing anything at file end
unbuffered=0
; Force the CPU affinity to use only a single CPU for debugging multi-threaded
force_cpu_affinity=0
; Log NVAPI convergence modifications
convergence=0
; Log NVAPI separation modifications
separation=0
; ------------------------------------------------------------------------------------------------------
; Default constants to pass directly to shaders as IniParams
; ------------------------------------------------------------------------------------------------------
[Constants]
; X controls HUD depth
x = 0
; Used for crosshair depth; don't change
z = 0.0
; Not used
w = 0
; Set X1 to 1 to disable the rain drops on the camera:
x1 = 0
;------------------------------------------------------------------------------------------------------
; Custom settings override for any of [convergence, separation, x, y, z, w]
;
; Four types are supported - by default the bindings will simply load the
; configured settings, but type=hold can be specified to have a preset
; active while the button is held, type=toggle can be used to make a simple
; on/off toggle, and type=cycle can be used to cycle between several presets.
;
; Delays (type=hold only) and linear or cosine trasition periods (any key type)
; can be used to better synchonrise setting changes to the game's animations,
; or to smoothly adjust UI elements over a short period of time.
;
; Key bindings: For A-Z and 0-9 on the number row, just use that single
; character. For everything else (including mouse buttons), use the virtual key
; name (with or without the VK_ prefix) or hex code from this article:
; http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
;
; Keys can also be from XBox controllers using:
; XB_LEFT_TRIGGER, XB_RIGHT_TRIGGER,
; XB_LEFT_SHOULDER, XB_RIGHT_SHOULDER,
; XB_LEFT_THUMB, XB_RIGHT_THUMB,
; XB_DPAD_UP, XB_DPAD_DOWN, XB_DPAD_LEFT, XB_DPAD_RIGHT,
; XB_A, XB_B, XB_X, XB_Y, XB_START, XB_BACK, XB_GUIDE
; By default all attached controllers are used - to associate a binding with a
; specific controller add the controller number 1-4 to the prefix, like
; XB2_LEFT_TRIGGER, though this may be more useful for hunting than playing.
;------------------------------------------------------------------------------------------------------
; Example for changing default settings
[KeyConvergence]
Key = F1
convergence = 1.6, 0.6
type = cycle
[KeyAim]
Key = VK_MBUTTON
type = hold
;z = 0.93
delay = 100
transition = 1000
transition_type = linear
release_delay = 2000
[KeyAimXbox]
Key = XB_RIGHT_SHOULDER
type = hold
z = 0.93
;delay = 100
transition = 1000
transition_type = linear
release_delay = 2000
[KeyDisableSLIBugWaterReflection]
Key = F3
type = toggle
w = 1
[KeyHUD]
Key = P
type = cycle
x = 0, 100
;------------------------------------------------------------------------------------------------------
; Shader hunting options.
; Default setup is to use keyboard similar to Helix presets
;------------------------------------------------------------------------------------------------------
[Hunting]
; 0: Release mode is with shader hunting disabled, optimized for speed.
; 1: Hunting mode enabled
; 2: Hunting mode "soft disabled" - can be turned on via the toggle_hunting key
hunting=0
; Highlight mode of currently selected shader / rendertarget.
; "skip" = skip shader. don't render anything using the currently selected shader.
; "original" = fall back to original shader if the currently selected shader was patched.
; "pink" = make the output hot pink to make it standout.
; "mono" = disable stereo for the selected shader / rendertarget.
; "zero" = shader output is all zero. NOTE: this has a big performance impact.
marking_mode=skip
; Key bindings: For A-Z and 0-9 on the number row, just use that single
; character. For everything else (including mouse buttons), use the virtual key
; name (with or without the VK_ prefix) or hex code from this article:
; http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
;
; XBox controllers are supported using the same bindings as the [Key] sections
; (see above). If the game already uses the first controller you might try
; using the second controller for hunting with e.g. XB2_LEFT_SHOULDER
; rotate through all VISIBLE pixel shaders at the current scene.
previous_pixelshader=VK_NUMPAD1
next_pixelshader=VK_NUMPAD2
mark_pixelshader=VK_NUMPAD3
; rotate through all VISIBLE vertex shaders at the current scene.
previous_vertexshader=VK_NUMPAD4
next_vertexshader=VK_NUMPAD5
mark_vertexshader=VK_NUMPAD6
; rotate through all USED index buffers at the current scene.
previous_indexbuffer=VK_NUMPAD7
next_indexbuffer=VK_NUMPAD8
mark_indexbuffer=VK_NUMPAD9
; rotate through all USED render targets at the current scene.
previous_rendertarget=VK_DIVIDE
next_rendertarget=VK_MULTIPLY
mark_rendertarget=VK_SUBTRACT
; rotate through all VISIBLE geometry shaders at the current scene.
previous_geometryshader = VK_PGUP
next_geometryshader = VK_PGDN
mark_geometryshader = VK_HOME
; rotate through all USED domain shaders at the current scene.
previous_domainshader = MINUS
next_domainshader = PLUS
mark_domainshader = BACKSPACE
; rotate through all USED hull shaders at the current scene.
; previous_hullshader = [
; next_hullshader = ]
; mark_hullshader = \
; rotate through all USED compute shaders at the current scene.
; Disabling compute shaders may cause crashes, so these are
; not enabled by default:
previous_computeshader = <
next_computeshader = >
mark_computeshader = /
; Re-enable shaders once done with hunting:
done_hunting=VK_ADD
; Screenshot as pns
take_screenshot=VK_SNAPSHOT
; reload all fixes from ShaderFixes folder
reload_fixes=VK_F10
; Key to turn hunting itself on/off. This will also show/hide overlay.
; Hunting must be set to either 1 or 2 to enable this toggle.
toggle_hunting=VK_NUMPAD0
; Key to reload the settings from the the d3dx.ini without restarting. This can
; be the same key as reload_fixes for convenience, or a different key may be
; used to avoid resetting the ini parameters every time the shaders are
; reloaded. Note that not all settings can be reloaded, so if something doesn't
; work as expected you may still have to restart the game:
reload_config=VK_F10
; Hold this key to temporarily disable the fix - useful to quickly check what
; an effect looked like in the original game.
show_original=VK_F9
; snapshots to be made upon any shader Mark. These give you snapshot when the
; shader is disabled, as a way to correlate image to shader hash.
; mark_snapshot=0 // none
; mark_snapshot=1 // mono, simple snapshot
; mark_snapshot=2 // stereo snapshot
mark_snapshot=2
; Auto-repeat key rate in events per second.
repeat_rate=6
; tunable parameter to use in modified shaders as variable (StereoParams.Load(int3(1,0,0)).xyzw)
; enabling tuning results in a small performance hit because the parameter texture
;tune_enable=1
;tune_step=0.1
;tune1_up=VK_INSERT
;tune1_down=VK_DELETE
;tune2_up=X
;tune2_down=Z
; Dumps out the contents of each render target after every immediate draw call
; for the next frame. Takes up a large amount of space, so disabled by default.
analyse_frame=VK_F8
; Specifies options for the frame analysis feature. Options can be combined by
; separating them with a space.
; log: Log draw calls and state changes (one log file per context)
; hold: Continue analysing subsequent frames while the key is held
; dump_rt_jps: Dumps out render targets as JPS files. These are the easiest to
; work with and don't take up as much space as DDS files, but they
; are not dumped for every render target and are missing some data.
; dump_rt_dds: Dumps out render targets as DDS files. WARNING: This option may
; require hundreds of gigabytes and a long time! Only use it if
; you absolutely need more information than you can get otherwise.
; Will also dump buffer type render targets & UAVs as .buf files.
; dump_rt: Dumps render targets as JPS files when possible, or DDS when not.
; clear_rt: Clears each render target the first time they are used in the
; frame. Makes it easier to see what is being drawn if the game
; doesn't clear them, but might cause some effects not to render.
; dump_depth: Dumps depth/stencil targets as DDS files
; dump_tex_jps: Dumps textures as JPS files
; dump_tex_dds: Dumps textures as DDS files (Same warning as for dump_rt_dds)
; Will also dump buffer type shader resource views as .buf files.
; dump_tex: Dumps textures as JPS files when possible, or DDS when not.
; dump_cb: Dumps constant buffers as binary .buf files
; dump_cb_txt: Decodes constant buffers as an array of float4s
; dump_vb: Dumps vertex buffers as binary .buf files
; dump_vb_txt: Decodes vertex buffers as an array of float4s
; dump_ib: Dumps index buffers as binary .buf files
; dump_ib_txt: Decodes index buffers
; filename_reg: Normally the draw number is the first part of the filename so
; that the files will be sorted in the order they were used in
; the game. Sometimes it is more desirable to examine how a
; specific output changed through the frame and this option will
; place the register number first in the filename to allow that.
; mono: Dump out mono textures instead of stereo. To dump both, specify
; 'mono stereo'. If neither are specified, defaults to stereo.
; analyse_options can also be specified in [ShaderOverride*] and
; [TextureOverride*] sections to set up triggers to change the options mid-way
; through a frame analysis, either for a single draw call (default), or
; permanently (by adding the 'persist' keyword).
analyse_options = clear_rt
; Original stereo WBuffer from the game:
[ResourceWBuffer]
; Downscaled versions, still stereo - this allows each GPU to downscale their
; WBuffer separately before synchronising them over SLI. We use separate
; resources for each phase so that 3DMigoto can cache them (we could use a
; single resource, but 3DMigoto would have to destroy and recreate it for each
; size, which can be costly).
[ResourceWBufferHalf]
width_multiply = 0.5
height_multiply = 0.5
[ResourceWBufferQuarter]
width_multiply = 0.25
height_multiply = 0.25
[ResourceWBufferEighth]
width_multiply = 0.125
height_multiply = 0.125
[ResourceWBufferSixteenth]
width_multiply = 0.0625
height_multiply = 0.0625
; stereo2mono version - populating this can have a significant performance cost
; in SLI at high resolutions (above 1920x1080), so we downscale first:
[ResourceWBufferStereo2Mono]
[CustomShaderDownscaleWBuffer]
vs = ShaderFixes/fullscreen.hlsl
ps = ShaderFixes/downscale_half.hlsl
blend = disable
cull = none
topology = triangle_strip
ResourceWBuffer = ref o0
; Half:
ResourceWBufferHalf = copy_desc ResourceWBuffer
o0 = ref ResourceWBufferHalf
ps-t100 = ref ResourceWBuffer
draw = 4, 0
; Quarter:
ResourceWBufferQuarter = copy_desc ResourceWBuffer
o0 = ref ResourceWBufferQuarter
ps-t100 = ref ResourceWBufferHalf
draw = 4, 0
; Little benefit to continuing on my system, but we could:
; ; 1/8th:
; ResourceWBufferEighth = copy_desc ResourceWBuffer
; o0 = ref ResourceWBufferEighth
; ps-t100 = ref ResourceWBufferQuarter
; draw = 4, 0
;
; ; 1/16th:
; ResourceWBufferSixteenth = copy_desc ResourceWBuffer
; o0 = ref ResourceWBufferSixteenth
; ps-t100 = ref ResourceWBufferEighth
; draw = 4, 0
; Uncomment the smallest we went to:
;post ResourceWBufferStereo2Mono = stereo2mono ResourceWBufferHalf
post ResourceWBufferStereo2Mono = stereo2mono ResourceWBufferQuarter
;post ResourceWBufferStereo2Mono = stereo2mono ResourceWBufferEighth
;post ResourceWBufferStereo2Mono = stereo2mono ResourceWBufferSixteenth
; Restore state:
post ps-t100 = null
post o0 = ref ResourceWBuffer
[CustomShaderDebugDownscale]
vs = ShaderFixes/fullscreen.hlsl
ps = ShaderFixes/downscale_debug.hlsl
blend = disable
cull = none
topology = triangle_strip
o0 = set_viewport no_view_cache bb
ps-t100 = ref ResourceWBufferHalf
draw = 4, 0
post ps-t100 = null
[ShaderOverrideHBAODepthPass]
; First post-processing shader used. Good place to turn on extra dumping
; options as most broken effects will be after this point.
Hash = 170486ed36efcc9e
;analyse_options = dump_rt_jps dump_rt_dds clear_rt persist
; This can be expensive in SLI at high resolutions:
;post ResourceWBufferStereo2Mono = stereo2mono o0
; So we use this instead to downscale the WBuffer first:
post run = CustomShaderDownscaleWBuffer
[ShaderOverrideAfterHBAO]
Hash = 16f398fc56dce109
;analyse_options = persist
[ShaderOverrideCrosshair1]
Hash = 46f4872381836c2b
vs-t110 = ResourceWBufferStereo2Mono
[ShaderOverrideCrosshair2]
Hash = 53975f43d8014fe7
vs-t110 = ResourceWBufferStereo2Mono
[ShaderOverrideWaterRipples]
Hash = d90496f029191acd
handling = skip
[ShaderOverrideHBAONormalArtifactsVS]
Hash = 9a331a43dddf7ba1
ps-cb13 = vs-cb12
;------------------------------------------------------------------------------------------------------
; Chain load other wrapper DLLs instead of system DLLs.
;------------------------------------------------------------------------------------------------------
[System]
;proxy_d3d9=d3d9_helix.dll
;proxy_d3d11=d3d11_helix.dll
; Options to use hooking instead of wrapping. Used in MGSV. Possible objects to hook include:
; deferred_contexts
; immediate_context
; device
; all - all of the above
; crash/hang workarounds:
; except_set_shader_resources - work around crash on Win 7 with evil update
; except_set_samplers - work around crash on Win 10
; except_set_rasterizer_state - work around crash on Win 7 without evil update
; skip_dxgi_factory - hack for MGSV, not recommended for other games as it
; may disable core 3DMigoto functionality in some cases
; skip_dxgi_device - hack for MGSV on Win10 anniversary update
; recommended - hook supported objects, safe workarounds enabled, skips not enabled
;hook=recommended
; Options to allow IDXGIFactory2 to be created and wrapped. We have typically had good
; luck with returning an error for all non-dx11 requests, but some games error out
; with these checks in place.
; The allow_create_device allows D3D10 Device creation and is needed for some games.
; It has two options, allow_create_device=1, which will allow anything to go through
; without returning an error, and allow_create_device=2, which will force all requests
; to become D3D11 Devices, no matter what was passed in.
; The allow_platform_update option allows the D3D11Device1 and D3D11Context1
; interfaces introduced in Windows 8 and the platform update of Windows 7.
;
; Start with allow_check_interfaces, if that doesn't work then try allow_dxgi1_2,
; then try allow_create_device=2, lastly try allow_create_device=1
;
; Setting allow_dxgi1_2=2 may allow the Steam Overlay and Steam Controller to
; work in some games on Windows 7 and Windows 8, but could potentially disable
; core functionality in some cases, so only enable it if you need it.
;
;allow_check_interface=1
;allow_dxgi1_2=1
;allow_create_device=2
;allow_platform_update=1
allow_dxgi1_2=2
;------------------------------------------------------------------------------------------------------
; Settings to force display device to a specific mode.
; Uncomment a value to force the specific setting.
;------------------------------------------------------------------------------------------------------
[Device]
; overrides screen resolution.
;width=1280
;height=720
; overrides refresh rate set by game.
;refresh_rate=60
; filters available video modes to those providing given refresh rates.
; some games don't explicitely set the refresh rate, but use the video mode.
; use this if setting refresh_rate doesn't work.
;filter_refresh_rate=24,59,60
; full_screen=1 forces creation of full screen devices and swap chains.
; use this for 3dtvplay if game won't active stereo mode.
; full_screen=2 will also disable SetWindowPos which might help in some games.
;full_screen=1
; This toggles forcing the full screen mode on and off. It will not take effect
; immediately, but will change what happens the next time the game tries to
; change the fullscreen mode. This is a specific hack to workaround a bug in
; Unity games, which crash when alt+tabbing out from exclusive mode fullscreen.
;
; To switch out of a Unity game without it crashing:
; Enable this option, Press F7, Alt+Enter, Alt+Tab
;toggle_full_screen = VK_F7
; some games explicitely disable stereo, prohibiting any stereo attempts.
; settings this to 1 ignores all stereo disabling calls and also calls NvAPI_Stereo_Enable to force stereo on.
;force_stereo=1
; almost all DX11 games deactivate window message handling.
; setting this to 1 reenables print screen handling, alt-tab key handling etc.
;allow_windowcommands=1
; Indicates where the resolution is obtained for texture hashes. Comment this
; out to never special case hashes that match the resolution or a multiple.
; Possible values are swap_chain and depth_stencil. Recommended to test which
; works for a given game (e.g. CryEngine always creates a swap chain that
; matches the native resolution so has to use depth_stencil).
get_resolution_from = swap_chain
;------------------------------------------------------------------------------------------------------
; Settings for NVidia stereo driver.
;------------------------------------------------------------------------------------------------------
[Stereo]
; games which have their own stereo renderer disable the NVidia automatic
; stereo mode and render themselves into stereo buffers (Crysis 3 for example).
; Setting this to 1 disables the game stereo renderer and enables NVidia auto stereo mechanism.
; This also forces 'false' as a return for any request for NvAPI_Stereo_IsEnabled.
automatic_mode=0
; Some games (CryEngine games, for example) lock the separation & convergence
; to a specific value, which can be undesirable. Set this to 1 to ignore these
; requests from the game to unlock the separation:
unlock_separation=0
unlock_convergence=0
; games without predefined profiles can't save stereo settings.
; enabling this options automatically creates a profile for unknown games.
create_profile=0
; sets the global surface creation heuristic for NVidia stero driver.
; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings for surface creation mode.
; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - Always create stereo surfaces.
; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - Always create mono surfaces.
;surface_createmode=1
; overrides surface creation mode for square surfaces.
;surface_square_createmode=1
; Force the NvAPI_Initialize to return an error so that games think stereo and NVidia is unavailable.
force_no_nvapi=0
;------------------------------------------------------------------------------------------------------
; Settings for GPU manipulations.
; Render settings override
;------------------------------------------------------------------------------------------------------
[Rendering]
; GPU program manipulations.
; Type of shader hashes in use:
; 3dmigoto = Traditional hash used by 3DMigoto (unseeded software FNV-1)
; embedded = Use the first half of the MD5-like hash embedded within the
; shaders to skip the hash calculation altogether.
; bytecode = Only hash bytecode and signatures with hardware accelerated
; CRC32C. Used to minimise duplicate shaders in certain games, but
; potentially carries a higher risk of hash collisions between
; unrelated shaders in some games (e.g. that only differ in
; variable names). May occasionally avoid hash changes on game
; updates due to changes in the game developer's build environment
; (shader compiler version, build path embedded in debug info,
; constants renamed, etc). Will not avoid hash changes if the
; shader code, constant values, etc are changed.
shader_hash = 3dmigoto
; Shaders in game will be replaced by these custom shaders.
override_directory=ShaderFixes
; Automatically patched shaders will be written here if caching is enabled.
cache_directory=ShaderCache
; Shaders that are directly compiled by the game, instead of binary, go here.
storage_directory=ShaderFromGame
; cache all compiled .txt shaders into .bin. this removes loading stalls.
cache_shaders=0
; thread save data structure access. required on multithreaded rendering.
use_criticalsection=1
; Setting this option disables scissor limits
rasterizer_disable_scissor=1
; Tracks copies and updates to textures which may cause their hash to become
; out of sync with their contents - enable if texture hashes seem unreliable:
;track_texture_updates=1
; Registers where the StereoParams and IniParams textures will be assigned -
; change if the game already uses these registers. Newly decompiled shaders
; will use the new registers, but existing shaders will not be updated - best
; workflow is to remove ShaderCache after changing these and run a search and
; replace on all shaders in ShaderFixes. Set to -1 to disable if not required.
stereo_params = 125
ini_params = 120
;------------------------------------------------------------------------------------------------------
; Analyzation options.
;
; save all autofixed shaders as HLSL
export_fixed=0
; save all shaders sent to DX11 as ASM, or as HLSL text files if compiled by game.
export_shaders=0
; save all shaders seen as HLSL code, autofixed or not. 1= HLSL only, 2=HLSL+OriginalASM, 3=HLSL+OriginalASM+RecompiledASM
export_hlsl=0
; stores a ShaderUsage.txt file on any marking button press.
dump_usage=0
;------------------------------------------------------------------------------------------------------
; Automatic shader fixes. Those settings here apply only on newly read shaders.
; All existing *_replace.txt or *_replace.bin files are not tampered with.
; If you change settings here, the best workflow is to delete all shaders in
; the shader cache directory and let them be fixed again.
; Stereoize all shader parameters with position semantic.
fix_sv_position=0
; Pixel depth evaluation.
;fix_ZRepair_DepthTexture1=SceneDepthTexture.x
;fix_ZRepair_Dependencies1=MinZ_MaxZRatio
;fix_ZRepair_ZPosCalc1=zTex * MinZ_MaxZRatio.z - MinZ_MaxZRatio.w
;fix_ZRepair_DepthTexture2=SceneDepthTexture.x
;fix_ZRepair_Dependencies2=
;fix_ZRepair_ZPosCalc2=zTex
;fix_ZRepair_PositionTexture=PositionTexture
;fix_ZRepair_PositionCalc=1024 * %s
; Inject depth texture if other depth sources are unavailable.
;fix_ZRepair_DepthTextureHash=8a19f087b004598f
; Correct inverse transformations in pixel shaders using evaluated depth.
;fix_InvTransform=ScreenToLight,InverseTranslatedViewProjectionMatrix
; Back projection coordinate fix.
;
; Available variables in expressions:
; stereoParams.x = Separation value in range [0..1] or [-0..-1] dependent on active eye
; stereoParams.y = Convergence value in w coordinates (1/z)
; stereoParams.z = -1/1 for left/right eye
; stereoParams.w = Separation value without eye separation
; stereoTune.x = tune value 1 (default is 1)
; stereoTune.y = tune value 2 (default is 1)
; stereoTune.z = tune value 3 (default is 1)
; stereoTune.w = tune value 4 (default is 1)
; stereoScreenRes.x = Primary swap chain backbuffer horizontal resolution
; stereoScreenRes.y = Primary swap chain backbuffer vertical resolution
; zpos = current pixel z position in pixel shader
; wpos = current pixel w position in pixel shader
; Send inverse transformations from vertex shaders to pixel shaders.
;fix_BackProjectionTransform1=ScreenToTranslatedWorldMatrix._m00,ScreenToTranslatedWorldMatrix._m02,ScreenToTranslatedWorldMatrix._m01
;fix_BackProjectionTransform2=ScreenToWorld._m00,ScreenToWorld._m02,ScreenToWorld._m01
; Position variables to correct in pixel shaders.
;fix_ObjectPosition1=PointPositionAndInverseRadius
;fix_ObjectPosition1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5
;fix_ObjectPosition2=SpotPositionAndInverseRadius
;fix_ObjectPosition2Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5
; Matrix multiplications to correct in pixel shaders.
;fix_MatrixOperand1=TranslatedWorldToShadowMatrix
;fix_MatrixOperand1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5 - viewDirection.z*0.05 + (0.02791946-stereoParams.x/stereoParams.w), 0
; autofix shader option: recompiles all vertex shaders. fixes minor differences in deferred rendering.
;recompile_all_vs=0
;------------------------------------------------------------------------------------------------------
; Shader manipulations without patches + shader filtering.
;------------------------------------------------------------------------------------------------------
;[ShaderOverride1]
;Hash=69732c4f23cb6c48
; Custom stereo separation value while rendering objects using this shader.
;Separation=0
; Custom stereo convergence value while rendering objects using this
; shader (e.g. convergence=0 will move an object to infinity).
;Convergence=0
; don't draw anything using this shader.
;Handling=skip
; advanced option: use this to override only if this shader is used rendering the given index buffer.
;IndexBufferFilter=b3e56ebc
; Use replaced shader only when there is no active depth buffer (for UI filtering)
;depth_filter = depth_inactive
; Use replaced shader only when there *IS* an active depth buffer (for UI filtering)
;depth_filter = depth_active
; Only use replaced shader when it is used in conjunction with a specific shader
; (e.g. to adjust a vertex shader ONLY when it is used with a specific pixel shader)
;partner=af7b880f07630615
; Override a value from [Constants] when this shader is used:
;x=2.0
; Pass the dimensions of the active render target and resolution (obtained with
; get_resolution_from) into the shader:
;x1=rt_width
;y1=rt_height
;z1=res_width
;w1=res_height
; Use t0 from active pixel shader for texture filtering. Will be 0 if no
; [TextureOverride*] section exists for the texture or 1 if one does. For advanced
; filtering, set a value for filter_index in the [TextureOverride] section.
;x2=ps-t0
; Override the shader model to allow using newer features like Texture2DMS:
;model=vs_5_0
; There's also support for copying textures, constant buffers, depth buffers,
; etc. from one shader to another. This is a complex topic - see this page:
; https://github.com/bo3b/3Dmigoto/wiki/Resource-Copying
[ResourceDummyRenderTarget]
Format = R8G8B8A8_UNORM
[ShaderOverrideHairworksDepthMSAAResolver]
; This fixes the MSAA hairworks one-eye transparency issue, by assigning a
; dummy render target to the shader that resolves the MSAA depth buffer.
Hash=4f47213227634ea5
;analyse_options = dump_rt_dds
;fake_o0 = 1
ResourceDummyRenderTarget = copy_desc oD
o0 = ResourceDummyRenderTarget
;------------------------------------------------------------------------------------------------------
; texture / render target manipulations
;------------------------------------------------------------------------------------------------------
;
; NOTE: If you are trying to match a texture the same size as the resolution (or
; a /2, x2, x4 or x8 multiple), you should confirm that the same hash is used
; on different resolutions, and adjust get_resolution_from if necessary.
;
; NOTE: If you find a texture hash seems to change inconsistently, try enabling
; track_texture_updates in the [Rendering] section.
;
;[TextureOverride1]
;Hash=c3e55ebd
; NVidia stores surface creation mode heuristics in the game profile. setting
; this option overrides the creation mode for a given texture / buffer.
; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings.
; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - create stereo surface.
; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - create mono surface.
;StereoMode=2
;[TextureOverride2]
;Hash = e27b9d07
; Prevent the game reading from this texture - will give the game a blank
; buffer instead. Used to prevent CryEngine games falsely culling objects. Use
; debug logging and look for Map calls to identify possible hashes.
;deny_cpu_read=1
; Expand the region copied to this texture with CopySubresourceRegion (similar
; issue to rasterizer_disable_scissor). Used to solve issues with transparent
; refraction effects (like glass) in CryEngine games.
;expand_region_copy=1
;------------------------------------------------------------------------------------------------------
; Example of settings override by mouse button configuration
; Mapping of from game provided hard coded convergence values to custom values
; Those are values for L.A. Noir
; Example of settings override by mouse button configuration
;------------------------------------------------------------------------------------------------------
;[ConvergenceMap]
;Map1=from 3e99999a to 0.3
;Map2=from 3f800000 to 1.0
;Map3=from 3f666666 to 0.9
;------------------------------------------------------------------------------------------------------
; Updates the game's driver profile on launch.
;
; Any changes here will require the user to OK a UAC prompt the first time they
; run the game, but the DLL tries to only do that if it is actually required.
;------------------------------------------------------------------------------------------------------
[Profile]
; This setting should always be added to a profile - it is required for a
; number of other settings to work, as well as allowing the convergence to be
; saved. If you are customising a profile you should **always uncomment this**:
StereoProfile = 1
;
; This setting enables stereo compute shaders, which is requires to fix a lot
; of "one eye" type rendering issues in many DX11 games:
StereoFlagsDX10 = 0x00004000
;
; This sets the default convergence in the profile. Note that 3DMigoto will
; happily override the default value from the driver, but will only override
; the user's custom convergence if it has another reason to update the profile,
; such as a change to another setting (adding a version tag to the Comments
; setting would be one way to force an update):
StereoConvergence = 1.31962526
;
; This changes the green text that the driver displays, and is a good place to
; put any reminders to display to the user or just take some credit:
Comments = "3D Vision Fix 1.31"
;
; Change the rating: "0": 3D Vision Ready, "1": Excellent, "2": Good,
; "3": Fair, "4": Not Recommended
Compat = "0"
;
; If you have added some comments, you probably want to force the green text to
; show up when the game is next run. Note that like convergence, 3DMigoto will
; only override a user setting here if something else has also been updated
; (such as Comments), so this will usually only show up the first time a user
; runs the game after installing the fix (be sure to enable StereoProfile).
;StereoMemoEnabled = 1
;
; Disable compatibility mode to make sure users are seeing the real deal. Like
; convergence, 3DMigoto will respect the users custom settings here:
Disable2DD = 1
;
; Put a reminder in the green text of compatibility mode that they are not
; seeing the real deal:
2DD_Notes = "Compatibility mode is enabled. To use the fix, please disable it with Ctrl+Alt+F11"
;
; If a setting doesn't have a name or you don't know what it is (check the
; d3d11_log.txt for the names of all settings in this profile), you can use the
; hex ID (in fact, you can even paste a complete profile from Geforce Profile
; Manager - just be sure to delete any corrupt string settings if you do):
;0x1033cec2 = 0x00000002
;
; There are many more options, and we have tried to document them here -
; *please* edit this page if you figure out anything new:
; http://wiki.bo3b.net/index.php?title=Driver_Profile_Settings
0x00a06746 = 0x00800000
0x00a06946 = 0x080020F5
NVIDIA predefined SLI mode on DirectX 10 = 2
NVIDIA predefined number of GPUs to use on SLI rendering mode on DirectX 10 = 4
Do not display this profile in the Control Panel = 0
Enable application for Optimus = 0x00000011
DX10DSCBNumber = 0x00000009
DX10VSCBNumber = 0x00000009
StereoTextureEnable = 0x00000023
StereoCutoff = 1
2DDHUDSettings = 0x10000102
2DDConvergence = 0.886959136
0x00c96f61 = 0x6e0326f7
0x003846a8 = 0xc7729a38
;------------------------------------------------------------------------------------------------------
; Commands to run from the Present call at the start/end of each frame
;
; Useful to clear custom resources or ini params at the start of each frame, or
; to run a custom shader to do whatever you can dream up.
;------------------------------------------------------------------------------------------------------
[Present]
; run = CustomShaderDebugDownscale
; Clear the copied W-buffer on each present call so we don't use stale depth
; information when we are in the menus and it is unavailable:
ResourceWBufferStereo2Mono = null
; 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
; The following custom shader can convert 3D Vision to Side-by-Side and
; Top-and-Bottom for use with 3D TVs & projectors - to enable this uncomment
; the 'run = CustomShader3DVision2SBS' in the [Present] section, set 3D Vision
; to output "checkerboard" in the control panel (which will remove the 720p
; limitation) and enable this either via the F11 key, or by setting a default
; for x7 in the [Constants] section.
[Resource3DVision2SBSBackupTexture]
[CustomShader3DVision2SBS]
; Load a custom vertex + pixel shader:
vs = ShaderFixes/3dvision2sbsvs.hlsl
ps = ShaderFixes/3dvision2sbsps.hlsl
; Explicitly unbind other shader types for safety:
hs = null
ds = null
gs = null
; Disable the OM blend stage that could interfere with the shader:
blend = disable
; Disable front/back face culling so the vertices can be in any rotation:
cull = none
; Use a triangle strip topology so we only have to output four vertices:
topology = triangle_strip
; Clear all render + depth targets to avoid compatibility issues:
o1 = null
o2 = null
o3 = null
o4 = null
o5 = null
o6 = null
o7 = null
oD = null
; Bind the back buffer as a render target. set_viewport ensures that the view
; port is the size of the buffer so the draw call will work, and no_view_cache
; is necessary for a few games like Mad Max:
o0 = set_viewport no_view_cache bb
; Back up any textures that were in the ps-t100 slot. The CustomResource
; section will already back up a lot of state, including shaders, render
; targets, depth targets, UAVs, viewports, blend state, rasterizer state,
; primitive topology, etc. but it does not back up textures:
Resource3DVision2SBSBackupTexture = reference ps-t100
; Use the reverse stereo blit to give the shader access to the back buffers of
; both eyes:
ps-t100 = stereo2mono bb
; Some rare games (e.g. Onechanbara Z2) use MSAA back buffers, which cannot be
; directly used with the reverse stereo blit and must be resolved to non MSAA
; versions first. The symptoms will be a black screen after enabling this
; shader with F11. In that case, replace the above line with these two:
; ps-t100 = resolve_msaa bb
; ps-t100 = stereo2mono ps-t100
; Some games such as The Evil Within and Akiba's Trip constantly unbind
; StereoParams & IniParams, so we may need to explicitly rebind them now:
vs-t125 = StereoParams
ps-t125 = StereoParams
vs-t120 = IniParams
ps-t120 = IniParams
; Draw four vertices. The vertex shader will construct coordinates to cover the
; full screen using the SV_VertexID semantic so we don't need vertex buffers:
draw = 4, 0
; Restore the original texture from the ps-t100 slot:
post ps-t100 = reference Resource3DVision2SBSBackupTexture
[KeyChange3DVision2SBSOutputMode]
key = F11
; 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 = 1, 2, 3, 4, 5, 0
type = cycle
For this one, if you are setting the x value, that is a number from 0..1 as a percent. So, you could have 0, 1.0, but 100 isn't going to work. That will set the HUD off screen I think, make it invisible.
It's a percentage from 0 (screen depth) to 1.0 (maximum distance, like clouds).
For binding the XB_GUIDE, I'm not sure if we expect that to always work or not. If I remember correctly, there is some tricky business to get that to work, and it might not be compatible with all games.
Start with something easier, especially because you are going to do another level of weirdness with the PS4 controller.
There should be no problem for creating new key bindings, as long as they are named differently. It seems likely that they did not work because your number was off.
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
i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)