Yupp, tried that;) Problem is correcting some of the ambiental light but not the actual light casts..They are still 2D:( It was the first thing I actually tried:)
Maybe I'll try it again lol... but I remember trying it like 5 times in different places;))
Yupp, tried that;) Problem is correcting some of the ambiental light but not the actual light casts..They are still 2D:( It was the first thing I actually tried:)
Maybe I'll try it again lol... but I remember trying it like 5 times in different places;))
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
Maybe is not the correct PS?
Like you say that VS is related to 30 PS...probably all "lights" related.
Try to use "marking_mode=pink" instead skip....that "pink" option sometimes is very very helpfull to see some shaders that using skip are difficult to catch.
Maybe is not the correct PS?
Like you say that VS is related to 30 PS...probably all "lights" related.
Try to use "marking_mode=pink" instead skip....that "pink" option sometimes is very very helpfull to see some shaders that using skip are difficult to catch.
[quote="DHR"]Maybe is not the correct PS?
Like you say that VS is related to 30 PS...probably all "lights" related.
Try to use "marking_mode=pink" instead skip....that "pink" option sometimes is very very helpfull to see some shaders that using skip are difficult to catch.[/quote]
Will try that as well;) and see how it goes;)
I have a feeling all 30 PS are somehow related. I saw around 15 that control the TILES of the lighting system in a way or another...
The current implementation is WAAAAY better than default (which is 2D) but is not quite exactly right;)
DHR said:Maybe is not the correct PS?
Like you say that VS is related to 30 PS...probably all "lights" related.
Try to use "marking_mode=pink" instead skip....that "pink" option sometimes is very very helpfull to see some shaders that using skip are difficult to catch.
Will try that as well;) and see how it goes;)
I have a feeling all 30 PS are somehow related. I saw around 15 that control the TILES of the lighting system in a way or another...
The current implementation is WAAAAY better than default (which is 2D) but is not quite exactly right;)
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
//_fa_freqLow[5] - Should be InverseProjection0 ?!?!?! or is something else in this shader?!?!?!
// Works but only in certain angles
world_pos.x -= g_eye * g_eye_separation * (zLinear - g_convergence) * _fa_freqLow[4].x;
Using the above correction seems to work only at 0/180 angles when looking at the reflections. At 90 angle the stereo projection instead of being left/right is top/bottom;))
I am running out of ideas:( Anyone can help me out with it ? :)
Thank you in advance!
Edit: See line 244
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
It's a world coordinate so you need to convert it to the right coordinate system - do you have access to the inverse view-projection matrix? Or failing that the inverse view matrix?
Since it looks like you already know the linear depth it should be something like this (I doubt this syntax is right for GLSL, but I'm sure you can fix that up):
[code]
vec4 adjustment_clip_space = vec4(g_eye * g_eye_separation * (zLinear - g_convergence), 0, 0, 0);
vec4 adjustment_world_space = mul(adjustment_clip_space, inverse_view_projection);
world_pos.xyz -= adjustment_world_space.xyz;
[/code]
The multiply might be the other way around depending on whether the matrix is row-major or column-major.
It's a world coordinate so you need to convert it to the right coordinate system - do you have access to the inverse view-projection matrix? Or failing that the inverse view matrix?
Since it looks like you already know the linear depth it should be something like this (I doubt this syntax is right for GLSL, but I'm sure you can fix that up):
[quote="DarkStarSword"]It's a world coordinate so you need to convert it to the right coordinate system - do you have access to the inverse view-projection matrix? Or failing that the inverse view matrix?
Since it looks like you already know the linear depth it should be something like this (I doubt this syntax is right for GLSL, but I'm sure you can fix that up):
[code]
vec4 adjustment_clip_space = vec4(g_eye * g_eye_separation * (zLinear - g_convergence), 0, 0, 0);
vec4 adjustment_world_space = mul(adjustment_clip_space, inverse_view_projection);
world_pos.xyz -= adjustment_world_space.xyz;
[/code]
The multiply might be the other way around depending on whether the matrix is row-major or column-major.[/quote]
Awesome big thanks for the info;) Unfortunately all the things that I have access to are in the shader:( defined above...
I see some matrices are passed through "_fa_freqLow" and "_fa_freqHigh" but have no idea what is what:(( damn...
I'll play a bit and see if I can find one or spot anything;))
DarkStarSword said:It's a world coordinate so you need to convert it to the right coordinate system - do you have access to the inverse view-projection matrix? Or failing that the inverse view matrix?
Since it looks like you already know the linear depth it should be something like this (I doubt this syntax is right for GLSL, but I'm sure you can fix that up):
The multiply might be the other way around depending on whether the matrix is row-major or column-major.
Awesome big thanks for the info;) Unfortunately all the things that I have access to are in the shader:( defined above...
I see some matrices are passed through "_fa_freqLow" and "_fa_freqHigh" but have no idea what is what:(( damn...
I'll play a bit and see if I can find one or spot anything;))
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
In that case you might want to think about using the corners of the view frustum instead and derive what you need from that. I've only done this a few times (e.g. in The Last Tinker: City of Colors), so the below maths may be a little off, but it should be something like this:
[code]
// Frustum corners appear to be in _fa_freqLow[0,1,3,4], let's use 0 & 1 as the top two corners:
vec3 camera_horizontal_world = _fa_freqLow[1].xyz - _fa_freqLow[0].xyz;
// In this case I think that the frustum is already a unit distance from the
// camera, otherwise it would need to be rescaled.
// Find the width of the frustum using Pythagorus:
float frustum_width = sqrt(dot3(camera_horizontal_world.xyz, camera_horizontal_world.xyz));
// Calculate the horizontal unit vector:
vec3 camera_horizontal_world_normalized = camera_horizontal_world / frustum_width;
// Calculate the stereo adjustment magnitude, using frustum_width/2 in place of
// tan(fov_horizontal / 2) normally obtained from the inverse projection matrix:
float adjustment_magnitude = g_eye * g_eye_separation * (zLinear - g_convergence) * frustum_width / 2;
// World space adjustment is just the magitude * horizontal:
world_pos.xyz -= adjustment_magnitude * camera_horizontal_world_normalized;
[/code]
In that case you might want to think about using the corners of the view frustum instead and derive what you need from that. I've only done this a few times (e.g. in The Last Tinker: City of Colors), so the below maths may be a little off, but it should be something like this:
// Frustum corners appear to be in _fa_freqLow[0,1,3,4], let's use 0 & 1 as the top two corners:
vec3 camera_horizontal_world = _fa_freqLow[1].xyz - _fa_freqLow[0].xyz;
// In this case I think that the frustum is already a unit distance from the
// camera, otherwise it would need to be rescaled.
// Find the width of the frustum using Pythagorus:
float frustum_width = sqrt(dot3(camera_horizontal_world.xyz, camera_horizontal_world.xyz));
// Calculate the horizontal unit vector:
vec3 camera_horizontal_world_normalized = camera_horizontal_world / frustum_width;
// Calculate the stereo adjustment magnitude, using frustum_width/2 in place of
// tan(fov_horizontal / 2) normally obtained from the inverse projection matrix:
float adjustment_magnitude = g_eye * g_eye_separation * (zLinear - g_convergence) * frustum_width / 2;
// World space adjustment is just the magitude * horizontal:
world_pos.xyz -= adjustment_magnitude * camera_horizontal_world_normalized;
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
DarkStarSword said:In that case you might want to think about using the corners of the view frustum instead and derive what you need from that. I've only done this a few times (e.g. in The Last Tinker: City of Colors), so the below maths may be a little off, but it should be something like this:
// Frustum corners appear to be in _fa_freqLow[0,1,3,4], let's use 0 & 1 as the top two corners:
vec3 camera_horizontal_world = _fa_freqLow[1].xyz - _fa_freqLow[0].xyz;
// In this case I think that the frustum is already a unit distance from the
// camera, otherwise it would need to be rescaled.
// Find the width of the frustum using Pythagorus:
float frustum_width = sqrt(dot3(camera_horizontal_world.xyz, camera_horizontal_world.xyz));
// Calculate the horizontal unit vector:
vec3 camera_horizontal_world_normalized = camera_horizontal_world / frustum_width;
// Calculate the stereo adjustment magnitude, using frustum_width/2 in place of
// tan(fov_horizontal / 2) normally obtained from the inverse projection matrix:
float adjustment_magnitude = g_eye * g_eye_separation * (zLinear - g_convergence) * frustum_width / 2;
// World space adjustment is just the magitude * horizontal:
world_pos.xyz -= adjustment_magnitude * camera_horizontal_world_normalized;
OMG! AWESOME!!! It was literally Plug and PLAY. Now reading through it I kinda understand what is going on there;)
Now, I also have another shader that is a bit more complicated than the above.
It is responsible for environment reflections and is doing some reprojections inside. I managed to make it render from broken 3D in 2D. But now.... I am completely at a loss. I tried the above methods and none worked. The shader is different though... So, I am unsure what I need to do to it...
If you have a few minutes free any help (YET AGAIN ^_^) will be INVALUABLE!
At line 212, I managed to make it 2D again. I am not sure if is the right way, but the result is definitely a 2D projection now.
BIG BIG BIG THANK YOU AGAIN!!!
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
[quote="helifax"]OMG! AWESOME!!! It was literally Plug and PLAY. Now reading through it I kinda understand what is going on there;)[/quote]Awesome =D
[quote="helifax"]Now, I also have another shader that is a bit more complicated than the above.
It is responsible for environment reflections and is doing some reprojections inside. I managed to make it render from broken 3D in 2D. But now.... I am completely at a loss. I tried the above methods and none worked. The shader is different though... So, I am unsure what I need to do to it...[/quote]Haha:
[code]
scene.world_pos = GetViewPos( vec3( tc * _fa_freqLow[4 ].zw, scene.depth ), _fa_freqLow[5 ], _fa_freqLow[6 ] );[/code]
They called the variable world_pos, but I'm pretty sure that is a view-space coordinate, which would be why your attempt was able to make it 2D :)
If this is an environment reflection you might just try moving it to infinity by subtracting or adding separation, or separation*convergence. You may need to use the IntProjT[0].x since it's a view-space coordinate, though I'm a little confused as to why that is defined as a 3x3 matrix and not a 4x4 matrix. Even simple reflections can vary a lot from game to game, so you might need to experiment a little to see what works best.
I am a little concerned though - I haven't studied the shader in detail yet, but I notice it appears to be casting a ray, which looks like it might actually be a screen-space reflection. If so, these have been a real PITA in other games and I've never been happy with any of my "fixes" for these (though in some games like MGSV and Trine 3 they are actually decent out of the box). You might have a better chance though since the GLSL gives you a much clearer view of the ray casting loop than any of the disassembled shaders I've looked at.
Which game is this BTW?
helifax said:OMG! AWESOME!!! It was literally Plug and PLAY. Now reading through it I kinda understand what is going on there;)
Awesome =D
helifax said:Now, I also have another shader that is a bit more complicated than the above.
It is responsible for environment reflections and is doing some reprojections inside. I managed to make it render from broken 3D in 2D. But now.... I am completely at a loss. I tried the above methods and none worked. The shader is different though... So, I am unsure what I need to do to it...
They called the variable world_pos, but I'm pretty sure that is a view-space coordinate, which would be why your attempt was able to make it 2D :)
If this is an environment reflection you might just try moving it to infinity by subtracting or adding separation, or separation*convergence. You may need to use the IntProjT[0].x since it's a view-space coordinate, though I'm a little confused as to why that is defined as a 3x3 matrix and not a 4x4 matrix. Even simple reflections can vary a lot from game to game, so you might need to experiment a little to see what works best.
I am a little concerned though - I haven't studied the shader in detail yet, but I notice it appears to be casting a ray, which looks like it might actually be a screen-space reflection. If so, these have been a real PITA in other games and I've never been happy with any of my "fixes" for these (though in some games like MGSV and Trine 3 they are actually decent out of the box). You might have a better chance though since the GLSL gives you a much clearer view of the ray casting loop than any of the disassembled shaders I've looked at.
Which game is this BTW?
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
Yeah I was a little confused myself why they would call WORLD POS and then get VIEW POS...
This is from DOOM (2016) and this shader controls the ambient reflections. It definitely LOOKS like Screen Space Reflections though. The behaviour kinda looks like the one in Rise of Tomb Raider (only is always broken).
So now I am wondering, should I make it 2D first and then try to make it 3D from there? I think this is the way otherwise it will be off always. Going to try to experiment a bit;)
Big thank you again!
I hope I can fix this one as well;) The previous shader was for normal reflections but if this one is broken I have to disable both:(( Which is a pity:(
Yeah I was a little confused myself why they would call WORLD POS and then get VIEW POS...
This is from DOOM (2016) and this shader controls the ambient reflections. It definitely LOOKS like Screen Space Reflections though. The behaviour kinda looks like the one in Rise of Tomb Raider (only is always broken).
So now I am wondering, should I make it 2D first and then try to make it 3D from there? I think this is the way otherwise it will be off always. Going to try to experiment a bit;)
Big thank you again!
I hope I can fix this one as well;) The previous shader was for normal reflections but if this one is broken I have to disable both:(( Which is a pity:(
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
This is possibly old news to people, but figured it wouldn't hurt to point this out.
CryEngine has been open-sourced. It's on GitHub.
https://github.com/CRYTEK-CRYENGINE/CRYENGINE
The particularly interesting part is the inclusion of all of their cfx files, so we can see exactly what they are doing in the shaders, including variables.
https://github.com/CRYTEK-CRYENGINE/CRYENGINE/tree/release/Engine/Shaders/HWScripts/CryFX
The particularly interesting part is the inclusion of all of their cfx files, so we can see exactly what they are doing in the shaders, including variables.
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
@helifax
I think the fix is the same than the one used in the PS for shadows/lights. If you compare PS with the CS, there are almost the same, both using "invViewProjectionMatrix". You should try.
BUT, i don't know how to do the inverse of the "invViewProjectionMatrix" in ASM :(
I think the fix is the same than the one used in the PS for shadows/lights. If you compare PS with the CS, there are almost the same, both using "invViewProjectionMatrix". You should try.
BUT, i don't know how to do the inverse of the "invViewProjectionMatrix" in ASM :(
Thx DHR;)
I had a feeling;) that is the case;)
Nothing to worry;) I have a plan:
- In HLSL make the inverse, build the shader.
- In-game find it again and DUMP it.
- The shader should now have the modified HLSL (from above) and also the RE-BUILT ASM code which will include everything including the inverse of the inverseViewProjMatrix;)
- Then is just a bit of compare to see what is different;)
I'll give it a go and see if works Oo:))
Thanks!
I had a feeling;) that is the case;)
Nothing to worry;) I have a plan:
- In HLSL make the inverse, build the shader.
- In-game find it again and DUMP it.
- The shader should now have the modified HLSL (from above) and also the RE-BUILT ASM code which will include everything including the inverse of the inverseViewProjMatrix;)
- Then is just a bit of compare to see what is different;)
I'll give it a go and see if works Oo:))
Thanks!
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
[quote="bo3b"]This is possibly old news to people, but figured it wouldn't hurt to point this out.
CryEngine has been open-sourced. It's on GitHub.
https://github.com/CRYTEK-CRYENGINE/CRYENGINE
The particularly interesting part is the inclusion of all of their cfx files, so we can see exactly what they are doing in the shaders, including variables.
https://github.com/CRYTEK-CRYENGINE/CRYENGINE/tree/release/Engine/Shaders/HWScripts/CryFX
[/quote]
Any new hope for Ryse then?
The first Crysis can be nice too :D.
Finish it a second time but in 3D will be nice.
I will wait to see if a shaderhacker look and fix them.
Have to take the time to look at your school, to see how you do and why not start to fix games i want too if i can.
The Witcher 1 fix wasn't perfect, and look for the telltale games.
The particularly interesting part is the inclusion of all of their cfx files, so we can see exactly what they are doing in the shaders, including variables.
Any new hope for Ryse then?
The first Crysis can be nice too :D.
Finish it a second time but in 3D will be nice.
I will wait to see if a shaderhacker look and fix them.
Have to take the time to look at your school, to see how you do and why not start to fix games i want too if i can.
The Witcher 1 fix wasn't perfect, and look for the telltale games.
Maybe I'll try it again lol... but I remember trying it like 5 times in different places;))
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)
Like you say that VS is related to 30 PS...probably all "lights" related.
Try to use "marking_mode=pink" instead skip....that "pink" option sometimes is very very helpfull to see some shaders that using skip are difficult to catch.
MY WEB
Helix Mod - Making 3D Better
My 3D Screenshot Gallery
Like my fixes? you can donate to Paypal: dhr.donation@gmail.com
Will try that as well;) and see how it goes;)
I have a feeling all 30 PS are somehow related. I saw around 15 that control the TILES of the lighting system in a way or another...
The current implementation is WAAAAY better than default (which is 2D) but is not quite exactly right;)
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)
I have this Pixel shader in GLSL:
Using the above correction seems to work only at 0/180 angles when looking at the reflections. At 90 angle the stereo projection instead of being left/right is top/bottom;))
I am running out of ideas:( Anyone can help me out with it ? :)
Thank you in advance!
Edit: See line 244
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)
Since it looks like you already know the linear depth it should be something like this (I doubt this syntax is right for GLSL, but I'm sure you can fix that up):
The multiply might be the other way around depending on whether the matrix is row-major or column-major.
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
Awesome big thanks for the info;) Unfortunately all the things that I have access to are in the shader:( defined above...
I see some matrices are passed through "_fa_freqLow" and "_fa_freqHigh" but have no idea what is what:(( damn...
I'll play a bit and see if I can find one or spot anything;))
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)
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
OMG! AWESOME!!! It was literally Plug and PLAY. Now reading through it I kinda understand what is going on there;)
Now, I also have another shader that is a bit more complicated than the above.
It is responsible for environment reflections and is doing some reprojections inside. I managed to make it render from broken 3D in 2D. But now.... I am completely at a loss. I tried the above methods and none worked. The shader is different though... So, I am unsure what I need to do to it...
If you have a few minutes free any help (YET AGAIN ^_^) will be INVALUABLE!
At line 212, I managed to make it 2D again. I am not sure if is the right way, but the result is definitely a 2D projection now.
BIG BIG BIG THANK YOU AGAIN!!!
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)
Haha:
They called the variable world_pos, but I'm pretty sure that is a view-space coordinate, which would be why your attempt was able to make it 2D :)
If this is an environment reflection you might just try moving it to infinity by subtracting or adding separation, or separation*convergence. You may need to use the IntProjT[0].x since it's a view-space coordinate, though I'm a little confused as to why that is defined as a 3x3 matrix and not a 4x4 matrix. Even simple reflections can vary a lot from game to game, so you might need to experiment a little to see what works best.
I am a little concerned though - I haven't studied the shader in detail yet, but I notice it appears to be casting a ray, which looks like it might actually be a screen-space reflection. If so, these have been a real PITA in other games and I've never been happy with any of my "fixes" for these (though in some games like MGSV and Trine 3 they are actually decent out of the box). You might have a better chance though since the GLSL gives you a much clearer view of the ray casting loop than any of the disassembled shaders I've looked at.
Which game is this BTW?
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
This is from DOOM (2016) and this shader controls the ambient reflections. It definitely LOOKS like Screen Space Reflections though. The behaviour kinda looks like the one in Rise of Tomb Raider (only is always broken).
So now I am wondering, should I make it 2D first and then try to make it 3D from there? I think this is the way otherwise it will be off always. Going to try to experiment a bit;)
Big thank you again!
I hope I can fix this one as well;) The previous shader was for normal reflections but if this one is broken I have to disable both:(( Which is a pity:(
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)
CryEngine has been open-sourced. It's on GitHub.
https://github.com/CRYTEK-CRYENGINE/CRYENGINE
The particularly interesting part is the inclusion of all of their cfx files, so we can see exactly what they are doing in the shaders, including variables.
https://github.com/CRYTEK-CRYENGINE/CRYENGINE/tree/release/Engine/Shaders/HWScripts/CryFX
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
So, I am again attempting to solve the mystery of the compute shaders in Frostbyte 3 engine.
I have this compute shader that controls some lights (No other VS/PS controls this as I looked through all shaders).
I already attempted to fix it. I can see something that is pushed in stereo but far from the proper result.
Anyone has any clues?
Here is the HLSL version (is broken like you can see but helps figuring what is what a bit)
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)
I think the fix is the same than the one used in the PS for shadows/lights. If you compare PS with the CS, there are almost the same, both using "invViewProjectionMatrix". You should try.
BUT, i don't know how to do the inverse of the "invViewProjectionMatrix" in ASM :(
MY WEB
Helix Mod - Making 3D Better
My 3D Screenshot Gallery
Like my fixes? you can donate to Paypal: dhr.donation@gmail.com
I had a feeling;) that is the case;)
Nothing to worry;) I have a plan:
- In HLSL make the inverse, build the shader.
- In-game find it again and DUMP it.
- The shader should now have the modified HLSL (from above) and also the RE-BUILT ASM code which will include everything including the inverse of the inverseViewProjMatrix;)
- Then is just a bit of compare to see what is different;)
I'll give it a go and see if works Oo:))
Thanks!
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)
Any new hope for Ryse then?
The first Crysis can be nice too :D.
Finish it a second time but in 3D will be nice.
I will wait to see if a shaderhacker look and fix them.
Have to take the time to look at your school, to see how you do and why not start to fix games i want too if i can.
The Witcher 1 fix wasn't perfect, and look for the telltale games.