3Dmigoto now open-source...
  63 / 143    
Hi guys:) I have a very strange problem... I am trying to run 3Dmigoto agains Tomb Raider (2013). The freaking crosshair being broken in Surround is annoying the crap out of me ^_^. But here is the problem: - No matter what version of the wrapper I use (1.0.1 up to 1.2.35) the game doesn't start... As a matter of fact the LAUNCHER doesn't start... The process just hangs... I looked in the log but nothing obvious... Log looks like this: [code] D3D11 DLL starting init - v 1.2.35 - Thu Mar 10 21:47:12 2016 ----------- d3dx.ini settings ----------- [Logging] calls=1 input=1 [System] [Device] get_resolution_from=swap_chain [Stereo] [Rendering] override_directory=D:\Steam\steamapps\common\Tomb Raider\ShaderFixes cache_directory=D:\Steam\steamapps\common\Tomb Raider\ShaderCache use_criticalsection=1 rasterizer_disable_scissor=1 dump_usage=1 stereo_params=125 ini_params=120 ... missing automatic ini section [Hunting] hunting=1 marking_mode=0 reload_config=VK_F10 toggle_hunting=VK_NUMPAD0 next_pixelshader=VK_NUMPAD2 previous_pixelshader=VK_NUMPAD1 mark_pixelshader=VK_NUMPAD3 take_screenshot=VK_SNAPSHOT next_indexbuffer=VK_NUMPAD8 previous_indexbuffer=VK_NUMPAD7 mark_indexbuffer=VK_NUMPAD9 next_vertexshader=VK_NUMPAD5 previous_vertexshader=VK_NUMPAD4 mark_vertexshader=VK_NUMPAD6 next_rendertarget=VK_MULTIPLY previous_rendertarget=VK_DIVIDE mark_rendertarget=VK_SUBTRACT done_hunting=VK_ADD reload_fixes=VK_F10 show_original=VK_F9 analyse_options=log dump_rt_jps clear_rt repeat_rate=6 [KeyChange3DVision2SBSOutputMode] type=cycle Cycle 1: x7=1 Cycle 2: x7=2 Cycle 3: x7=3 Cycle 4: x7=4 Cycle 5: x7=5 Cycle 6: x7=0 Key=F11 [Resource3DVision2SBSBackupTexture] [CustomShader3DVision2SBS] vs=ShaderFixes/3dvision2sbsvs.hlsl hs=null ds=null gs=null ps=ShaderFixes/3dvision2sbsps.hlsl blend=disable cull=none topology=triangle_strip o1=null o2=null o3=null o4=null o5=null o6=null o7=null od=null o0=set_viewport no_view_cache bb resource3dvision2sbsbackuptexture=reference ps-t100 ps-t100=stereo2mono bb draw=4, 0 post ps-t100=reference resource3dvision2sbsbackuptexture [Present] [Constants] x7=0.00 overriding NVAPI wrapper failed. *** D3D11 DLL successfully initialized. *** Trying to load original_d3d11.dll Hooked_LoadLibraryExW switching to original dll: original_d3d11.dll to C:\WINDOWS\system32\d3d11.dll. *** D3D11CreateDevice called with pAdapter = 00000000 Flags = 0 pFeatureLevels = 0xb000 FeatureLevels = 2 ppDevice = 0018F788 pFeatureLevel = 0x692ce80 ppImmediateContext = 0018F784 Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll. Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll. Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll. Hooked_CreateDXGIFactory called with riid: IDXGIFactory calling original CreateDXGIFactory API CreateDXGIFactory returned factory = 09A09148, result = 0 HackerDXGIFactory::QueryInterface(class HackerDXGIFactory@06969930) called with IID: IDXGIFactory2 returns E_NOINTERFACE as error for IDXGIFactory2. HackerUnknown::Release(class HackerDXGIFactory@06969930), counter=0, this=06969930 counter=0, this=06969930, deleting self. D3D11CreateDevice returned device handle = 09A0CEB4, context handle = 069B348C HackerDevice 0DD3F428 created to wrap 09A0CEB4 HackerContext 06970768 created to wrap 069B348C HackerDevice::Create3DMigotoResources(class HackerDevice@0DD3F428) called. created NVAPI stereo handle. Handle = 099EAB60 creating stereo parameter texture. Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll. Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll. Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll. Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll. stereo texture created, handle = 031F6A90 creating stereo parameter resource view. stereo texture resource view created, handle = 0DF5DE08. creating .ini constant parameter texture. IniParam texture created, handle = 0DD84590 creating IniParam resource view. Iniparams resource view created, handle = 0DF4F808. Created pink mode pixel shader: 0 ->D3D11CreateDevice result = 0, device handle = 09A0CEB4, device wrapper = 0DD3F428, context handle = 069B348C, context wrapper = 06970768 [/code] Any idea? or can somebody help/test this one and let me know how I can make it work?:) Thank you in advance! Edit: hunting=0,1,2 doesn't matter I tried all of them => Same result...
Hi guys:)

I have a very strange problem...
I am trying to run 3Dmigoto agains Tomb Raider (2013). The freaking crosshair being broken in Surround is annoying the crap out of me ^_^.

But here is the problem:
- No matter what version of the wrapper I use (1.0.1 up to 1.2.35) the game doesn't start... As a matter of fact the LAUNCHER doesn't start... The process just hangs... I looked in the log but nothing obvious...

Log looks like this:
D3D11 DLL starting init - v 1.2.35 - Thu Mar 10 21:47:12 2016


----------- d3dx.ini settings -----------
[Logging]
calls=1
input=1
[System]
[Device]
get_resolution_from=swap_chain
[Stereo]
[Rendering]
override_directory=D:\Steam\steamapps\common\Tomb Raider\ShaderFixes
cache_directory=D:\Steam\steamapps\common\Tomb Raider\ShaderCache
use_criticalsection=1
rasterizer_disable_scissor=1
dump_usage=1
stereo_params=125
ini_params=120
... missing automatic ini section
[Hunting]
hunting=1
marking_mode=0
reload_config=VK_F10
toggle_hunting=VK_NUMPAD0
next_pixelshader=VK_NUMPAD2
previous_pixelshader=VK_NUMPAD1
mark_pixelshader=VK_NUMPAD3
take_screenshot=VK_SNAPSHOT
next_indexbuffer=VK_NUMPAD8
previous_indexbuffer=VK_NUMPAD7
mark_indexbuffer=VK_NUMPAD9
next_vertexshader=VK_NUMPAD5
previous_vertexshader=VK_NUMPAD4
mark_vertexshader=VK_NUMPAD6
next_rendertarget=VK_MULTIPLY
previous_rendertarget=VK_DIVIDE
mark_rendertarget=VK_SUBTRACT
done_hunting=VK_ADD
reload_fixes=VK_F10
show_original=VK_F9
analyse_options=log dump_rt_jps clear_rt
repeat_rate=6
[KeyChange3DVision2SBSOutputMode]
type=cycle
Cycle 1: x7=1
Cycle 2: x7=2
Cycle 3: x7=3
Cycle 4: x7=4
Cycle 5: x7=5
Cycle 6: x7=0
Key=F11
[Resource3DVision2SBSBackupTexture]
[CustomShader3DVision2SBS]
vs=ShaderFixes/3dvision2sbsvs.hlsl
hs=null
ds=null
gs=null
ps=ShaderFixes/3dvision2sbsps.hlsl
blend=disable
cull=none
topology=triangle_strip
o1=null
o2=null
o3=null
o4=null
o5=null
o6=null
o7=null
od=null
o0=set_viewport no_view_cache bb
resource3dvision2sbsbackuptexture=reference ps-t100
ps-t100=stereo2mono bb
draw=4, 0
post ps-t100=reference resource3dvision2sbsbackuptexture
[Present]
[Constants]
x7=0.00
overriding NVAPI wrapper failed.

*** D3D11 DLL successfully initialized. ***

Trying to load original_d3d11.dll
Hooked_LoadLibraryExW switching to original dll: original_d3d11.dll to C:\WINDOWS\system32\d3d11.dll.


*** D3D11CreateDevice called with
pAdapter = 00000000
Flags = 0
pFeatureLevels = 0xb000
FeatureLevels = 2
ppDevice = 0018F788
pFeatureLevel = 0x692ce80
ppImmediateContext = 0018F784
Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll.
Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll.
Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll.
Hooked_CreateDXGIFactory called with riid: IDXGIFactory
calling original CreateDXGIFactory API
CreateDXGIFactory returned factory = 09A09148, result = 0
HackerDXGIFactory::QueryInterface(class HackerDXGIFactory@06969930) called with IID: IDXGIFactory2
returns E_NOINTERFACE as error for IDXGIFactory2.
HackerUnknown::Release(class HackerDXGIFactory@06969930), counter=0, this=06969930
counter=0, this=06969930, deleting self.
D3D11CreateDevice returned device handle = 09A0CEB4, context handle = 069B348C
HackerDevice 0DD3F428 created to wrap 09A0CEB4
HackerContext 06970768 created to wrap 069B348C
HackerDevice::Create3DMigotoResources(class HackerDevice@0DD3F428) called.
created NVAPI stereo handle. Handle = 099EAB60
creating stereo parameter texture.
Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll.
Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll.
Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll.
Replaced Hooked_LoadLibraryExW for: C:\WINDOWS\system32\nvapi.dll to nvapi.dll.
stereo texture created, handle = 031F6A90
creating stereo parameter resource view.
stereo texture resource view created, handle = 0DF5DE08.
creating .ini constant parameter texture.
IniParam texture created, handle = 0DD84590
creating IniParam resource view.
Iniparams resource view created, handle = 0DF4F808.
Created pink mode pixel shader: 0
->D3D11CreateDevice result = 0, device handle = 09A0CEB4, device wrapper = 0DD3F428, context handle = 069B348C, context wrapper = 06970768


Any idea? or can somebody help/test this one and let me know how I can make it work?:)

Thank you in advance!

Edit:
hunting=0,1,2 doesn't matter I tried all of them => Same result...

1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc


My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com

(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)

Posted 03/10/2016 09:52 PM   
@helifax Try using: [code]automatic_mode=1[/code] The game have its own 3D render....of course using that option the game should be broken.
@helifax

Try using:
automatic_mode=1


The game have its own 3D render....of course using that option the game should be broken.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

Posted 03/10/2016 10:07 PM   
[quote="DHR"]@helifax Try using: [code]automatic_mode=1[/code] The game have its own 3D render....of course using that option the game should be broken.[/quote] I tried that...but it still hangs before the launcher is shown...hmm....
DHR said:@helifax

Try using:
automatic_mode=1


The game have its own 3D render....of course using that option the game should be broken.


I tried that...but it still hangs before the launcher is shown...hmm....

1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc


My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com

(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)

Posted 03/10/2016 10:54 PM   
Do custom texture resources from file support mipmapping, or I need to do it the hard way?
Do custom texture resources from file support mipmapping, or I need to do it the hard way?

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

Posted 03/10/2016 10:55 PM   
[quote="Oomek"]Do custom texture resources from file support mipmapping, or I need to do it the hard way?[/quote]They should do, but it hasn't been extensively tested since we usually don't need them, so there might be bugs. To load them from a file you will need to use a .dds file with the mip-maps already created - we don't support auto generating them right now. Any time a custom resource is bound to the pipeline it should have all mip-maps available (but note that a bug present between 1.2.28 and 1.2.32 inclusive would only bind the least detailed mip-map). Copying a resource with mip-maps should also work. I am aware of a (driver) bug where only the most detailed mip-map will get the data for both eyes when using the stereo2mono copy mode, but I gather that won't impact you.
Oomek said:Do custom texture resources from file support mipmapping, or I need to do it the hard way?
They should do, but it hasn't been extensively tested since we usually don't need them, so there might be bugs. To load them from a file you will need to use a .dds file with the mip-maps already created - we don't support auto generating them right now. Any time a custom resource is bound to the pipeline it should have all mip-maps available (but note that a bug present between 1.2.28 and 1.2.32 inclusive would only bind the least detailed mip-map). Copying a resource with mip-maps should also work.

I am aware of a (driver) bug where only the most detailed mip-map will get the data for both eyes when using the stereo2mono copy mode, but I gather that won't impact you.

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 03/11/2016 12:44 AM   
[s]I've tried but it looks like the sampler returns the last mipmap 1x1, so the object has solid colour. DDS with no mipmaps is loading fine though, but the filtering is awful.[/s] What a shame, somehow I've managed to copy new dll's to the games subfolder (bloody explorer) so I was running that bugged version :)
I've tried but it looks like the sampler returns the last mipmap 1x1, so the object has solid colour.
DDS with no mipmaps is loading fine though, but the filtering is awful.


What a shame, somehow I've managed to copy new dll's to the games subfolder (bloody explorer) so I was running that bugged version :)

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

Posted 03/11/2016 01:11 AM   
I mentioned that a while ago. Is it possible to run multiple passes of the custom shader from the [present] call? I need to take the backbuffer, process it a few times and then mix it in the final stage with the back buffer. If it's doable I would appreciate some rough ini example. Edit: I think I know how, I'll add it to the wiki page soon.
I mentioned that a while ago. Is it possible to run multiple passes of the custom shader from the [present] call? I need to take the backbuffer, process it a few times and then mix it in the final stage with the back buffer. If it's doable I would appreciate some rough ini example.

Edit: I think I know how, I'll add it to the wiki page soon.

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

Posted 03/12/2016 02:35 AM   
This might be wrong place but since this is DX9 side so I dunno. Anywhoz. [u]Valkyria Chronicles[/u] I was filling the void XCOM 2 left and picked up valkyria chronicles. If anyones interested I got [u]Valkyria Chronicles[/u] to render in 3D. Maybe someone has already tried it and couldnt get it to work since this is a quirky issue.I ran into same thing with Devil May Cry 3[non-SLI]. Anywho I am way too out of touch to get shadows working though [Its not the end of world if you just want to disable since they are pretty low grade]. I'd imagine its not as difficult as normally since its on one shader and again pretty low grade but again what do I know. Besides that just hud work. Aion profile will fix reflections. Or if someone decides they just want to fix shadows and want someone else to do the other stuff. Id probably do it since I am pretty good at going overboard with that kind of grunt work. DX9SETTINGS.INI [general] DefSquareSurfaceMode = 1 SurfaceCreationModeList = 0;1; [SF0] DefMode = 1 ExceptSquare = false Format = 21 Usage = 2 [SF1] DefMode = 1 ExceptSquare = false Format = 75 Usage = 2 ---------------- Again, this is at the least the third time I ran into a game that should run in 3D but didn't as in 3D vision is initialing but it renders in mono. You just use DefSquareSurfaceMode = 1 DefDepthStencilSurfaceMode = 1 It should force game into into stereo then remove defdepthstencil and find the correct formats like I did above. So if you run into it maybe this will help. Not sure if 3dmigoto can do this or even if this has happened on a dx11 game. Might not matter guess.
This might be wrong place but since this is DX9 side so I dunno. Anywhoz.
Valkyria Chronicles
I was filling the void XCOM 2 left and picked up valkyria chronicles. If anyones interested I got Valkyria Chronicles to render in 3D. Maybe someone has already tried it and couldnt get it to work since this is a quirky issue.I ran into same thing with Devil May Cry 3[non-SLI]. Anywho I am way too out of touch to get shadows working though [Its not the end of world if you just want to disable since they are pretty low grade]. I'd imagine its not as difficult as normally since its on one shader and again pretty low grade but again what do I know.
Besides that just hud work. Aion profile will fix reflections. Or if someone decides they just want to fix shadows and want someone else to do the other stuff. Id probably do it since I am pretty good at going overboard with that kind of grunt work.

DX9SETTINGS.INI

[general]
DefSquareSurfaceMode = 1
SurfaceCreationModeList = 0;1;

[SF0]
DefMode = 1
ExceptSquare = false
Format = 21
Usage = 2

[SF1]
DefMode = 1
ExceptSquare = false
Format = 75
Usage = 2


----------------
Again, this is at the least the third time I ran into a game that should run in 3D but didn't as in 3D vision is initialing but it renders in mono. You just use
DefSquareSurfaceMode = 1
DefDepthStencilSurfaceMode = 1
It should force game into into stereo then remove defdepthstencil and find the correct formats like I did above. So if you run into it maybe this will help. Not sure if 3dmigoto can do this or even if this has happened on a dx11 game. Might not matter guess.

Co-founder/Web host of helixmod.blog.com

Donations for web hosting @ paypal -eqzitara@yahoo.com
or
https://www.patreon.com/user?u=791918

Posted 03/12/2016 05:10 AM   
NM. Figured out. Though its still a good read if you run into a game running in mono.
NM. Figured out. Though its still a good read if you run into a game running in mono.

Co-founder/Web host of helixmod.blog.com

Donations for web hosting @ paypal -eqzitara@yahoo.com
or
https://www.patreon.com/user?u=791918

Posted 03/13/2016 03:16 AM   
Hi, I am still working on the idea of "masking" labels by cockpit frame. I gave up with depth target texture, I only managed to drop empty dds textures...looks like there are not used by DCS when in cockpit view. But I found that there are PS that drawn parts of cockpit (see picture1 showing the result of modified the shader by adding Zcomponent on o0). So I tried to copy the o0 render target of this PS into another one, but it seems that the render target is containing not only the colored part of the picture but also the non cockpit frame ! See picture 2, when le right half of the picture must be imported from the render target texture. Here is the modified part of code of the shader 1ee088c836ae9614 that drawn the right side of the screen (picture 2): [code] ... Texture2D<float4> t100 : register(t79); ... tmp.x=v0.x*2; tmp.y=v0.y*2; result = t79.Load(int3(tmp.xy, 0)); if ( v0.x > 1920/2 ) { o0.xyzw = result.xyzw; o0.x += 0.5; }[/code] I used this lines in d3dx.ini (I want to take the render target of 1aa1765cd0ef3445 and use it in 1ee088c836ae9614 [code][ResourceDebug] [ShaderOverrideSu25TPS] Hash=1aa1765cd0ef3445 post ResourceDebug = o0 [ShaderOverrideControl] Hash=1ee088c836ae9614 ; o0 = bb ps-t79 = ResourceDebug post ps-t79 = null[/code] I think that it is working, because the right part of the HUD is not drawn and some effect like aliasing are on right side. But, by the hell, why are parts, that are not modified by shader, also drawn (like sky&ground) ? So what am I not understanding regarding render target copy into texture ?
Hi,
I am still working on the idea of "masking" labels by cockpit frame.
I gave up with depth target texture, I only managed to drop empty dds textures...looks like there are not used by DCS when in cockpit view.
But I found that there are PS that drawn parts of cockpit (see picture1 showing the result of modified the shader by adding Zcomponent on o0).
So I tried to copy the o0 render target of this PS into another one, but it seems that the render target is containing not only the colored part of the picture but also the non cockpit frame !
See picture 2, when le right half of the picture must be imported from the render target texture. Here is the modified part of code of the shader 1ee088c836ae9614 that drawn the right side of the screen (picture 2):

...
Texture2D<float4> t100 : register(t79);
...
tmp.x=v0.x*2;
tmp.y=v0.y*2;
result = t79.Load(int3(tmp.xy, 0));
if ( v0.x > 1920/2 ) {
o0.xyzw = result.xyzw;
o0.x += 0.5;
}


I used this lines in d3dx.ini (I want to take the render target of 1aa1765cd0ef3445 and use it in 1ee088c836ae9614
[ResourceDebug]

[ShaderOverrideSu25TPS]
Hash=1aa1765cd0ef3445
post ResourceDebug = o0

[ShaderOverrideControl]
Hash=1ee088c836ae9614
; o0 = bb
ps-t79 = ResourceDebug
post ps-t79 = null


I think that it is working, because the right part of the HUD is not drawn and some effect like aliasing are on right side. But, by the hell, why are parts, that are not modified by shader, also drawn (like sky&ground) ?
So what am I not understanding regarding render target copy into texture ?

Posted 03/13/2016 12:54 PM   
[quote="Oomek"]I mentioned that a while ago. Is it possible to run multiple passes of the custom shader from the [present] call? I need to take the backbuffer, process it a few times and then mix it in the final stage with the back buffer. If it's doable I would appreciate some rough ini example.[/quote] I'm responding to myself as I've managed to implement the cheap multipass Kawase blur. It's a bit dirty method as I've just created a separate shader for each blur pass and I run them all from the [present] call and passing the buffers with the previous shader output and the original backbuffer. [img]http://i.imgur.com/akKMOH0.png[/img]
Oomek said:I mentioned that a while ago. Is it possible to run multiple passes of the custom shader from the [present] call? I need to take the backbuffer, process it a few times and then mix it in the final stage with the back buffer. If it's doable I would appreciate some rough ini example.


I'm responding to myself as I've managed to implement the cheap multipass Kawase blur. It's a bit dirty method as I've just created a separate shader for each blur pass and I run them all from the [present] call and passing the buffers with the previous shader output and the original backbuffer.

Image

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

Posted 03/15/2016 05:22 PM   
[quote="lefuneste"]I gave up with depth target texture, I only managed to drop empty dds textures...looks like there are not used by DCS when in cockpit view.[/quote]Because of the way depth buffers are scaled they might appear to be all white when opened in an image viewer even though they do contain depth information. There's a few different ways they can be scaled - if the game is using a linear depth buffer they might contain values > 1.0 and the whole depth buffer would need to be rescaled to see them (e.g. with ddsinfo.py --auto-scale), but even if that is not the case the depth information might still be packed into values between 0.95 and 1.0 that are hard to distinguish at a glance. There are other ways a game might scale the depth buffer as well. [quote]So I tried to copy the o0 render target of this PS into another one, but it seems that the render target is containing not only the colored part of the picture but also the non cockpit frame ![/quote] The main render target is built up over the course of the frame, so it will contain the result of every shader run since the last time it was cleared, not just the result of the current shader. If you want to get just the result of the single draw call there are a couple of options: 1. You can copy the render target before and after the draw call, then discard any pixels that did not change. This may not be exact as there is a small chance that a pixel may be rendered the same colour that it was originally. 2. You can inject a simultaneous render target and write the information you need to it. You are responsible for clearing this render target (e.g. with a custom shader on the present call) 3. You can inject a custom shader from the shaderoverride section that writes the information it needs to a custom render target. Like 1 you are responsible for clearing this render target. There is an example of this approach in The Witness. [quote="Oomek"]I'm responding to myself as I've managed to implement the cheap multipass Kawase blur. It's a bit dirty method as I've just created a separate shader for each blur pass and I run them all from the [present] call and passing the buffers with the previous shader output and the original backbuffer.[/quote]Sorry, I meant to respond to this earlier, but I didn't have a good example nor time to write & debug one. The method you used is likely the best approach, though if you don't need to switch shaders and wanted to save a couple of state changes you could use multiple draw calls in the one custom shader section, with any state changes you need between them.
lefuneste said:I gave up with depth target texture, I only managed to drop empty dds textures...looks like there are not used by DCS when in cockpit view.
Because of the way depth buffers are scaled they might appear to be all white when opened in an image viewer even though they do contain depth information. There's a few different ways they can be scaled - if the game is using a linear depth buffer they might contain values > 1.0 and the whole depth buffer would need to be rescaled to see them (e.g. with ddsinfo.py --auto-scale), but even if that is not the case the depth information might still be packed into values between 0.95 and 1.0 that are hard to distinguish at a glance. There are other ways a game might scale the depth buffer as well.

So I tried to copy the o0 render target of this PS into another one, but it seems that the render target is containing not only the colored part of the picture but also the non cockpit frame !

The main render target is built up over the course of the frame, so it will contain the result of every shader run since the last time it was cleared, not just the result of the current shader.

If you want to get just the result of the single draw call there are a couple of options:

1. You can copy the render target before and after the draw call, then discard any pixels that did not change. This may not be exact as there is a small chance that a pixel may be rendered the same colour that it was originally.

2. You can inject a simultaneous render target and write the information you need to it. You are responsible for clearing this render target (e.g. with a custom shader on the present call)

3. You can inject a custom shader from the shaderoverride section that writes the information it needs to a custom render target. Like 1 you are responsible for clearing this render target. There is an example of this approach in The Witness.

Oomek said:I'm responding to myself as I've managed to implement the cheap multipass Kawase blur. It's a bit dirty method as I've just created a separate shader for each blur pass and I run them all from the [present] call and passing the buffers with the previous shader output and the original backbuffer.
Sorry, I meant to respond to this earlier, but I didn't have a good example nor time to write & debug one. The method you used is likely the best approach, though if you don't need to switch shaders and wanted to save a couple of state changes you could use multiple draw calls in the one custom shader section, with any state changes you need between them.

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 03/15/2016 11:13 PM   
[quote="DarkStarSword"]Sorry, I meant to respond to this earlier, but I didn't have a good example nor time to write & debug one. The method you used is likely the best approach, though if you don't need to switch shaders and wanted to save a couple of state changes you could use multiple draw calls in the one custom shader section, with any state changes you need between them. [/quote] I was planning to do it that way, but still don't know how. Bear in mind that I need to know which pass I'm currently running as the Kawase blur sampling offset is different on each pass. Edit: i think I know how to do it, I'll add it to the wiki page soon.
DarkStarSword said:Sorry, I meant to respond to this earlier, but I didn't have a good example nor time to write & debug one. The method you used is likely the best approach, though if you don't need to switch shaders and wanted to save a couple of state changes you could use multiple draw calls in the one custom shader section, with any state changes you need between them.


I was planning to do it that way, but still don't know how. Bear in mind that I need to know which pass I'm currently running as the Kawase blur sampling offset is different on each pass.

Edit: i think I know how to do it, I'll add it to the wiki page soon.

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

Posted 03/15/2016 11:23 PM   
I'm sure I can't be the first one to have considered this, but with all of the new additions to 3DMigoto, would it be possible to now fix certain issues in 3D compatibility mode? For example, The Division is pretty darn broken in 3DVision, but there's a working CM mode profile that has the game looking halfway decent, but the HUD is in 2D, which makes it unplayable. I decided to plug in 3DM, which worked perfectly fine for hunting, dumped the HUD shader, and applied the stereo fix, but all it did was shift the position of the HUD to the left, not split it in stereo. Is there any way we can achieve this? Also, not sure much about the way CM mode actually works (I know based off the z-buffer, but I don't know what limitations that imposes), but would there be any way (either now, or in the future) that 3DM could get it to add more depth/seperation, and possibly adjust convergence? Probably all just pipe dreams, and this has probably already been thought of and ruled out by you guys doing all the great work on this, but figured I'd ask. Edit: I've done a little more playing around with the bits using Helifax's guide, and able to get 3D HUD, so I assume that is where most of the solutions for this will be found, but still could be interesting if there could be some additional enhancement/fixing done to CM mode through 3DM, rather than going through the tedious process of trying different Nvidia driver bits.
I'm sure I can't be the first one to have considered this, but with all of the new additions to 3DMigoto, would it be possible to now fix certain issues in 3D compatibility mode?

For example, The Division is pretty darn broken in 3DVision, but there's a working CM mode profile that has the game looking halfway decent, but the HUD is in 2D, which makes it unplayable. I decided to plug in 3DM, which worked perfectly fine for hunting, dumped the HUD shader, and applied the stereo fix, but all it did was shift the position of the HUD to the left, not split it in stereo. Is there any way we can achieve this?

Also, not sure much about the way CM mode actually works (I know based off the z-buffer, but I don't know what limitations that imposes), but would there be any way (either now, or in the future) that 3DM could get it to add more depth/seperation, and possibly adjust convergence?

Probably all just pipe dreams, and this has probably already been thought of and ruled out by you guys doing all the great work on this, but figured I'd ask.

Edit: I've done a little more playing around with the bits using Helifax's guide, and able to get 3D HUD, so I assume that is where most of the solutions for this will be found, but still could be interesting if there could be some additional enhancement/fixing done to CM mode through 3DM, rather than going through the tedious process of trying different Nvidia driver bits.

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 03/17/2016 06:04 AM   
[quote="DJ-RK"]I'm sure I can't be the first one to have considered this, but with all of the new additions to 3DMigoto, would it be possible to now fix certain issues in 3D compatibility mode?[/quote]No, we're at the wrong position in the stack to be able to do this - we currently sit between the game and DirectX, but to fix CM issues we'd need to sit between the 3D Vision driver and the card. And even if it were possible to get 3DMigoto in to the right place in the stack there would be very little we could do since CM doesn't run the shaders twice, so there's nothing for us to alter. [quote]For example, The Division is pretty darn broken in 3DVision, but there's a working CM mode profile that has the game looking halfway decent, but the HUD is in 2D, which makes it unplayable. I decided to plug in 3DM, which worked perfectly fine for hunting, dumped the HUD shader, and applied the stereo fix, but all it did was shift the position of the HUD to the left, not split it in stereo. Is there any way we can achieve this?[/quote]There may be some profile bits that can adjust the HUD - from Helifax' experimentation (see the sticky) it seems that the driver must have some detection for HUD elements and the ability to treat them specially, but there is nothing we can do from 3DMigoto. [quote]Also, not sure much about the way CM mode actually works (I know based off the z-buffer, but I don't know what limitations that imposes), but would there be any way (either now, or in the future) that 3DM could get it to add more depth/seperation, and possibly adjust convergence?[/quote]Again no - this would have to come from the driver, and maybe there are profile bits that can adjust it, but your guess is as good as mine here. [quote]Probably all just pipe dreams, and this has probably already been thought of and ruled out by you guys doing all the great work on this, but figured I'd ask.[/quote]Don't completely rule it out. The custom shader support in 3DMigoto does open up the possibility for us to implement our own version of CM which would then allow us to have as much control as we needed... but it's not exactly a high priority, just an experiment that might be fun to try some day (like SBS was just an experiment a few weeks ago).
DJ-RK said:I'm sure I can't be the first one to have considered this, but with all of the new additions to 3DMigoto, would it be possible to now fix certain issues in 3D compatibility mode?
No, we're at the wrong position in the stack to be able to do this - we currently sit between the game and DirectX, but to fix CM issues we'd need to sit between the 3D Vision driver and the card. And even if it were possible to get 3DMigoto in to the right place in the stack there would be very little we could do since CM doesn't run the shaders twice, so there's nothing for us to alter.

For example, The Division is pretty darn broken in 3DVision, but there's a working CM mode profile that has the game looking halfway decent, but the HUD is in 2D, which makes it unplayable. I decided to plug in 3DM, which worked perfectly fine for hunting, dumped the HUD shader, and applied the stereo fix, but all it did was shift the position of the HUD to the left, not split it in stereo. Is there any way we can achieve this?
There may be some profile bits that can adjust the HUD - from Helifax' experimentation (see the sticky) it seems that the driver must have some detection for HUD elements and the ability to treat them specially, but there is nothing we can do from 3DMigoto.

Also, not sure much about the way CM mode actually works (I know based off the z-buffer, but I don't know what limitations that imposes), but would there be any way (either now, or in the future) that 3DM could get it to add more depth/seperation, and possibly adjust convergence?
Again no - this would have to come from the driver, and maybe there are profile bits that can adjust it, but your guess is as good as mine here.

Probably all just pipe dreams, and this has probably already been thought of and ruled out by you guys doing all the great work on this, but figured I'd ask.
Don't completely rule it out. The custom shader support in 3DMigoto does open up the possibility for us to implement our own version of CM which would then allow us to have as much control as we needed... but it's not exactly a high priority, just an experiment that might be fun to try some day (like SBS was just an experiment a few weeks ago).

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 03/17/2016 08:53 AM   
  63 / 143    
Scroll To Top