3Dmigoto now open-source...
  101 / 143    
Ok, no worries, I can do it in the shader. Another querstion, I found a weird behaviour of the alpha channel with blend=disable in the custom shader I use the previous frame and blend it with the specific ratio using lerp. [code] o0.xyz = lerp(o0.xyz, PreviousFrame.Load(int3(v0.x,v0.y,0)).xyz,0.9); o0.w = lerp(o0.w, PreviousFrame.Load(int3(v0.x,v0.y,0)).w,0.9); [/code] blending colour works as intended, but blending alpha does not for bloending values above 0.5. Alpha goes to 0 for all pixels proportionally to the 3rd lerp argument
Ok, no worries, I can do it in the shader.
Another querstion, I found a weird behaviour of the alpha channel with blend=disable in the custom shader
I use the previous frame and blend it with the specific ratio using lerp.

o0.xyz = lerp(o0.xyz, PreviousFrame.Load(int3(v0.x,v0.y,0)).xyz,0.9);
o0.w = lerp(o0.w, PreviousFrame.Load(int3(v0.x,v0.y,0)).w,0.9);


blending colour works as intended, but blending alpha does not for bloending values above 0.5. Alpha goes to 0 for all pixels proportionally to the 3rd lerp argument

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 08/23/2017 03:47 PM   
Does this work? [code] blend = ADD ONE ZERO alpha = ADD ONE ZERO [/code] I can't recall if blend=disable is equivalent to that for alpha or not in DX (it sets BlendEnable=False), but certainly spelling it out gives you more flexibility to customise the blend operation, source and destination factors however you need. You need to spell out blend= to be able to specify alpha= The syntax is: blend|alpha = blend_operation source_factor destination_factor The prefixes are optional to make the sections easier to read, so the above could also be written: [code] blend = D3D11_BLEND_OP_ADD D3D11_BLEND_ONE D3D11_BLEND_ZERO alpha = D3D11_BLEND_OP_ADD D3D11_BLEND_ONE D3D11_BLEND_ZERO [/code] Reference documentation: Blend description: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476200(v=vs.85).aspx Blend operations: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476088(v=vs.85).aspx Blend factors: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476086(v=vs.85).aspx
Does this work?
blend = ADD ONE ZERO
alpha = ADD ONE ZERO

I can't recall if blend=disable is equivalent to that for alpha or not in DX (it sets BlendEnable=False), but certainly spelling it out gives you more flexibility to customise the blend operation, source and destination factors however you need. You need to spell out blend= to be able to specify alpha=

The syntax is: blend|alpha = blend_operation source_factor destination_factor

The prefixes are optional to make the sections easier to read, so the above could also be written:
blend = D3D11_BLEND_OP_ADD D3D11_BLEND_ONE D3D11_BLEND_ZERO
alpha = D3D11_BLEND_OP_ADD D3D11_BLEND_ONE D3D11_BLEND_ZERO

Reference documentation:
Blend description: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476200(v=vs.85).aspx
Blend operations: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476088(v=vs.85).aspx
Blend factors: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476086(v=vs.85).aspx

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 08/23/2017 04:17 PM   
Also might be worth making sure the write mask is allowing writes to the alpha channel with: [code] mask = 0xf [/code]
Also might be worth making sure the write mask is allowing writes to the alpha channel with:
mask = 0xf

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 08/23/2017 04:30 PM   
I've tried [code]blend = ADD ONE ZERO alpha = ADD ONE ZERO mask = 0xf[/code] still the same situation
I've tried

blend = ADD ONE ZERO
alpha = ADD ONE ZERO
mask = 0xf


still the same situation

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 08/23/2017 04:37 PM   
I'm pretty sure it's not possible, but I have to ask to make sure. I have a custom shader that is executed by draw=from_caller before the original on each [s]quad[/s] section of the geometry. I store the result in a resource and then use it in the original shader. When I apply the normals I often go out of bounds of the currently rendered [s]quad[/s] section. When I clear the resource on Present I get missing data on some quad edges, when I don't it looks better but depending on the angle I get stale information not moving when the camera angle changes. What If I wanted to render all the [s]quads[/s] passes of the geometry using my custom shader and then render all [s]quads[/s] passes using the original shader? I can of course use one frame behind, but I was wondering if there is any way to avoid that delay.
I'm pretty sure it's not possible, but I have to ask to make sure.
I have a custom shader that is executed by draw=from_caller before the original on each quad section of the geometry. I store the result in a resource and then use it in the original shader. When I apply the normals I often go out of bounds of the currently rendered quad section.

When I clear the resource on Present I get missing data on some quad edges, when I don't it looks better but depending on the angle I get stale information not moving when the camera angle changes.

What If I wanted to render all the quads passes of the geometry using my custom shader and then render all quads passes using the original shader?

I can of course use one frame behind, but I was wondering if there is any way to avoid that delay.

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 08/23/2017 04:38 PM   
I've thought about that scenario myself, and it would be quite tricky to implement and we certainly can't do it with what we have today. Theoretically, to make it work we would have to have 3DMigoto record all state changes (shaders, render targets, textures, vertex buffers, index buffers, etc, etc, etc) and draw calls during part of the frame and play it back twice, one of which will have modified state and the other won't. I've wondered if we might be able to redirect the game to use a deferred context that is recording a command list then play it back in the immediate context twice - only, as far as I am aware those command lists can only be played back once (I kind of hope I've misunderstood that, because that limitation makes them nearly useless... although maybe that is why they are almost never used). If we have 3DMigoto itself record a command list we don't have that limitation, but that's a *lot* of complexity we would have to add to get that to work. Even if we do get it to work in some cases there would be some types of state changes that simply wouldn't work while recording the command list, or problems with some things being played back twice that could end up being deal breakers. For the blending problem have you: - Checked that o0.w is not 0 before the lerp statement (if it is, then it makes sense that after a number of frames the alpha would be reduced to 0) - Checked using frame analysis that outputting various fixed alpha values between 0 and 1 end up with that alpha value on the render target
I've thought about that scenario myself, and it would be quite tricky to implement and we certainly can't do it with what we have today.

Theoretically, to make it work we would have to have 3DMigoto record all state changes (shaders, render targets, textures, vertex buffers, index buffers, etc, etc, etc) and draw calls during part of the frame and play it back twice, one of which will have modified state and the other won't. I've wondered if we might be able to redirect the game to use a deferred context that is recording a command list then play it back in the immediate context twice - only, as far as I am aware those command lists can only be played back once (I kind of hope I've misunderstood that, because that limitation makes them nearly useless... although maybe that is why they are almost never used). If we have 3DMigoto itself record a command list we don't have that limitation, but that's a *lot* of complexity we would have to add to get that to work. Even if we do get it to work in some cases there would be some types of state changes that simply wouldn't work while recording the command list, or problems with some things being played back twice that could end up being deal breakers.


For the blending problem have you:
- Checked that o0.w is not 0 before the lerp statement (if it is, then it makes sense that after a number of frames the alpha would be reduced to 0)
- Checked using frame analysis that outputting various fixed alpha values between 0 and 1 end up with that alpha value on the render target

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 08/23/2017 11:47 PM   
[quote="DarkStarSword"]I've thought about that scenario myself, and it would be quite tricky to implement and we certainly can't do it with what we have today.[/quote] I'm glad you've had the same thoughts. It's quite wide area for improvements in some undefined future. [quote="DarkStarSword"]For the blending problem have you: - Checked that o0.w is not 0 before the lerp statement (if it is, then it makes sense that after a number of frames the alpha would be reduced to 0) - Checked using frame analysis that outputting various fixed alpha values between 0 and 1 end up with that alpha value on the render target[/quote] I found the culprit. Format="R10G10B10A2_UNORM" so the HDR render target was to blame. I've changed it to R8G8B8A8_TYPELESS and the alpha channel is blending as it should. I made a wrong statement saying it that alpha goes to 0 proportionally, it was quantised when I sent a gradient as an o0.w output.
DarkStarSword said:I've thought about that scenario myself, and it would be quite tricky to implement and we certainly can't do it with what we have today.

I'm glad you've had the same thoughts. It's quite wide area for improvements in some undefined future.

DarkStarSword said:For the blending problem have you:
- Checked that o0.w is not 0 before the lerp statement (if it is, then it makes sense that after a number of frames the alpha would be reduced to 0)
- Checked using frame analysis that outputting various fixed alpha values between 0 and 1 end up with that alpha value on the render target

I found the culprit. Format="R10G10B10A2_UNORM" so the HDR render target was to blame. I've changed it to R8G8B8A8_TYPELESS and the alpha channel is blending as it should. I made a wrong statement saying it that alpha goes to 0 proportionally, it was quantised when I sent a gradient as an o0.w output.

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 08/24/2017 07:15 AM   
Polishing up the upcoming software mouse cursor feature in 3DMigoto, getting it working in more games and figured out how to get it working with animated cursors - you know, because who wouldn't want to play Dreamfall Chapters with the dancing banana? :-p [url=https://forums.geforce.com/cmd/default/download-comment-attachment/73613/][img]https://forums.geforce.com/cmd/default/download-comment-attachment/73613/[/img][/url]
Polishing up the upcoming software mouse cursor feature in 3DMigoto, getting it working in more games and figured out how to get it working with animated cursors - you know, because who wouldn't want to play Dreamfall Chapters with the dancing banana? :-p

Image

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 08/24/2017 01:36 PM   
Dude, you are mad :D
Dude, you are mad :D

EVGA GeForce GTX 980 SC
Core i5 2500K
MSI Z77A-G45
8GB DDR3
Windows 10 x64

Posted 08/24/2017 02:03 PM   
I need some help. Have you people ever encountered a game that ignored the "hunting=1" and "hunting=2" options? I can't get the OSD to appear in NBA 2K17 or make any hotkey work (hunting/reloading hotkeys, frame analysis, a convergence hotkey I made... nothing works). It's like the game is blocking that stuff. The Nvidia separation and convergence hotkeys work. Here's the d3d11_log.txt file (from the latest 3Dmigoto x64 build): https://s3.amazonaws.com/masterotaku/Logs/d3d11_log.7z To solve the crash at boot problem I had, I only needed the "hook=skip_dxgi_device" tweak. None of the "allow_" stuff was necessary. Using the game profile configuration from Skyrim SE fixed most of the effects, and only some ground reflections need fixing, but I just can't hunt them... At least "export_hlsl=2" worked, so I have 5286 shaders to look at :p.
I need some help. Have you people ever encountered a game that ignored the "hunting=1" and "hunting=2" options? I can't get the OSD to appear in NBA 2K17 or make any hotkey work (hunting/reloading hotkeys, frame analysis, a convergence hotkey I made... nothing works). It's like the game is blocking that stuff. The Nvidia separation and convergence hotkeys work.

Here's the d3d11_log.txt file (from the latest 3Dmigoto x64 build): https://s3.amazonaws.com/masterotaku/Logs/d3d11_log.7z

To solve the crash at boot problem I had, I only needed the "hook=skip_dxgi_device" tweak. None of the "allow_" stuff was necessary.

Using the game profile configuration from Skyrim SE fixed most of the effects, and only some ground reflections need fixing, but I just can't hunt them...

At least "export_hlsl=2" worked, so I have 5286 shaders to look at :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

Posted 08/24/2017 06:23 PM   
@masterotaku You can try using 3Dmigoto v1.0.1 to hunt the correct shader...that version don't have overlay, so you will know that hunting, marking and refresh works by the sound. I have a similar issue in other game, and that version of 3Dmigoto works. @DarkStarSword Very nice!!! since i use TaB Mode, it's a pain in the ass with some games that have HW mouse. So the SW mouse is awesome feature.
@masterotaku
You can try using 3Dmigoto v1.0.1 to hunt the correct shader...that version don't have overlay, so you will know that hunting, marking and refresh works by the sound. I have a similar issue in other game, and that version of 3Dmigoto works.


@DarkStarSword
Very nice!!! since i use TaB Mode, it's a pain in the ass with some games that have HW mouse. So the SW mouse is awesome feature.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

Posted 08/24/2017 11:17 PM   
[quote="masterotaku"]To solve the crash at boot problem I had, I only needed the "hook=skip_dxgi_device" tweak. None of the "allow_" stuff was necessary.[/quote] [code]; skip_dxgi_factory - hack for MGSV, not recommended for other games as it ; may disable core 3DMigoto functionality in some cases [/code] That would be the "core functionality" that option disables (depending on the game). We'll need to fix 3DMigoto to work with that game without using that option.
masterotaku said:To solve the crash at boot problem I had, I only needed the "hook=skip_dxgi_device" tweak. None of the "allow_" stuff was necessary.


;   skip_dxgi_factory - hack for MGSV, not recommended for other games as it
; may disable core 3DMigoto functionality in some cases


That would be the "core functionality" that option disables (depending on the game). We'll need to fix 3DMigoto to work with that game without using that option.

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 08/25/2017 05:38 AM   
[quote="DarkStarSword"] That would be the "core functionality" that option disables (depending on the game). We'll need to fix 3DMigoto to work with that game without using that option. [/quote] That's about "skip_dxgi_factory" instead of "skip_dxgi_device", which is what I'm using. But you know your stuff and you are one of its developers, so I won't doubt you :p. [quote="DHR"]@masterotaku You can try using 3Dmigoto v1.0.1 to hunt the correct shader...that version don't have overlay, so you will know that hunting, marking and refresh works by the sound.[/quote] OK, I'll try that. In 6 hours I'll be able to do it. It will be a pity to lose the hotkeys feature if I manage to fix those very few shaders. But I think this game doesn't need a lot of convergence changes while playing.
DarkStarSword said:
That would be the "core functionality" that option disables (depending on the game). We'll need to fix 3DMigoto to work with that game without using that option.


That's about "skip_dxgi_factory" instead of "skip_dxgi_device", which is what I'm using. But you know your stuff and you are one of its developers, so I won't doubt you :p.

DHR said:@masterotaku
You can try using 3Dmigoto v1.0.1 to hunt the correct shader...that version don't have overlay, so you will know that hunting, marking and refresh works by the sound.


OK, I'll try that. In 6 hours I'll be able to do it. It will be a pity to lose the hotkeys feature if I manage to fix those very few shaders. But I think this game doesn't need a lot of convergence changes while playing.

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

Posted 08/25/2017 08:31 AM   
You can use the 1.0.1 for hunting and fixing...and later for the release/playing use the newer version. In the game i test, the fixed shaders are loaded correctly with the newer version...overlay, hunting, marking and refresh is only thing that don't work.
You can use the 1.0.1 for hunting and fixing...and later for the release/playing use the newer version. In the game i test, the fixed shaders are loaded correctly with the newer version...overlay, hunting, marking and refresh is only thing that don't work.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

Posted 08/25/2017 11:08 AM   
[quote="DHR"]You can use the 1.0.1 for hunting and fixing...and later for the release/playing use the newer version.[/quote] That's the plan (if it doesn't crash)! :) If it crashes, I'll have to do it OpenGL wrapper style. Batch discarding hundreds/thousands of shaders at a time and keep lowering the number until I find the unique shader I want. [quote="DHR"]In the game i test, the fixed shaders are loaded correctly with the newer version...[b]overlay, hunting, marking and refresh is only thing that don't work[/b].[/quote] Yeah, my problem is that even a simple convergence hotkey doesn't work either. But I'll worry about that later (not much of a problem in this game, thankfully). First I have to fix broken effects :p. 2 hours left!
DHR said:You can use the 1.0.1 for hunting and fixing...and later for the release/playing use the newer version.


That's the plan (if it doesn't crash)! :)

If it crashes, I'll have to do it OpenGL wrapper style. Batch discarding hundreds/thousands of shaders at a time and keep lowering the number until I find the unique shader I want.

DHR said:In the game i test, the fixed shaders are loaded correctly with the newer version...overlay, hunting, marking and refresh is only thing that don't work.


Yeah, my problem is that even a simple convergence hotkey doesn't work either. But I'll worry about that later (not much of a problem in this game, thankfully). First I have to fix broken effects :p. 2 hours left!

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

Posted 08/25/2017 12:22 PM   
  101 / 143    
Scroll To Top