3Dmigoto now open-source...
  23 / 141    
[quote="DarkStarSword"][quote="bo3b"]Of note, DXGI is fully alive again, and fully wrapped.[/quote]Sweet :) No Win 8 / evil update stability issues this time? [quote]Also includes a new hunting on/off toggle key to allow you to play at full speed, then enable the hunting+overlay when you like.[/quote]I'd been thinking about adding the same thing :) Are there any problems with shaders created during play mode not being dumpable/replaceable after switching to hunting mode?[/quote] Don't know about Win8 or 8.1 yet. Others will have to try it. I think this approach no longer makes the DXGI call that was questionable, but to be honest, I can't remember the details of that crash. I do know that I have the evil KB installed here and it's working correctly, whereas before it would crash. I expect that we might see some problems with misloaded shaders, I haven't quite finished that update. My plan is to always load the shaders and remove the need for partial loading, as the memory usage is really minimal for all this stuff- it's the CPU usage that causes us problems. So unless you think it would be bad, I think we can simplify this path to always have shaders loaded and available for replacement, so sort of a hybrid always-on model.
DarkStarSword said:
bo3b said:Of note, DXGI is fully alive again, and fully wrapped.
Sweet :) No Win 8 / evil update stability issues this time?

Also includes a new hunting on/off toggle key to allow you to play at full speed, then enable the hunting+overlay when you like.
I'd been thinking about adding the same thing :) Are there any problems with shaders created during play mode not being dumpable/replaceable after switching to hunting mode?

Don't know about Win8 or 8.1 yet. Others will have to try it. I think this approach no longer makes the DXGI call that was questionable, but to be honest, I can't remember the details of that crash. I do know that I have the evil KB installed here and it's working correctly, whereas before it would crash.

I expect that we might see some problems with misloaded shaders, I haven't quite finished that update. My plan is to always load the shaders and remove the need for partial loading, as the memory usage is really minimal for all this stuff- it's the CPU usage that causes us problems.

So unless you think it would be bad, I think we can simplify this path to always have shaders loaded and available for replacement, so sort of a hybrid always-on model.

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

Posted 04/28/2015 11:29 PM   
[quote="bo3b"]I expect that we might see some problems with misloaded shaders, I haven't quite finished that update. My plan is to always load the shaders and remove the need for partial loading, as the memory usage is really minimal for all this stuff- it's the CPU usage that causes us problems. So unless you think it would be bad, I think we can simplify this path to always have shaders loaded and available for replacement, so sort of a hybrid always-on model.[/quote] Sounds good to me :)
bo3b said:I expect that we might see some problems with misloaded shaders, I haven't quite finished that update. My plan is to always load the shaders and remove the need for partial loading, as the memory usage is really minimal for all this stuff- it's the CPU usage that causes us problems.

So unless you think it would be bad, I think we can simplify this path to always have shaders loaded and available for replacement, so sort of a hybrid always-on model.

Sounds good to me :)

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

Posted 04/29/2015 06:17 AM   
OK, I'm having some trouble with GTA5 crashing w5th 3Dmigoto, but fixed a few problems, and now it's mostly working here too. We don't presently have anything specific we need to fix I think, but a different modder (Voodooman) wanted to make a no-UI version using 3Dmigoto, so it was worth taking a look. Running now with an overlay. Pretty experimental version with restructured code base, and overlay: [url]https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.1.zip[/url] Please feel free to give it a try, and let me know if it works or does not. I also tried it on Mordor and Alien and it's working smoothly there. Looks like this in GTA5, where I've found the sky and turned it off, and found Franklin's body and turned it off. [img]http://sg.bo3b.net/gtav/GTA557_85.jps[/img]
OK, I'm having some trouble with GTA5 crashing w5th 3Dmigoto, but fixed a few problems, and now it's mostly working here too. We don't presently have anything specific we need to fix I think, but a different modder (Voodooman) wanted to make a no-UI version using 3Dmigoto, so it was worth taking a look.

Running now with an overlay. Pretty experimental version with restructured code base, and overlay:

https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.1.zip

Please feel free to give it a try, and let me know if it works or does not. I also tried it on Mordor and Alien and it's working smoothly there.


Looks like this in GTA5, where I've found the sky and turned it off, and found Franklin's body and turned it off.

Image

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

Posted 04/29/2015 09:41 PM   
[quote="bo3b"]We don't presently have anything specific we need to fix I think, but a different modder (Voodooman) wanted to make a no-UI version using 3Dmigoto, so it was worth taking a look.[/quote] This is where a toggle on/off function would be very handy, then you could create HUD toggles for games with 3Dmigoto. Do you think that would be possible somehow?
bo3b said:We don't presently have anything specific we need to fix I think, but a different modder (Voodooman) wanted to make a no-UI version using 3Dmigoto, so it was worth taking a look.


This is where a toggle on/off function would be very handy, then you could create HUD toggles for games with 3Dmigoto.

Do you think that would be possible somehow?

1080 Ti - i7 5820k - 16Gb RAM - Win 10 version 1607 - ASUS VG236H (1920x1080@120Hz)

Posted 05/02/2015 05:37 PM   
[quote="Jan-Itor"][quote="bo3b"]We don't presently have anything specific we need to fix I think, but a different modder (Voodooman) wanted to make a no-UI version using 3Dmigoto, so it was worth taking a look.[/quote] This is where a toggle on/off function would be very handy, then you could create HUD toggles for games with 3Dmigoto. Do you think that would be possible somehow?[/quote] Yes, already possible. :-> We have full key support for any key you like, including XBox controllers, and any mouse buttons. Look in the d3dx.ini file, and find the section for [Key*], and you can get a good idea. In the shaders themselves, it's fairly easy to look for a given x,y,z,w constant param and change behavior. For examples of these in use, look at the FC4 shaders here: [url]https://github.com/bo3b/3Dmigoto/tree/master/FC4/ShaderFixes[/url] Not specifically for HUD toggle, but you'll see how to use x,y,z,w and set up key overrides. I'm also going to tweak Mordor as I'm playing it now, and I think I'll make HUDless option there, as it's got waaay too much onscreen.
Jan-Itor said:
bo3b said:We don't presently have anything specific we need to fix I think, but a different modder (Voodooman) wanted to make a no-UI version using 3Dmigoto, so it was worth taking a look.

This is where a toggle on/off function would be very handy, then you could create HUD toggles for games with 3Dmigoto.

Do you think that would be possible somehow?

Yes, already possible. :-> We have full key support for any key you like, including XBox controllers, and any mouse buttons.

Look in the d3dx.ini file, and find the section for [Key*], and you can get a good idea. In the shaders themselves, it's fairly easy to look for a given x,y,z,w constant param and change behavior.

For examples of these in use, look at the FC4 shaders here: https://github.com/bo3b/3Dmigoto/tree/master/FC4/ShaderFixes Not specifically for HUD toggle, but you'll see how to use x,y,z,w and set up key overrides.


I'm also going to tweak Mordor as I'm playing it now, and I think I'll make HUDless option there, as it's got waaay too much onscreen.

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

Posted 05/03/2015 01:18 AM   
[quote="bo3b"] Yes, already possible. :-> We have full key support for any key you like, including XBox controllers, and any mouse buttons. Look in the d3dx.ini file, and find the section for [Key*], and you can get a good idea. In the shaders themselves, it's fairly easy to look for a given x,y,z,w constant param and change behavior. For examples of these in use, look at the FC4 shaders here: [url]https://github.com/bo3b/3Dmigoto/tree/master/FC4/ShaderFixes[/url] Not specifically for HUD toggle, but you'll see how to use x,y,z,w and set up key overrides. I'm also going to tweak Mordor as I'm playing it now, and I think I'll make HUDless option there, as it's got waaay too much onscreen.[/quote] Oh cool. But I am more of a "monkey see, monkey do" type of guy so I don't really understand what you mean there :P Could you give me a quick tutorial of how exactly you set would this up? For example with helixmod I used [url=https://forums.geforce.com/default/topic/513190/3d-vision/how-to-fix-disable-shaders-in-games-dll-guide-and-fixes-/post/3944519/#3944519]this[/url] method
bo3b said:
Yes, already possible. :-> We have full key support for any key you like, including XBox controllers, and any mouse buttons.

Look in the d3dx.ini file, and find the section for [Key*], and you can get a good idea. In the shaders themselves, it's fairly easy to look for a given x,y,z,w constant param and change behavior.

For examples of these in use, look at the FC4 shaders here: https://github.com/bo3b/3Dmigoto/tree/master/FC4/ShaderFixes Not specifically for HUD toggle, but you'll see how to use x,y,z,w and set up key overrides.


I'm also going to tweak Mordor as I'm playing it now, and I think I'll make HUDless option there, as it's got waaay too much onscreen.


Oh cool. But I am more of a "monkey see, monkey do" type of guy so I don't really understand what you mean there :P

Could you give me a quick tutorial of how exactly you set would this up? For example with helixmod I used this method

1080 Ti - i7 5820k - 16Gb RAM - Win 10 version 1607 - ASUS VG236H (1920x1080@120Hz)

Posted 05/03/2015 03:21 PM   
[quote="Jan-Itor"][quote="bo3b"] Yes, already possible. :-> We have full key support for any key you like, including XBox controllers, and any mouse buttons. Look in the d3dx.ini file, and find the section for [Key*], and you can get a good idea. In the shaders themselves, it's fairly easy to look for a given x,y,z,w constant param and change behavior. For examples of these in use, look at the FC4 shaders here: [url]https://github.com/bo3b/3Dmigoto/tree/master/FC4/ShaderFixes[/url] Not specifically for HUD toggle, but you'll see how to use x,y,z,w and set up key overrides. I'm also going to tweak Mordor as I'm playing it now, and I think I'll make HUDless option there, as it's got waaay too much onscreen.[/quote] Oh cool. But I am more of a "monkey see, monkey do" type of guy so I don't really understand what you mean there :P Could you give me a quick tutorial of how exactly you set would this up? For example with helixmod I used [url=https://forums.geforce.com/default/topic/513190/3d-vision/how-to-fix-disable-shaders-in-games-dll-guide-and-fixes-/post/3944519/#3944519]this[/url] method [/quote] Ah, but I'm more of a "teach a man to fish" guy, not do his fishing for him. ;-> If you haven't done Bo3b's School for ShaderHackers, [url]http://wiki.bo3b.net[/url], it's worth the time. Once you have, then making this work in 3Dmigoto is a slam dunk.
Jan-Itor said:
bo3b said:
Yes, already possible. :-> We have full key support for any key you like, including XBox controllers, and any mouse buttons.

Look in the d3dx.ini file, and find the section for [Key*], and you can get a good idea. In the shaders themselves, it's fairly easy to look for a given x,y,z,w constant param and change behavior.

For examples of these in use, look at the FC4 shaders here: https://github.com/bo3b/3Dmigoto/tree/master/FC4/ShaderFixes Not specifically for HUD toggle, but you'll see how to use x,y,z,w and set up key overrides.


I'm also going to tweak Mordor as I'm playing it now, and I think I'll make HUDless option there, as it's got waaay too much onscreen.

Oh cool. But I am more of a "monkey see, monkey do" type of guy so I don't really understand what you mean there :P

Could you give me a quick tutorial of how exactly you set would this up? For example with helixmod I used this method

Ah, but I'm more of a "teach a man to fish" guy, not do his fishing for him. ;->

If you haven't done Bo3b's School for ShaderHackers, http://wiki.bo3b.net, it's worth the time.

Once you have, then making this work in 3Dmigoto is a slam dunk.

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

Posted 05/04/2015 12:30 AM   
[quote="bo3b"] If you haven't done Bo3b's School for ShaderHackers, [url]http://wiki.bo3b.net[/url], it's worth the time. Once you have, then making this work in 3Dmigoto is a slam dunk.[/quote] So I should be looking at this? [img]http://i.imgur.com/nopFYAD.png[/img] I would do some testing, but my gaming PC broke :S
bo3b said:
If you haven't done Bo3b's School for ShaderHackers, http://wiki.bo3b.net, it's worth the time.

Once you have, then making this work in 3Dmigoto is a slam dunk.


So I should be looking at this?

Image

I would do some testing, but my gaming PC broke :S

1080 Ti - i7 5820k - 16Gb RAM - Win 10 version 1607 - ASUS VG236H (1920x1080@120Hz)

Posted 05/05/2015 03:59 PM   
[quote="Jan-Itor"][quote="bo3b"] If you haven't done Bo3b's School for ShaderHackers, [url]http://wiki.bo3b.net[/url], it's worth the time. Once you have, then making this work in 3Dmigoto is a slam dunk.[/quote] So I should be looking at this? [img]http://i.imgur.com/nopFYAD.png[/img] I would do some testing, but my gaming PC broke :S [/quote] Yep, exactly. That's the basic premise behind making a toggle operation of any form in the shaders. Can be a HUD toggle with the right shaders. For a HUD toggle, you'd target the PixelShaders. That code is the DX9/Helix way of doing things, which is worth learning for any game you'd want to hit in that category. In the DX11/3Dmigoto way, the same basic strategy is true, the code is different and a bit easier. Here's a rough example (may not compile, just off top of my head): [code]... In the d3dx.ini file: [Constants] x=1 // on by default ... [Key1] Key=F2 x=0 // hide HUD type=toggle In every shader file: ... Texture1D<float4> IniParams : register(t120); ... params = IniParams.Load(0); ... if (params.x == 0) { o0 = 0; return; } [/code]
Jan-Itor said:
bo3b said:
If you haven't done Bo3b's School for ShaderHackers, http://wiki.bo3b.net, it's worth the time.

Once you have, then making this work in 3Dmigoto is a slam dunk.


So I should be looking at this?

Image

I would do some testing, but my gaming PC broke :S

Yep, exactly. That's the basic premise behind making a toggle operation of any form in the shaders. Can be a HUD toggle with the right shaders. For a HUD toggle, you'd target the PixelShaders.

That code is the DX9/Helix way of doing things, which is worth learning for any game you'd want to hit in that category. In the DX11/3Dmigoto way, the same basic strategy is true, the code is different and a bit easier.

Here's a rough example (may not compile, just off top of my head):

...
In the d3dx.ini file:
[Constants]
x=1 // on by default
...
[Key1]
Key=F2
x=0 // hide HUD
type=toggle

In every shader file:
...
Texture1D<float4> IniParams : register(t120);
...
params = IniParams.Load(0);
...
if (params.x == 0)
{
o0 = 0;
return;
}

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

Posted 05/06/2015 04:31 AM   
Perfect timing. I had spent some time last night figuring this out on my own, adapting the code from Helix mod, and figuring it out with the help of DHR's fix on Dying Light, and came up with something almost similar. I have run into a little bit of a snag, though. I'm able to disable/reenable the shaders perfectly fine using this, problem is that once I have marked the shaders, it changes them to being white. At first I thought it was of my own doing from modifying the code to disable it, but after coming back to this tonight and seeing your post, I decided to delete the marked files from last night and redo them, and that's when I noticed that the issue occurred pretty much as soon as I mark them. Are you familiar at all with this issue? If need be I can put up some pics. Also, to save a little bit of future frustration and heartache, could you advise on how to go about adapting the prime directive from your lesson on Helix mod to using it in 3Dmigoto? If it's been explained anywhere else in this thread else a link to it would suffice, and I'll also try combing through the thread tomorrow, if I have the time, to save you the hassle. Last question (for now) is it possible to get text on screen, similar to Helix debug dll, while shader hunting? I assuming not, otherwise it probably would be on by default... but better to ask and find out.
Perfect timing. I had spent some time last night figuring this out on my own, adapting the code from Helix mod, and figuring it out with the help of DHR's fix on Dying Light, and came up with something almost similar.

I have run into a little bit of a snag, though. I'm able to disable/reenable the shaders perfectly fine using this, problem is that once I have marked the shaders, it changes them to being white. At first I thought it was of my own doing from modifying the code to disable it, but after coming back to this tonight and seeing your post, I decided to delete the marked files from last night and redo them, and that's when I noticed that the issue occurred pretty much as soon as I mark them.

Are you familiar at all with this issue? If need be I can put up some pics.

Also, to save a little bit of future frustration and heartache, could you advise on how to go about adapting the prime directive from your lesson on Helix mod to using it in 3Dmigoto? If it's been explained anywhere else in this thread else a link to it would suffice, and I'll also try combing through the thread tomorrow, if I have the time, to save you the hassle.

Last question (for now) is it possible to get text on screen, similar to Helix debug dll, while shader hunting? I assuming not, otherwise it probably would be on by default... but better to ask and find out.

3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot

Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king

Posted 05/06/2015 06:16 AM   
For an Overlay, I've got just the ticket for you- hot off the presses, only used by one person I think. Highly experimental, but worth a try: [url]https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.1.zip[/url] You can see it in action a few page back here. For the shader going white after being marked, that is probably a bug in the Decompiler that I should look at. The goal of Mark is to just Decompile it, then recompile it and then make it active, so we can see if it changes. Goal is- no changes, should look the same until we hack around in it. Since it's going white but not giving you the low boop sound, that probably means the Decompile succeeds, but it blows it somehow and damages the output. Please post the shader in question, and I'll take a look. For the prime directive in 3Dmigoto, I added a basic code sample on the wiki at the bottom of the Canonical code: [url]http://wiki.bo3b.net/index.php?title=Canonical_Stereo_Code[/url] You can also see multiple examples in use in different games, use the search feature on Github and you can find fixes that we've checked in before: [url]https://github.com/bo3b/3Dmigoto/search?utf8=%E2%9C%93&q=stereo+%3D+[/url] The FC4 fix is one of the best reference examples.
For an Overlay, I've got just the ticket for you- hot off the presses, only used by one person I think. Highly experimental, but worth a try:

https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.1.zip

You can see it in action a few page back here.


For the shader going white after being marked, that is probably a bug in the Decompiler that I should look at. The goal of Mark is to just Decompile it, then recompile it and then make it active, so we can see if it changes. Goal is- no changes, should look the same until we hack around in it.

Since it's going white but not giving you the low boop sound, that probably means the Decompile succeeds, but it blows it somehow and damages the output.

Please post the shader in question, and I'll take a look.


For the prime directive in 3Dmigoto, I added a basic code sample on the wiki at the bottom of the Canonical code:

http://wiki.bo3b.net/index.php?title=Canonical_Stereo_Code

You can also see multiple examples in use in different games, use the search feature on Github and you can find fixes that we've checked in before:

https://github.com/bo3b/3Dmigoto/search?utf8=%E2%9C%93&q=stereo+%3D+

The FC4 fix is one of the best reference examples.

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

Posted 05/06/2015 11:07 AM   
Thanks bo3b!! i will give i try with this new version....overlay looks good!! Also the hunting on/off toggle will be very usefull.
Thanks bo3b!! i will give i try with this new version....overlay looks good!!
Also the hunting on/off toggle will be very usefull.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

Posted 05/06/2015 03:22 PM   
New alpha caliber release of 3Dmigoto with Overlay feature, Force full screen feature, and Force automatic mode feature. [url]https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.4.zip[/url] Your mileage will most assuredly vary. Works pretty well here with a clean Win7 x64 system. Worth experimenting with.
New alpha caliber release of 3Dmigoto with Overlay feature, Force full screen feature, and Force automatic mode feature.

https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.4.zip

Your mileage will most assuredly vary. Works pretty well here with a clean Win7 x64 system. Worth experimenting with.

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

Posted 05/16/2015 05:28 AM   
It's been a little busy lately, but hoping to get to spend a bit of time on this again soon enough. [quote="bo3b"]For an Overlay, I've got just the ticket for you- hot off the presses, only used by one person I think. Highly experimental, but worth a try: [url]https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.1.zip[/url] You can see it in action a few page back here.[/quote] That's too awesome on the timing, however unfortunately I have to report the overlay did not work for me on Killing Floor 2 using version 1.1.1. I saw just now that you also released 1.1.4, however when I click on the link I'm getting an error 404 for the site. [quote="bo3b"] For the shader going white after being marked, that is probably a bug in the Decompiler that I should look at. The goal of Mark is to just Decompile it, then recompile it and then make it active, so we can see if it changes. Goal is- no changes, should look the same until we hack around in it. Since it's going white but not giving you the low boop sound, that probably means the Decompile succeeds, but it blows it somehow and damages the output. Please post the shader in question, and I'll take a look.[/quote] So, for starters, here are 4 of the pixel shaders for the HUD that I'd like to be able to disable/reenable on command due to them obstructing the view while game is paused. Shader 1 [code] cbuffer _Globals : register(b0) { float4x4 ScreenToWorldMatrix : packoffset(c0); bool bDecompressSceneColor : packoffset(c4); float InverseGamma : packoffset(c4.y); } Texture2D<float4> StereoParams : register(t125); Texture1D<float4> IniParams : register(t120); void main( float4 v0 : COLOR0, float4 v1 : COLOR1, float4 v2 : TEXCOORD0, float4 v3 : TEXCOORD1, out float4 o0 : SV_Target0) { float4 r0; uint4 bitmask, uiDest; float4 fDest; r0.xyzw = v0.xyzw * v3.xyzw + v2.xyzw; r0.xyz = saturate(r0.xyz); o0.w = v1.w * r0.w; r0.xyz = log2(r0.xyz); r0.xyz = bDecompressSceneColor * r0.xyz; o0.xyz = exp2(r0.xyz); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // // Buffer Definitions: // // cbuffer $Globals // { // // float4x4 ScreenToWorldMatrix; // Offset: 0 Size: 64 [unused] // bool bDecompressSceneColor; // Offset: 64 Size: 4 [unused] // float InverseGamma; // Offset: 68 Size: 4 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // $Globals cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // COLOR 0 xyzw 0 NONE float xyzw // COLOR 1 xyzw 1 NONE float w // TEXCOORD 0 xyzw 2 NONE float xyzw // TEXCOORD 1 xyzw 3 NONE float xyzw // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[5], immediateIndexed dcl_input_ps linear v0.xyzw dcl_input_ps linear v1.w dcl_input_ps linear v2.xyzw dcl_input_ps linear v3.xyzw dcl_output o0.xyzw dcl_temps 1 mad r0.xyzw, v0.xyzw, v3.xyzw, v2.xyzw mov_sat r0.xyz, r0.xyzx mul o0.w, r0.w, v1.w log r0.xyz, r0.xyzx mul r0.xyz, r0.xyzx, cb0[4].yyyy exp o0.xyz, r0.xyzx ret // Approximately 7 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] Shader 2 [code] cbuffer _Globals : register(b0) { float4x4 ScreenToWorldMatrix : packoffset(c0); bool bDecompressSceneColor : packoffset(c4); float InverseGamma : packoffset(c4.y); } Texture2D<float4> StereoParams : register(t125); Texture1D<float4> IniParams : register(t120); void main( float4 v0 : COLOR0, float4 v1 : COLOR1, out float4 o0 : SV_Target0) { float4 r0; uint4 bitmask, uiDest; float4 fDest; r0.xyz = saturate(v0.xyz); r0.xyz = log2(r0.xyz); r0.xyz = bDecompressSceneColor * r0.xyz; o0.xyz = exp2(r0.xyz); o0.w = v1.w * v0.w; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // // Buffer Definitions: // // cbuffer $Globals // { // // float4x4 ScreenToWorldMatrix; // Offset: 0 Size: 64 [unused] // bool bDecompressSceneColor; // Offset: 64 Size: 4 [unused] // float InverseGamma; // Offset: 68 Size: 4 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // $Globals cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // COLOR 0 xyzw 0 NONE float xyzw // COLOR 1 xyzw 1 NONE float w // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[5], immediateIndexed dcl_input_ps linear v0.xyzw dcl_input_ps linear v1.w dcl_output o0.xyzw dcl_temps 1 mov_sat r0.xyz, v0.xyzx log r0.xyz, r0.xyzx mul r0.xyz, r0.xyzx, cb0[4].yyyy exp o0.xyz, r0.xyzx mul o0.w, v0.w, v1.w ret // Approximately 6 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] Shader 3 [code] cbuffer _Globals : register(b0) { float4x4 ScreenToWorldMatrix : packoffset(c0); bool bDecompressSceneColor : packoffset(c4); float4 cxmul : packoffset(c5); float InverseGamma : packoffset(c6); } SamplerState texSampler_s : register(s0); Texture2D<float4> tex : register(t0); Texture2D<float4> StereoParams : register(t125); Texture1D<float4> IniParams : register(t120); void main( float2 v0 : TEXCOORD0, float4 v1 : COLOR0, out float4 o0 : SV_Target0) { float4 r0; uint4 bitmask, uiDest; float4 fDest; r0.xyz = saturate(v1.xyz); r0.xyz = log2(r0.xyz); r0.xyz = InverseGamma * r0.xyz; o0.xyz = exp2(r0.xyz); r0.x = tex.Sample(texSampler_s, v0.xy).x; o0.w = v1.w * r0.x; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // // Buffer Definitions: // // cbuffer $Globals // { // // float4x4 ScreenToWorldMatrix; // Offset: 0 Size: 64 [unused] // bool bDecompressSceneColor; // Offset: 64 Size: 4 [unused] // float4 cxmul; // Offset: 80 Size: 16 [unused] // float InverseGamma; // Offset: 96 Size: 4 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // texSampler sampler NA NA 0 1 // tex texture float4 2d 0 1 // $Globals cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 0 xy 0 NONE float xy // COLOR 0 xyzw 1 NONE float xyzw // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[7], immediateIndexed dcl_sampler s0, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_input_ps linear v0.xy dcl_input_ps linear v1.xyzw dcl_output o0.xyzw dcl_temps 1 mov_sat r0.xyz, v1.xyzx log r0.xyz, r0.xyzx mul r0.xyz, r0.xyzx, cb0[6].xxxx exp o0.xyz, r0.xyzx sample_indexable(texture2d)(float,float,float,float) r0.x, v0.xyxx, t0.xyzw, s0 mul o0.w, r0.x, v1.w ret // Approximately 7 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] Shader 4 [code] cbuffer _Globals : register(b0) { float4x4 ScreenToWorldMatrix : packoffset(c0); bool bDecompressSceneColor : packoffset(c4); float InverseGamma : packoffset(c4.y); } SamplerState texSampler_s : register(s0); Texture2D<float4> tex : register(t0); Texture2D<float4> StereoParams : register(t125); Texture1D<float4> IniParams : register(t120); void main( float4 v0 : COLOR0, float4 v1 : TEXCOORD0, float4 v2 : TEXCOORD1, float2 v3 : TEXCOORD2, out float4 o0 : SV_Target0) { float4 r0; uint4 bitmask, uiDest; float4 fDest; r0.xyzw = tex.Sample(texSampler_s, v3.xy).xyzw; r0.xyzw = r0.xyzw * v2.xyzw + v1.xyzw; r0.xyz = saturate(r0.xyz); o0.w = v0.w * r0.w; r0.xyz = log2(r0.xyz); r0.xyz = bDecompressSceneColor * r0.xyz; o0.xyz = exp2(r0.xyz); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // // Buffer Definitions: // // cbuffer $Globals // { // // float4x4 ScreenToWorldMatrix; // Offset: 0 Size: 64 [unused] // bool bDecompressSceneColor; // Offset: 64 Size: 4 [unused] // float InverseGamma; // Offset: 68 Size: 4 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // texSampler sampler NA NA 0 1 // tex texture float4 2d 0 1 // $Globals cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // COLOR 0 xyzw 0 NONE float w // TEXCOORD 0 xyzw 1 NONE float xyzw // TEXCOORD 1 xyzw 2 NONE float xyzw // TEXCOORD 2 xy 3 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[5], immediateIndexed dcl_sampler s0, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_input_ps linear v0.w dcl_input_ps linear v1.xyzw dcl_input_ps linear v2.xyzw dcl_input_ps linear v3.xy dcl_output o0.xyzw dcl_temps 1 sample_indexable(texture2d)(float,float,float,float) r0.xyzw, v3.xyxx, t0.xyzw, s0 mad r0.xyzw, r0.xyzw, v2.xyzw, v1.xyzw mov_sat r0.xyz, r0.xyzx mul o0.w, r0.w, v0.w log r0.xyz, r0.xyzx mul r0.xyz, r0.xyzx, cb0[4].yyyy exp o0.xyz, r0.xyzx ret // Approximately 8 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] And in case it'll help, here's the log from the dumps: (Edit: removed, too long for post)
It's been a little busy lately, but hoping to get to spend a bit of time on this again soon enough.

bo3b said:For an Overlay, I've got just the ticket for you- hot off the presses, only used by one person I think. Highly experimental, but worth a try:

https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.1.zip

You can see it in action a few page back here.


That's too awesome on the timing, however unfortunately I have to report the overlay did not work for me on Killing Floor 2 using version 1.1.1. I saw just now that you also released 1.1.4, however when I click on the link I'm getting an error 404 for the site.


bo3b said:
For the shader going white after being marked, that is probably a bug in the Decompiler that I should look at. The goal of Mark is to just Decompile it, then recompile it and then make it active, so we can see if it changes. Goal is- no changes, should look the same until we hack around in it.

Since it's going white but not giving you the low boop sound, that probably means the Decompile succeeds, but it blows it somehow and damages the output.

Please post the shader in question, and I'll take a look.


So, for starters, here are 4 of the pixel shaders for the HUD that I'd like to be able to disable/reenable on command due to them obstructing the view while game is paused.

Shader 1
cbuffer _Globals : register(b0)
{
float4x4 ScreenToWorldMatrix : packoffset(c0);
bool bDecompressSceneColor : packoffset(c4);
float InverseGamma : packoffset(c4.y);
}

Texture2D<float4> StereoParams : register(t125);
Texture1D<float4> IniParams : register(t120);

void main(
float4 v0 : COLOR0,
float4 v1 : COLOR1,
float4 v2 : TEXCOORD0,
float4 v3 : TEXCOORD1,
out float4 o0 : SV_Target0)
{
float4 r0;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyzw = v0.xyzw * v3.xyzw + v2.xyzw;
r0.xyz = saturate(r0.xyz);
o0.w = v1.w * r0.w;
r0.xyz = log2(r0.xyz);
r0.xyz = bDecompressSceneColor * r0.xyz;
o0.xyz = exp2(r0.xyz);
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
// float4x4 ScreenToWorldMatrix; // Offset: 0 Size: 64 [unused]
// bool bDecompressSceneColor; // Offset: 64 Size: 4 [unused]
// float InverseGamma; // Offset: 68 Size: 4
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// $Globals cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float xyzw
// COLOR 1 xyzw 1 NONE float w
// TEXCOORD 0 xyzw 2 NONE float xyzw
// TEXCOORD 1 xyzw 3 NONE float xyzw
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[5], immediateIndexed
dcl_input_ps linear v0.xyzw
dcl_input_ps linear v1.w
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xyzw
dcl_output o0.xyzw
dcl_temps 1
mad r0.xyzw, v0.xyzw, v3.xyzw, v2.xyzw
mov_sat r0.xyz, r0.xyzx
mul o0.w, r0.w, v1.w
log r0.xyz, r0.xyzx
mul r0.xyz, r0.xyzx, cb0[4].yyyy
exp o0.xyz, r0.xyzx
ret
// Approximately 7 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


Shader 2
cbuffer _Globals : register(b0)
{
float4x4 ScreenToWorldMatrix : packoffset(c0);
bool bDecompressSceneColor : packoffset(c4);
float InverseGamma : packoffset(c4.y);
}

Texture2D<float4> StereoParams : register(t125);
Texture1D<float4> IniParams : register(t120);

void main(
float4 v0 : COLOR0,
float4 v1 : COLOR1,
out float4 o0 : SV_Target0)
{
float4 r0;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyz = saturate(v0.xyz);
r0.xyz = log2(r0.xyz);
r0.xyz = bDecompressSceneColor * r0.xyz;
o0.xyz = exp2(r0.xyz);
o0.w = v1.w * v0.w;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
// float4x4 ScreenToWorldMatrix; // Offset: 0 Size: 64 [unused]
// bool bDecompressSceneColor; // Offset: 64 Size: 4 [unused]
// float InverseGamma; // Offset: 68 Size: 4
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// $Globals cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float xyzw
// COLOR 1 xyzw 1 NONE float w
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[5], immediateIndexed
dcl_input_ps linear v0.xyzw
dcl_input_ps linear v1.w
dcl_output o0.xyzw
dcl_temps 1
mov_sat r0.xyz, v0.xyzx
log r0.xyz, r0.xyzx
mul r0.xyz, r0.xyzx, cb0[4].yyyy
exp o0.xyz, r0.xyzx
mul o0.w, v0.w, v1.w
ret
// Approximately 6 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


Shader 3
cbuffer _Globals : register(b0)
{
float4x4 ScreenToWorldMatrix : packoffset(c0);
bool bDecompressSceneColor : packoffset(c4);
float4 cxmul : packoffset(c5);
float InverseGamma : packoffset(c6);
}
SamplerState texSampler_s : register(s0);
Texture2D<float4> tex : register(t0);

Texture2D<float4> StereoParams : register(t125);
Texture1D<float4> IniParams : register(t120);

void main(
float2 v0 : TEXCOORD0,
float4 v1 : COLOR0,
out float4 o0 : SV_Target0)
{
float4 r0;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyz = saturate(v1.xyz);
r0.xyz = log2(r0.xyz);
r0.xyz = InverseGamma * r0.xyz;
o0.xyz = exp2(r0.xyz);
r0.x = tex.Sample(texSampler_s, v0.xy).x;
o0.w = v1.w * r0.x;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
// float4x4 ScreenToWorldMatrix; // Offset: 0 Size: 64 [unused]
// bool bDecompressSceneColor; // Offset: 64 Size: 4 [unused]
// float4 cxmul; // Offset: 80 Size: 16 [unused]
// float InverseGamma; // Offset: 96 Size: 4
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// texSampler sampler NA NA 0 1
// tex texture float4 2d 0 1
// $Globals cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD 0 xy 0 NONE float xy
// COLOR 0 xyzw 1 NONE float xyzw
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[7], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v0.xy
dcl_input_ps linear v1.xyzw
dcl_output o0.xyzw
dcl_temps 1
mov_sat r0.xyz, v1.xyzx
log r0.xyz, r0.xyzx
mul r0.xyz, r0.xyzx, cb0[6].xxxx
exp o0.xyz, r0.xyzx
sample_indexable(texture2d)(float,float,float,float) r0.x, v0.xyxx, t0.xyzw, s0
mul o0.w, r0.x, v1.w
ret
// Approximately 7 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


Shader 4
cbuffer _Globals : register(b0)
{
float4x4 ScreenToWorldMatrix : packoffset(c0);
bool bDecompressSceneColor : packoffset(c4);
float InverseGamma : packoffset(c4.y);
}
SamplerState texSampler_s : register(s0);
Texture2D<float4> tex : register(t0);

Texture2D<float4> StereoParams : register(t125);
Texture1D<float4> IniParams : register(t120);

void main(
float4 v0 : COLOR0,
float4 v1 : TEXCOORD0,
float4 v2 : TEXCOORD1,
float2 v3 : TEXCOORD2,
out float4 o0 : SV_Target0)
{
float4 r0;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyzw = tex.Sample(texSampler_s, v3.xy).xyzw;
r0.xyzw = r0.xyzw * v2.xyzw + v1.xyzw;
r0.xyz = saturate(r0.xyz);
o0.w = v0.w * r0.w;
r0.xyz = log2(r0.xyz);
r0.xyz = bDecompressSceneColor * r0.xyz;
o0.xyz = exp2(r0.xyz);
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
// float4x4 ScreenToWorldMatrix; // Offset: 0 Size: 64 [unused]
// bool bDecompressSceneColor; // Offset: 64 Size: 4 [unused]
// float InverseGamma; // Offset: 68 Size: 4
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// texSampler sampler NA NA 0 1
// tex texture float4 2d 0 1
// $Globals cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float w
// TEXCOORD 0 xyzw 1 NONE float xyzw
// TEXCOORD 1 xyzw 2 NONE float xyzw
// TEXCOORD 2 xy 3 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[5], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v0.w
dcl_input_ps linear v1.xyzw
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xy
dcl_output o0.xyzw
dcl_temps 1
sample_indexable(texture2d)(float,float,float,float) r0.xyzw, v3.xyxx, t0.xyzw, s0
mad r0.xyzw, r0.xyzw, v2.xyzw, v1.xyzw
mov_sat r0.xyz, r0.xyzx
mul o0.w, r0.w, v0.w
log r0.xyz, r0.xyzx
mul r0.xyz, r0.xyzx, cb0[4].yyyy
exp o0.xyz, r0.xyzx
ret
// Approximately 8 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


And in case it'll help, here's the log from the dumps: (Edit: removed, too long for post)

3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot

Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king

Posted 05/22/2015 05:10 AM   
OK, good, we just made another breakthrough which will probably help here. Use the latest version from the 1.1 branch as 1.1.8: [url]https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.8.zip[/url] You will also need the evil-KB installed for this version to work. Evil update KB2670838. I have somehow accidentally added a dependency upon that update, but this fixed the crashing problem for Mike's system. I'll see if I can remove that dependency later. For the first shader here, I'll give an example of things to try. This will be rough, and might have errors, I'm not compiling these to check. Change the bottom of the code to have the output set to 0, so for example: [code]// Make HUD disappear. o0 = 0; [/code] Test that. You can edit the files while the game is running, and then hit F10 to reload them live. If this works, you should see that part of the HUD blink out. If that works, you can add a check for the iniParams variables, which we can set by keys. Up top, there should be a line like: [code]Texture1D<float4> IniParams : register(t120);[/code] Add it before 'main' if it's missing, but all recent versions generate this line automatically. Next up, add the iniParams load and if check to decide whether to run the blanking code or not. [code]// Loads current active params into x,y,z,w float4 params = IniParams.Load(0); if (params.x == 0) { o0 = 0; } [/code] In the d3dx.ini file, you would add a key handler, and set default constants. [code][Constants] x = 1.0 // HUD: ON by default. ; y = 1.0 ; z = 1.2 ; w = 2.0 ... [Key HUD] Key = q type = toggle x = 0.0 [/code] With that sequence, you should have the 'q' key toggle the HUD on/off, that you fixed earlier. You need to relaunch the game after editing the d3dx.ini file. That's the basic premise, so give that a try and let us know how you get on.
OK, good, we just made another breakthrough which will probably help here.

Use the latest version from the 1.1 branch as 1.1.8:

https://github.com/bo3b/3Dmigoto/releases/download/0.99.50-alpha/3Dmigoto-1.1.8.zip

You will also need the evil-KB installed for this version to work. Evil update KB2670838. I have somehow accidentally added a dependency upon that update, but this fixed the crashing problem for Mike's system. I'll see if I can remove that dependency later.


For the first shader here, I'll give an example of things to try. This will be rough, and might have errors, I'm not compiling these to check.


Change the bottom of the code to have the output set to 0, so for example:

// Make HUD disappear.
o0 = 0;


Test that. You can edit the files while the game is running, and then hit F10 to reload them live. If this works, you should see that part of the HUD blink out.


If that works, you can add a check for the iniParams variables, which we can set by keys.

Up top, there should be a line like:

Texture1D<float4> IniParams : register(t120);


Add it before 'main' if it's missing, but all recent versions generate this line automatically.


Next up, add the iniParams load and if check to decide whether to run the blanking code or not.

// Loads current active params into x,y,z,w
float4 params = IniParams.Load(0);

if (params.x == 0)
{
o0 = 0;
}



In the d3dx.ini file, you would add a key handler, and set default constants.

[Constants]
x = 1.0 // HUD: ON by default.
; y = 1.0
; z = 1.2
; w = 2.0

...
[Key HUD]
Key = q
type = toggle
x = 0.0



With that sequence, you should have the 'q' key toggle the HUD on/off, that you fixed earlier.

You need to relaunch the game after editing the d3dx.ini file.


That's the basic premise, so give that a try and let us know how you get on.

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

Posted 05/22/2015 05:49 AM   
  23 / 141    
Scroll To Top