Finally I had too much difficulty to find which shaders are dedicated to SSAO effets. So I gave up, this SSAO effect is not worth to spent so much time.
Anyway, your wise advices allow me too fix all the remainging anoying bugs, instead of disabling them.
So many thanks, IL2 BoS is now nearly perfect in 3Dvision. I updated the fix in the Helix mod blog.
Finally I had too much difficulty to find which shaders are dedicated to SSAO effets. So I gave up, this SSAO effect is not worth to spent so much time.
Anyway, your wise advices allow me too fix all the remainging anoying bugs, instead of disabling them.
So many thanks, IL2 BoS is now nearly perfect in 3Dvision. I updated the fix in the Helix mod blog.
I was too optimistic because, as I am now starting to play again instead of fixing 3D, I just found a shader that I can not fix !
The shader create blur around fire, but is not rendered equally on each eye. For example, on this [url="https://shar.es/1sKPPv"]screenshot[/url] there is blur at the left on the left engine, but you can only see it with the left eye.
I tried to use the prime primitive on each output of the [url="http://www.mediafire.com/view/aecfaem253bz5lv/VertexShader_128_CRC32_E42EE81F.txt"]shader[/url], but without success...sometime I had blur on each eye, but not the same, and I am not sure that it was linked to my modification !
This is not an essential effect and for the moment I will disable it, but if you have some ideas for this kind of problems...
I was too optimistic because, as I am now starting to play again instead of fixing 3D, I just found a shader that I can not fix !
The shader create blur around fire, but is not rendered equally on each eye. For example, on this screenshot there is blur at the left on the left engine, but you can only see it with the left eye.
I tried to use the prime primitive on each output of the shader, but without success...sometime I had blur on each eye, but not the same, and I am not sure that it was linked to my modification !
This is not an essential effect and for the moment I will disable it, but if you have some ideas for this kind of problems...
@lefuneste: For one-eye problems, these are typically either easy to fix with a change in profiles, or extremely hard to fix with some 3Dmigoto skullduggery. I don't think anyone has ever fixed a one-eye problem using HelixMod, and only DarkStarSword has fixed similar problems in Lichdom.
I'd try different profiles to see if something fixes the problem, maybe try different settings for the StereoTextureEnable bits in the profile.
Barring that, this will be extremely hard/impossible to fix. Since it's a smallish effect, I think the easiest path is to just disable the effect. This effect is not likely a water effect that impacts the whole game, but it's always a judgment call on how much you want it.
@lefuneste: For one-eye problems, these are typically either easy to fix with a change in profiles, or extremely hard to fix with some 3Dmigoto skullduggery. I don't think anyone has ever fixed a one-eye problem using HelixMod, and only DarkStarSword has fixed similar problems in Lichdom.
I'd try different profiles to see if something fixes the problem, maybe try different settings for the StereoTextureEnable bits in the profile.
Barring that, this will be extremely hard/impossible to fix. Since it's a smallish effect, I think the easiest path is to just disable the effect. This effect is not likely a water effect that impacts the whole game, but it's always a judgment call on how much you want it.
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
Thanks for the answer, I worried that is should be difficult...
I used the profile for the previous sim of 777 (Rise Of Flight), which used a previous version of the engine sim IL2 BoS. Trying different profiles should be very time consumming, so I will keep the blur effect disabled, this effect does not affect the gameplay.
Thanks for the answer, I worried that is should be difficult...
I used the profile for the previous sim of 777 (Rise Of Flight), which used a previous version of the engine sim IL2 BoS. Trying different profiles should be very time consumming, so I will keep the blur effect disabled, this effect does not affect the gameplay.
Today I've started to fix Shadow Warrior, the DX11 version, with 3Dmigoto. I managed to put the HUD in the depth I wanted (the main reason was the crosshair, but the rest of the HUD and loading screens got moved too as a side effect), and I also moved the sun at the skybox depth (it was at the screen level). After that I made a convergence and HUD depth change when holding the middle mouse button (though I don't usually use the weapon zoom in this game).
According to this: http://wiki.bo3b.net/index.php?title=Levels_of_Fixing , I'm at the Begginer 2 stage. My next goal is isolating the crosshair from the rest of the HUD, fixing shadows (they are at screen depth) and some illumination.
I still haven't tried a level with water, so I don't know how the reflections are right now. Let's see what I can get done this week. I might get stuck with the shadows...
Edit: This morning I've made F1 to F4 HUD depth presets, inspired by the Borderlands 2 fix :p.
Today I've started to fix Shadow Warrior, the DX11 version, with 3Dmigoto. I managed to put the HUD in the depth I wanted (the main reason was the crosshair, but the rest of the HUD and loading screens got moved too as a side effect), and I also moved the sun at the skybox depth (it was at the screen level). After that I made a convergence and HUD depth change when holding the middle mouse button (though I don't usually use the weapon zoom in this game).
According to this: http://wiki.bo3b.net/index.php?title=Levels_of_Fixing , I'm at the Begginer 2 stage. My next goal is isolating the crosshair from the rest of the HUD, fixing shadows (they are at screen depth) and some illumination.
I still haven't tried a level with water, so I don't know how the reflections are right now. Let's see what I can get done this week. I might get stuck with the shadows...
Edit: This morning I've made F1 to F4 HUD depth presets, inspired by the Borderlands 2 fix :p.
I've been going through Bo3b's shaderhacker lessons and got stuck in Lesson 3. When I copy DX9Settings.ini over to enable the key toggle, it's not working. I've been able to turn off the bloom effect by setting the output to zero, but trying to use the if statement and it appears to be ineffective. Bloom is gone in game, but the effect is locked in fixed mode. No toggle ability. I've double and triple checked the syntax. Thoughts?
Edit: Nvmd got it working finally. Apparently F10 updates the shaders after you save changes, but to get DX9Settings.ini working, you have to restart the game. I thought I'd restarted it already, but for whatever reason now the toggle's working. Thanks for these lessons, Bo3b! My goal is to fix LoL and Civ4
I've been going through Bo3b's shaderhacker lessons and got stuck in Lesson 3. When I copy DX9Settings.ini over to enable the key toggle, it's not working. I've been able to turn off the bloom effect by setting the output to zero, but trying to use the if statement and it appears to be ineffective. Bloom is gone in game, but the effect is locked in fixed mode. No toggle ability. I've double and triple checked the syntax. Thoughts?
Edit: Nvmd got it working finally. Apparently F10 updates the shaders after you save changes, but to get DX9Settings.ini working, you have to restart the game. I thought I'd restarted it already, but for whatever reason now the toggle's working. Thanks for these lessons, Bo3b! My goal is to fix LoL and Civ4
Asus PG278Q ROG Swift (1440p) - Win 7 SP1 - 3D Vision 2 - Driver 355.98
EVGA GTX 980 Ti SC+ ACX2.0+ @ 1278 Mhz - i5-4690K @ 4.4GHz
Cougar MX500 - MSI Z97 G45 - 16GB RAM - Win7x64 - 512GB SSD - 3TB HD
Help with lesson 4 guys. Can't get a second key to work (trying to use presets 3 and 4 with Const 2 = c220.y). Here's my DX9Settings.ini:
[General]
UseRenderedShaders=true
DumpAll=false
DefVSConst1 = 220
DefPSConst1 = 220
PresetsKeysList = 1;2;
[KEY1]
Key = 96
Presets = 1;2;
Type = 1
[KEY2]
Key = 8 // Backspace
Presets = 3;4;
Type = 1
[PRES1]
Const1 = 0x3f800000
[PRES2]
UseByDef=True
Const1 = 0x00000000
[PRES3]
Const2 = 0x3f800000
[PRES4]
UseByDef=True
Const2 = 0x00000000
Then in the shaders I'm writing:
// Toggle fog
mov r30.x, c220.y
if_eq r30.x, c200.x
mov oC0.xyzw, c200.xxxx
endif
The 1st key still works fine to toggle the bloom. Can't get the 2nd key to toggle the fog. What am I missing?
Great to see both of you picking up shaderhacking! You are definitely on the right track.
@Westbrook348: Just as a quick look there, I think the problem is that you cannot use the comment on the line with the Key = 8. This is one of those weird HelixMod gotchas that is annoying. Inline comments are normally legal, but they make HelixMod misfire and skip the line altogether.
[url]http://wiki.bo3b.net/index.php?title=HelixMod_Feature_List#HelixMod[/url]
If that doesn't seem to be it, try some experiments to narrow down the problem.
Great to see both of you picking up shaderhacking! You are definitely on the right track.
@Westbrook348: Just as a quick look there, I think the problem is that you cannot use the comment on the line with the Key = 8. This is one of those weird HelixMod gotchas that is annoying. Inline comments are normally legal, but they make HelixMod misfire and skip the line altogether.
I have an idea for the shadows. Do you think dumping the DX9 vertex shader for the shadows will help me fix the DX11 shader (see how they do it correctly, what's missing in DX11, etc)?
I didn't have time to try it this morning, and I'll be home late today, so it doesn't hurt to ask before I'm in front of my PC.
By the way, I've been looking at some other shader fixes, and none of them had commented lines in the shaders. I put a title at the top of each one to know what they do. Maybe they uncomment them before release, I don't know.
I have an idea for the shadows. Do you think dumping the DX9 vertex shader for the shadows will help me fix the DX11 shader (see how they do it correctly, what's missing in DX11, etc)?
I didn't have time to try it this morning, and I'll be home late today, so it doesn't hurt to ask before I'm in front of my PC.
By the way, I've been looking at some other shader fixes, and none of them had commented lines in the shaders. I put a title at the top of each one to know what they do. Maybe they uncomment them before release, I don't know.
[quote=""]I have an idea for the shadows. Do you think dumping the DX9 vertex shader for the shadows will help me fix the DX11 shader (see how they do it correctly, what's missing in DX11, etc)?
I didn't have time to try it this morning, and I'll be home late today, so it doesn't hurt to ask before I'm in front of my PC.
By the way, I've been looking at some other shader fixes, and none of them had commented lines in the shaders. I put a title at the top of each one to know what they do. Maybe they uncomment them before release, I don't know.[/quote]
That's not a bad idea, but I think it will be unlikely to help. Depending upon how much work they put into the DX11 version. In general the DX11 shaders are completely different than prior versions. There are probably exceptions where they just convert to DX11 for marketing reasons however.
The most common change that we've seen is to go from simpler shadows in DX9 to fully deferred rendering in DX11. Once they go to deferred rendering, that typically pushes the shadows into the PS with a depth/projection analysis there that misfires because of stereo. This technique was used in DX9, but not nearly as much.
So unless there was specific support for 3D in the original game, this DX9 to DX11 comparison is unlikely to yield any benefits.
But.... It's still worth a try. Because I don't think anyone has done this exact comparison, so you may hit upon something we've never seen before. Please post your results either good or bad.
For the missing comments- yep, that is [i]exactly[/i] why I spend so much time emphasizing comments. Anyone coming in now, including the original author, has absolutely no idea what that shader does.
Just one tiny comment takes it from useless to helping another fix, even extending that current fix for newfound problems. We don't remove comments as part of shipping a fix.
I'll reemphasize, comments are worth your time.
said:I have an idea for the shadows. Do you think dumping the DX9 vertex shader for the shadows will help me fix the DX11 shader (see how they do it correctly, what's missing in DX11, etc)?
I didn't have time to try it this morning, and I'll be home late today, so it doesn't hurt to ask before I'm in front of my PC.
By the way, I've been looking at some other shader fixes, and none of them had commented lines in the shaders. I put a title at the top of each one to know what they do. Maybe they uncomment them before release, I don't know.
That's not a bad idea, but I think it will be unlikely to help. Depending upon how much work they put into the DX11 version. In general the DX11 shaders are completely different than prior versions. There are probably exceptions where they just convert to DX11 for marketing reasons however.
The most common change that we've seen is to go from simpler shadows in DX9 to fully deferred rendering in DX11. Once they go to deferred rendering, that typically pushes the shadows into the PS with a depth/projection analysis there that misfires because of stereo. This technique was used in DX9, but not nearly as much.
So unless there was specific support for 3D in the original game, this DX9 to DX11 comparison is unlikely to yield any benefits.
But.... It's still worth a try. Because I don't think anyone has done this exact comparison, so you may hit upon something we've never seen before. Please post your results either good or bad.
For the missing comments- yep, that is exactly why I spend so much time emphasizing comments. Anyone coming in now, including the original author, has absolutely no idea what that shader does.
Just one tiny comment takes it from useless to helping another fix, even extending that current fix for newfound problems. We don't remove comments as part of shipping a fix.
I'll reemphasize, comments are worth your time.
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
Thanks for your input, bo3b!
Shadow Warrior has a stereoscopic 3D checkbox in the options in the DX9 version, and it looks perfect without the need of fixes. So I think they specifically made 3D work fine.
About the comments, I was looking for an example about stereo correction for shadows. But looking at hundreds of files with no titles or comments makes it impossible. But I just looked at two or three of fixes. Maybe other fixes are tidier. Edit: and I can also hunt a vertex shader that I know it's fixed to get the hash.
Shadow Warrior has a stereoscopic 3D checkbox in the options in the DX9 version, and it looks perfect without the need of fixes. So I think they specifically made 3D work fine.
About the comments, I was looking for an example about stereo correction for shadows. But looking at hundreds of files with no titles or comments makes it impossible. But I just looked at two or three of fixes. Maybe other fixes are tidier. Edit: and I can also hunt a vertex shader that I know it's fixed to get the hash.
Thanks Bo3b! getting rid of the inline comment seems to have done the trick. I completed the 6 lessons and learned a lot. I appreciate your time spent putting everything together. The final quiz was to fix the oil effect, but when I edited the vertex shader to fix the lava in the same room, it improved the problems with the oil too.
I went back to the first shader fix of the game, where we disabled the bloom light, and tried to "fix" the effect instead of disabling it. Haven't gotten it so far.
Now that I've finished my Ball lessons, I'm hoping to fix the UI on LoL and Civ4. Specifically, move health bars and cursors to the proper depth. This wasn't specifically addressed in any of the lessons, other than talking about how to use the prime directive to adjust the x variables. Bo3b do you have any more resources I can read or watch specifically on fixing HUDs? You mentioned that it was one of the easier fixes to do. Each element will need a different depth that dynamically changes based on the cursor position or the depth of the element associated with the label, right? Or do you just pick a value and push everything deep enough that things are improved but not necessarily perfect?
Thanks Bo3b! getting rid of the inline comment seems to have done the trick. I completed the 6 lessons and learned a lot. I appreciate your time spent putting everything together. The final quiz was to fix the oil effect, but when I edited the vertex shader to fix the lava in the same room, it improved the problems with the oil too.
I went back to the first shader fix of the game, where we disabled the bloom light, and tried to "fix" the effect instead of disabling it. Haven't gotten it so far.
Now that I've finished my Ball lessons, I'm hoping to fix the UI on LoL and Civ4. Specifically, move health bars and cursors to the proper depth. This wasn't specifically addressed in any of the lessons, other than talking about how to use the prime directive to adjust the x variables. Bo3b do you have any more resources I can read or watch specifically on fixing HUDs? You mentioned that it was one of the easier fixes to do. Each element will need a different depth that dynamically changes based on the cursor position or the depth of the element associated with the label, right? Or do you just pick a value and push everything deep enough that things are improved but not necessarily perfect?
Asus PG278Q ROG Swift (1440p) - Win 7 SP1 - 3D Vision 2 - Driver 355.98
EVGA GTX 980 Ti SC+ ACX2.0+ @ 1278 Mhz - i5-4690K @ 4.4GHz
Cougar MX500 - MSI Z97 G45 - 16GB RAM - Win7x64 - 512GB SSD - 3TB HD
[quote=""]Thanks for your input, bo3b!
Shadow Warrior has a stereoscopic 3D checkbox in the options in the DX9 version, and it looks perfect without the need of fixes. So I think they specifically made 3D work fine.
About the comments, I was looking for an example about stereo correction for shadows. But looking at hundreds of files with no titles or comments makes it impossible. But I just looked at two or three of fixes. Maybe other fixes are tidier. Edit: and I can also hunt a vertex shader that I know it's fixed to get the hash.[/quote]
OK, cool. Since the DX9 version has built in stereo correction, you might very well learn more about what is needed there for DX11. Most likely they just did not bring forward the stereo correction to the DX11 version, as most developers lost interest.
They might still be totally different shaders, but if you can hunt the same shadow in two cases it would definitely be worth comparing them.
Especially look at pixel shaders, as that is generally where shadows are being done. And, focus up shaders that transmit light. One tricky part of shadows is that you can often find a shader that 'disables' shadows, but those will typically be a shadow-mask and only tangentially related to the effect you want. You generally want to find something that removes shadows but also removes all directed light, leaving only ambient light.
Shadow Warrior has a stereoscopic 3D checkbox in the options in the DX9 version, and it looks perfect without the need of fixes. So I think they specifically made 3D work fine.
About the comments, I was looking for an example about stereo correction for shadows. But looking at hundreds of files with no titles or comments makes it impossible. But I just looked at two or three of fixes. Maybe other fixes are tidier. Edit: and I can also hunt a vertex shader that I know it's fixed to get the hash.
OK, cool. Since the DX9 version has built in stereo correction, you might very well learn more about what is needed there for DX11. Most likely they just did not bring forward the stereo correction to the DX11 version, as most developers lost interest.
They might still be totally different shaders, but if you can hunt the same shadow in two cases it would definitely be worth comparing them.
Especially look at pixel shaders, as that is generally where shadows are being done. And, focus up shaders that transmit light. One tricky part of shadows is that you can often find a shader that 'disables' shadows, but those will typically be a shadow-mask and only tangentially related to the effect you want. You generally want to find something that removes shadows but also removes all directed light, leaving only ambient light.
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=""]Thanks Bo3b! getting rid of the inline comment seems to have done the trick. I completed the 6 lessons and learned a lot. I appreciate your time spent putting everything together. The final quiz was to fix the oil effect, but when I edited the vertex shader to fix the lava in the same room, it improved the problems with the oil too.
I went back to the first shader fix of the game, where we disabled the bloom light, and tried to "fix" the effect instead of disabling it. Haven't gotten it so far.
Now that I've finished my Ball lessons, I'm hoping to fix the UI on LoL and Civ4. Specifically, move health bars and cursors to the proper depth. This wasn't specifically addressed in any of the lessons, other than talking about how to use the prime directive to adjust the x variables. Bo3b do you have any more resources I can read or watch specifically on fixing HUDs? You mentioned that it was one of the easier fixes to do. Each element will need a different depth that dynamically changes based on the cursor position or the depth of the element associated with the label, right? Or do you just pick a value and push everything deep enough that things are improved but not necessarily perfect?[/quote]
I don't have anything further as far as lessons, although I do hope to get back to presenting some specific techniques at some point.
Next best is to look at previous fixes to see how other people have done them. This is a great resource for learning how to fix new ones.
I can offer two that I've help fix, and are fully commented.
[url]https://github.com/bo3b/3Dmigoto/tree/master/Alien[/url]
[url]https://github.com/bo3b/3Dmigoto/tree/master/Mordor[/url]
The Alien one is a lot simpler for HUD changes, the Mordor one is quite extensive because of all the pieces involved in the HUD and the interactions between pieces.
Start by looking at the iniParams.x value both in the d3dx.ini file, and see how it is used in the shaders themselves in ShaderFixes folder. (Ignore the shaders in the root folder there, those are for my benefit to fix Decompiler problems.)
For Mordor, you can see the use of the F2 key to cycle through different depths of HUD, and see how that happens in the vertex shaders.
Lastly, there are two features of 3Dmigoto that can help with HUD management if the pieces interact too much with game elements.
There is an older iterations mechanism for this job that Chiri implemented, but I don't think has been used to date.
DarkStarSword also added a new mechanism that does the same job, but by filtering texures directly. See the FC4 fix if you think this is the way to go.
I'd recommend trying to fix it first without, as I like to only use complicated techniques when other stuff doesn't work.
said:Thanks Bo3b! getting rid of the inline comment seems to have done the trick. I completed the 6 lessons and learned a lot. I appreciate your time spent putting everything together. The final quiz was to fix the oil effect, but when I edited the vertex shader to fix the lava in the same room, it improved the problems with the oil too.
I went back to the first shader fix of the game, where we disabled the bloom light, and tried to "fix" the effect instead of disabling it. Haven't gotten it so far.
Now that I've finished my Ball lessons, I'm hoping to fix the UI on LoL and Civ4. Specifically, move health bars and cursors to the proper depth. This wasn't specifically addressed in any of the lessons, other than talking about how to use the prime directive to adjust the x variables. Bo3b do you have any more resources I can read or watch specifically on fixing HUDs? You mentioned that it was one of the easier fixes to do. Each element will need a different depth that dynamically changes based on the cursor position or the depth of the element associated with the label, right? Or do you just pick a value and push everything deep enough that things are improved but not necessarily perfect?
I don't have anything further as far as lessons, although I do hope to get back to presenting some specific techniques at some point.
Next best is to look at previous fixes to see how other people have done them. This is a great resource for learning how to fix new ones.
I can offer two that I've help fix, and are fully commented.
The Alien one is a lot simpler for HUD changes, the Mordor one is quite extensive because of all the pieces involved in the HUD and the interactions between pieces.
Start by looking at the iniParams.x value both in the d3dx.ini file, and see how it is used in the shaders themselves in ShaderFixes folder. (Ignore the shaders in the root folder there, those are for my benefit to fix Decompiler problems.)
For Mordor, you can see the use of the F2 key to cycle through different depths of HUD, and see how that happens in the vertex shaders.
Lastly, there are two features of 3Dmigoto that can help with HUD management if the pieces interact too much with game elements.
There is an older iterations mechanism for this job that Chiri implemented, but I don't think has been used to date.
DarkStarSword also added a new mechanism that does the same job, but by filtering texures directly. See the FC4 fix if you think this is the way to go.
I'd recommend trying to fix it first without, as I like to only use complicated techniques when other stuff doesn't work.
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
Thanks Bo3b! I'm looking through the Alien fixes now. I like the idea of cycling through different depths, if the game isn't able to dynamically adjust it to the proper depth.
Sorry for giving you such basic questions. There's a fair amount of info out there if you dig, but it's prety overwhelming for those of us just getting our feet wet. That's why your lessons were so helpful.
Couple questions: 3Dmigoto is a new version of Helixmod for DX11? Whereas I use Helixmod d3d9.dll from your lessons for DX9 games?
I was trying to fix LoL but have kind of hit a wall so I thought maybe Civ 4 would be a little bit easier to fix. The problem with Civ 4 is that the cursor and certain labels are rendered at screen depth. I tried to cycle through the shaders and there are only about 10-15 each of vertex and pixel shaders. None of them affected the floating labels, or the cursor, or the nametags of the cities which are also rendered at the wrong depth. I went looking in the dump folder thinking maybe there'd be something in there, but if the labels are being rendered, wouldn't one of the few shaders that's running be associated with it? Might just have to use trial and error, but so far I've found nothing.
That brings me to another question. For cursors, I'm not seeing any of the shaders interacting with cursors. Generally how do you adjust their depth, if cycling through shaders seems to have no effect on cursors?
Sorry for the basic questions. Seems I need a lot of handholding. I was excited to be able to fix the Ball, but going off on my own to fix new games has been discouraging.
Thanks Bo3b! I'm looking through the Alien fixes now. I like the idea of cycling through different depths, if the game isn't able to dynamically adjust it to the proper depth.
Sorry for giving you such basic questions. There's a fair amount of info out there if you dig, but it's prety overwhelming for those of us just getting our feet wet. That's why your lessons were so helpful.
Couple questions: 3Dmigoto is a new version of Helixmod for DX11? Whereas I use Helixmod d3d9.dll from your lessons for DX9 games?
I was trying to fix LoL but have kind of hit a wall so I thought maybe Civ 4 would be a little bit easier to fix. The problem with Civ 4 is that the cursor and certain labels are rendered at screen depth. I tried to cycle through the shaders and there are only about 10-15 each of vertex and pixel shaders. None of them affected the floating labels, or the cursor, or the nametags of the cities which are also rendered at the wrong depth. I went looking in the dump folder thinking maybe there'd be something in there, but if the labels are being rendered, wouldn't one of the few shaders that's running be associated with it? Might just have to use trial and error, but so far I've found nothing.
That brings me to another question. For cursors, I'm not seeing any of the shaders interacting with cursors. Generally how do you adjust their depth, if cycling through shaders seems to have no effect on cursors?
Sorry for the basic questions. Seems I need a lot of handholding. I was excited to be able to fix the Ball, but going off on my own to fix new games has been discouraging.
Asus PG278Q ROG Swift (1440p) - Win 7 SP1 - 3D Vision 2 - Driver 355.98
EVGA GTX 980 Ti SC+ ACX2.0+ @ 1278 Mhz - i5-4690K @ 4.4GHz
Cougar MX500 - MSI Z97 G45 - 16GB RAM - Win7x64 - 512GB SSD - 3TB HD
Anyway, your wise advices allow me too fix all the remainging anoying bugs, instead of disabling them.
So many thanks, IL2 BoS is now nearly perfect in 3Dvision. I updated the fix in the Helix mod blog.
The shader create blur around fire, but is not rendered equally on each eye. For example, on this screenshot there is blur at the left on the left engine, but you can only see it with the left eye.
I tried to use the prime primitive on each output of the shader, but without success...sometime I had blur on each eye, but not the same, and I am not sure that it was linked to my modification !
This is not an essential effect and for the moment I will disable it, but if you have some ideas for this kind of problems...
I'd try different profiles to see if something fixes the problem, maybe try different settings for the StereoTextureEnable bits in the profile.
Barring that, this will be extremely hard/impossible to fix. Since it's a smallish effect, I think the easiest path is to just disable the effect. This effect is not likely a water effect that impacts the whole game, but it's always a judgment call on how much you want it.
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 used the profile for the previous sim of 777 (Rise Of Flight), which used a previous version of the engine sim IL2 BoS. Trying different profiles should be very time consumming, so I will keep the blur effect disabled, this effect does not affect the gameplay.
According to this: http://wiki.bo3b.net/index.php?title=Levels_of_Fixing , I'm at the Begginer 2 stage. My next goal is isolating the crosshair from the rest of the HUD, fixing shadows (they are at screen depth) and some illumination.
I still haven't tried a level with water, so I don't know how the reflections are right now. Let's see what I can get done this week. I might get stuck with the shadows...
Edit: This morning I've made F1 to F4 HUD depth presets, inspired by the Borderlands 2 fix :p.
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
Edit: Nvmd got it working finally. Apparently F10 updates the shaders after you save changes, but to get DX9Settings.ini working, you have to restart the game. I thought I'd restarted it already, but for whatever reason now the toggle's working. Thanks for these lessons, Bo3b! My goal is to fix LoL and Civ4
Asus PG278Q ROG Swift (1440p) - Win 7 SP1 - 3D Vision 2 - Driver 355.98
EVGA GTX 980 Ti SC+ ACX2.0+ @ 1278 Mhz - i5-4690K @ 4.4GHz
Cougar MX500 - MSI Z97 G45 - 16GB RAM - Win7x64 - 512GB SSD - 3TB HD
[General]
UseRenderedShaders=true
DumpAll=false
DefVSConst1 = 220
DefPSConst1 = 220
PresetsKeysList = 1;2;
[KEY1]
Key = 96
Presets = 1;2;
Type = 1
[KEY2]
Key = 8 // Backspace
Presets = 3;4;
Type = 1
[PRES1]
Const1 = 0x3f800000
[PRES2]
UseByDef=True
Const1 = 0x00000000
[PRES3]
Const2 = 0x3f800000
[PRES4]
UseByDef=True
Const2 = 0x00000000
Then in the shaders I'm writing:
// Toggle fog
mov r30.x, c220.y
if_eq r30.x, c200.x
mov oC0.xyzw, c200.xxxx
endif
The 1st key still works fine to toggle the bloom. Can't get the 2nd key to toggle the fog. What am I missing?
Asus PG278Q ROG Swift (1440p) - Win 7 SP1 - 3D Vision 2 - Driver 355.98
EVGA GTX 980 Ti SC+ ACX2.0+ @ 1278 Mhz - i5-4690K @ 4.4GHz
Cougar MX500 - MSI Z97 G45 - 16GB RAM - Win7x64 - 512GB SSD - 3TB HD
@Westbrook348: Just as a quick look there, I think the problem is that you cannot use the comment on the line with the Key = 8. This is one of those weird HelixMod gotchas that is annoying. Inline comments are normally legal, but they make HelixMod misfire and skip the line altogether.
http://wiki.bo3b.net/index.php?title=HelixMod_Feature_List#HelixMod
If that doesn't seem to be it, try some experiments to narrow down 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
I didn't have time to try it this morning, and I'll be home late today, so it doesn't hurt to ask before I'm in front of my PC.
By the way, I've been looking at some other shader fixes, and none of them had commented lines in the shaders. I put a title at the top of each one to know what they do. Maybe they uncomment them before release, I don't know.
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
That's not a bad idea, but I think it will be unlikely to help. Depending upon how much work they put into the DX11 version. In general the DX11 shaders are completely different than prior versions. There are probably exceptions where they just convert to DX11 for marketing reasons however.
The most common change that we've seen is to go from simpler shadows in DX9 to fully deferred rendering in DX11. Once they go to deferred rendering, that typically pushes the shadows into the PS with a depth/projection analysis there that misfires because of stereo. This technique was used in DX9, but not nearly as much.
So unless there was specific support for 3D in the original game, this DX9 to DX11 comparison is unlikely to yield any benefits.
But.... It's still worth a try. Because I don't think anyone has done this exact comparison, so you may hit upon something we've never seen before. Please post your results either good or bad.
For the missing comments- yep, that is exactly why I spend so much time emphasizing comments. Anyone coming in now, including the original author, has absolutely no idea what that shader does.
Just one tiny comment takes it from useless to helping another fix, even extending that current fix for newfound problems. We don't remove comments as part of shipping a fix.
I'll reemphasize, comments are worth your time.
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
Shadow Warrior has a stereoscopic 3D checkbox in the options in the DX9 version, and it looks perfect without the need of fixes. So I think they specifically made 3D work fine.
About the comments, I was looking for an example about stereo correction for shadows. But looking at hundreds of files with no titles or comments makes it impossible. But I just looked at two or three of fixes. Maybe other fixes are tidier. Edit: and I can also hunt a vertex shader that I know it's fixed to get the hash.
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
I went back to the first shader fix of the game, where we disabled the bloom light, and tried to "fix" the effect instead of disabling it. Haven't gotten it so far.
Now that I've finished my Ball lessons, I'm hoping to fix the UI on LoL and Civ4. Specifically, move health bars and cursors to the proper depth. This wasn't specifically addressed in any of the lessons, other than talking about how to use the prime directive to adjust the x variables. Bo3b do you have any more resources I can read or watch specifically on fixing HUDs? You mentioned that it was one of the easier fixes to do. Each element will need a different depth that dynamically changes based on the cursor position or the depth of the element associated with the label, right? Or do you just pick a value and push everything deep enough that things are improved but not necessarily perfect?
Asus PG278Q ROG Swift (1440p) - Win 7 SP1 - 3D Vision 2 - Driver 355.98
EVGA GTX 980 Ti SC+ ACX2.0+ @ 1278 Mhz - i5-4690K @ 4.4GHz
Cougar MX500 - MSI Z97 G45 - 16GB RAM - Win7x64 - 512GB SSD - 3TB HD
OK, cool. Since the DX9 version has built in stereo correction, you might very well learn more about what is needed there for DX11. Most likely they just did not bring forward the stereo correction to the DX11 version, as most developers lost interest.
They might still be totally different shaders, but if you can hunt the same shadow in two cases it would definitely be worth comparing them.
Especially look at pixel shaders, as that is generally where shadows are being done. And, focus up shaders that transmit light. One tricky part of shadows is that you can often find a shader that 'disables' shadows, but those will typically be a shadow-mask and only tangentially related to the effect you want. You generally want to find something that removes shadows but also removes all directed light, leaving only ambient light.
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 don't have anything further as far as lessons, although I do hope to get back to presenting some specific techniques at some point.
Next best is to look at previous fixes to see how other people have done them. This is a great resource for learning how to fix new ones.
I can offer two that I've help fix, and are fully commented.
https://github.com/bo3b/3Dmigoto/tree/master/Alien
https://github.com/bo3b/3Dmigoto/tree/master/Mordor
The Alien one is a lot simpler for HUD changes, the Mordor one is quite extensive because of all the pieces involved in the HUD and the interactions between pieces.
Start by looking at the iniParams.x value both in the d3dx.ini file, and see how it is used in the shaders themselves in ShaderFixes folder. (Ignore the shaders in the root folder there, those are for my benefit to fix Decompiler problems.)
For Mordor, you can see the use of the F2 key to cycle through different depths of HUD, and see how that happens in the vertex shaders.
Lastly, there are two features of 3Dmigoto that can help with HUD management if the pieces interact too much with game elements.
There is an older iterations mechanism for this job that Chiri implemented, but I don't think has been used to date.
DarkStarSword also added a new mechanism that does the same job, but by filtering texures directly. See the FC4 fix if you think this is the way to go.
I'd recommend trying to fix it first without, as I like to only use complicated techniques when other stuff doesn't work.
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 for giving you such basic questions. There's a fair amount of info out there if you dig, but it's prety overwhelming for those of us just getting our feet wet. That's why your lessons were so helpful.
Couple questions: 3Dmigoto is a new version of Helixmod for DX11? Whereas I use Helixmod d3d9.dll from your lessons for DX9 games?
I was trying to fix LoL but have kind of hit a wall so I thought maybe Civ 4 would be a little bit easier to fix. The problem with Civ 4 is that the cursor and certain labels are rendered at screen depth. I tried to cycle through the shaders and there are only about 10-15 each of vertex and pixel shaders. None of them affected the floating labels, or the cursor, or the nametags of the cities which are also rendered at the wrong depth. I went looking in the dump folder thinking maybe there'd be something in there, but if the labels are being rendered, wouldn't one of the few shaders that's running be associated with it? Might just have to use trial and error, but so far I've found nothing.
That brings me to another question. For cursors, I'm not seeing any of the shaders interacting with cursors. Generally how do you adjust their depth, if cycling through shaders seems to have no effect on cursors?
Sorry for the basic questions. Seems I need a lot of handholding. I was excited to be able to fix the Ball, but going off on my own to fix new games has been discouraging.
Asus PG278Q ROG Swift (1440p) - Win 7 SP1 - 3D Vision 2 - Driver 355.98
EVGA GTX 980 Ti SC+ ACX2.0+ @ 1278 Mhz - i5-4690K @ 4.4GHz
Cougar MX500 - MSI Z97 G45 - 16GB RAM - Win7x64 - 512GB SSD - 3TB HD