@DarkStarSword: If you find that you need the pro version to figure stuff out, let me know. I have an unused 4 month key for Unity Pro I got as part of the Kickstarter for DK1. I'd be happy to throw that into the ring if it's needed.
@DarkStarSword: If you find that you need the pro version to figure stuff out, let me know. I have an unused 4 month key for Unity Pro I got as part of the Kickstarter for DK1. I'd be happy to throw that into the ring if it's needed.
Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607 Latest 3Dmigoto Release Bo3b's School for ShaderHackers
[quote="bo3b"]@DarkStarSword: If you find that you need the pro version to figure stuff out, let me know. I have an unused 4 month key for Unity Pro I got as part of the Kickstarter for DK1. I'd be happy to throw that into the ring if it's needed.[/quote]
I might eventually take you up on that offer, but not until I make some progress and prove that this is an approach worth exploring - it looks like the free version supports shadows for directional lights only, but that should be enough to prove out the approach. My plan is to go through some of the tutorials so I can get a feel for how it's supposed to work, and see if I can fix things in my own test projects.
A couple of other things I've worked out - with a shader selected in the assets tree you can click "Show current" / "Show all" under debugging->compiled code on the right pane to see the assembly it generates (and the inputs we don't see in the shader header) for each platform including d3d9 and d3d11. Also, on closer examination the shaders under projectors were clearly too simple for shadows, so I dug deeper and found Editor\data\CGIncludes\AutoLight.cginc - paydirt!
I notice a lot of #ifdefs, which might explain why we see so many slightly different lighting shaders in Unity games - they'd be the result of the various permutations of those config options.
bo3b said:@DarkStarSword: If you find that you need the pro version to figure stuff out, let me know. I have an unused 4 month key for Unity Pro I got as part of the Kickstarter for DK1. I'd be happy to throw that into the ring if it's needed.
I might eventually take you up on that offer, but not until I make some progress and prove that this is an approach worth exploring - it looks like the free version supports shadows for directional lights only, but that should be enough to prove out the approach. My plan is to go through some of the tutorials so I can get a feel for how it's supposed to work, and see if I can fix things in my own test projects.
A couple of other things I've worked out - with a shader selected in the assets tree you can click "Show current" / "Show all" under debugging->compiled code on the right pane to see the assembly it generates (and the inputs we don't see in the shader header) for each platform including d3d9 and d3d11. Also, on closer examination the shaders under projectors were clearly too simple for shadows, so I dug deeper and found Editor\data\CGIncludes\AutoLight.cginc - paydirt!
I notice a lot of #ifdefs, which might explain why we see so many slightly different lighting shaders in Unity games - they'd be the result of the various permutations of those config options.
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
[quote="Pirateguybrush"]In case anyone's wondering, here's what it looks like. You won't need the glasses to see how broken it is.
http://imgur.com/a/3JBac[/quote] On my setup it wasn't kicking in at all, but looking at your shots there, it's actually not as bad as it seems.
The main character halo is generally an easy fix where the texture it misaligned with the model, and needs to be stereo corrected. The shadows are broken and will be hard, but it might be worth fooling around with disabling the shadows as a way to get a better sense of where it stands.
Pirateguybrush said:In case anyone's wondering, here's what it looks like. You won't need the glasses to see how broken it is.
http://imgur.com/a/3JBac
On my setup it wasn't kicking in at all, but looking at your shots there, it's actually not as bad as it seems.
The main character halo is generally an easy fix where the texture it misaligned with the model, and needs to be stereo corrected. The shadows are broken and will be hard, but it might be worth fooling around with disabling the shadows as a way to get a better sense of where it stands.
Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607 Latest 3Dmigoto Release Bo3b's School for ShaderHackers
[quote="Pirateguybrush"]I couldn't get the debugger to show the red text, though I only made a brief attempt. When I asked the devs on the backer forums months ago, they said they were aiming for DX11. I guess they changed their minds.
With the OpenGLL dependency, is that fairly unique or something that might be happening in other Unity games?[/quote]
For me the game says is DX9.... I can't see any OGL or DX11 there:-s
See ? DX9 ^_^
[url=http://www.iforce.co.nz/View.aspx?i=me1tkwbt.qjm.jpg][img]http://iforce.co.nz/i/me1tkwbt.qjm.jpg[/img][/url]
I will give it a look in the weekend. Bear in mind that I will probably not be that awesome as Mike or Bo3b in fixing stuff:)) But I will give my best:)
Pirateguybrush said:I couldn't get the debugger to show the red text, though I only made a brief attempt. When I asked the devs on the backer forums months ago, they said they were aiming for DX11. I guess they changed their minds.
With the OpenGLL dependency, is that fairly unique or something that might be happening in other Unity games?
For me the game says is DX9.... I can't see any OGL or DX11 there:-s
See ? DX9 ^_^
I will give it a look in the weekend. Bear in mind that I will probably not be that awesome as Mike or Bo3b in fixing stuff:)) But I will give my best:)
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
Yep, like I said earlier, it has some d3d9.dll backend, so HelixMod can load. But....
[img]https://forums.geforce.com/cmd/default/download-comment-attachment/61994/[/img]
[quote="bo3b"]Yep, like I said earlier, it has some d3d9.dll backend, so HelixMod can load. But....
[img]https://forums.geforce.com/cmd/default/download-comment-attachment/61994/[/img][/quote]
I can give it a look and see if my wrapper picks up anything...If it would be an OGL app 3dvision wouldn't kick it or at least (if it would kick in) it would render in 2D... From what I understood it does render in 3D but with issues...so that means that 3D Vision Automatics works...
bo3b said:Yep, like I said earlier, it has some d3d9.dll backend, so HelixMod can load. But....
I can give it a look and see if my wrapper picks up anything...If it would be an OGL app 3dvision wouldn't kick it or at least (if it would kick in) it would render in 2D... From what I understood it does render in 3D but with issues...so that means that 3D Vision Automatics works...
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"]The main character halo is generally an easy fix where the texture it misaligned with the model, and needs to be stereo corrected. The shadows are broken and will be hard, but it might be worth fooling around with disabling the shadows as a way to get a better sense of where it stands.[/quote]
The main character halo is actually lighting related - it seems to be a misaligned self-shadow. It's also actually a double halo (i.e. you can see three copies of the main character if you close one eye), though one of the halos is less obvious than the other, depending on the camera angle.
The alignment seems to be related to the bump map misalignment on the ground, which would make sense since they are both related to the light.
I've been able to disable the light to remove all the shadows and halos, but only in terms of making things darker - when I tried to set the output to 1 I just made the whole screen white. You can set the in-game quality to low to remove the shadows, but the self shadow halo remains.
My experience with Unity so far is that profiles that have StereoUseMatrix set will fix most of the halo issues, but double-halo issues like this one don't get completely fixed and the flickering I saw using such a profile in this game has me worried that that approach will cause more problems then it solves (I saw the same flickering on double-halo lights when using a profile in World of Diving. Also, at least in World of Diving using a profile broke the few shadows that were previously working). I'm currently using the "3D-Hub player" profile which allows 3D to kick in but doesn't set StereoUseMatrix.
One gotcha to be aware of that already cost me at least a few hours - Helix mod seems very unreliable for non full-screen games. If often passes in separation=0 to the shaders so fixes won't seem to do anything at all! I've found it's sometimes necessary to adjust the separation in game to get it to start working, and this sometimes happens again after alt+tabbing in and out.
Before I switched to using a profile in World of Diving, I had managed to fix some of the halo/misaligned bumpmaps which might help here (4EE68EB0.txt - which is the vertex shader for the sand on the main menu as opposed to the light shader - when I tried adjusting the light shader I couldn't quite get things to line up perfectly, and I think I'm seeing the same thing happening here):
https://github.com/DarkStarSword/3d-fixes/commit/1566c78f2de574d01faa9236cb36dbbdbe074b43
Here's a couple of things I've tried so far in Dreamfall - uncorrecting the output position in the light vertex shader partially fixes one of the halos and makes the shadows line up with the ground (they are still in the wrong position, but they are now at the right depth):
https://github.com/DarkStarSword/3d-fixes/blob/master/Dreamfall%20Chapters/ShaderOverride/VertexShaders/92E51A17.txt
Alternatively, correcting texcoord makes both halos mostly line up, but they are still slightly off (which reminds me of what I saw when I tried that in World of Diving - so looking at the snow vertex shader might be the next thing to try).
Here's the pixel shader for the light with a partial fix applied from Mike's Might & Magic X fix - his method of overriding the input position has the same result on the halo as uncorrecting the output position in the vertex shader (i.e. one of two halos fixed), and I haven't tried his shadow depth fix yet (which does not affect the halo). There might be something else in this shader that needs tweaking:
https://github.com/DarkStarSword/3d-fixes/blob/master/Dreamfall%20Chapters/ShaderOverride/PixelShaders/FD2FC596.txt
I'm probably not going to be able to work on this over the weekend unfortunately - I'm off to an open source code camp and they may not appreciate me working to fix a closed source game on a proprietary operating system :-p
bo3b said:The main character halo is generally an easy fix where the texture it misaligned with the model, and needs to be stereo corrected. The shadows are broken and will be hard, but it might be worth fooling around with disabling the shadows as a way to get a better sense of where it stands.
The main character halo is actually lighting related - it seems to be a misaligned self-shadow. It's also actually a double halo (i.e. you can see three copies of the main character if you close one eye), though one of the halos is less obvious than the other, depending on the camera angle.
The alignment seems to be related to the bump map misalignment on the ground, which would make sense since they are both related to the light.
I've been able to disable the light to remove all the shadows and halos, but only in terms of making things darker - when I tried to set the output to 1 I just made the whole screen white. You can set the in-game quality to low to remove the shadows, but the self shadow halo remains.
My experience with Unity so far is that profiles that have StereoUseMatrix set will fix most of the halo issues, but double-halo issues like this one don't get completely fixed and the flickering I saw using such a profile in this game has me worried that that approach will cause more problems then it solves (I saw the same flickering on double-halo lights when using a profile in World of Diving. Also, at least in World of Diving using a profile broke the few shadows that were previously working). I'm currently using the "3D-Hub player" profile which allows 3D to kick in but doesn't set StereoUseMatrix.
One gotcha to be aware of that already cost me at least a few hours - Helix mod seems very unreliable for non full-screen games. If often passes in separation=0 to the shaders so fixes won't seem to do anything at all! I've found it's sometimes necessary to adjust the separation in game to get it to start working, and this sometimes happens again after alt+tabbing in and out.
Before I switched to using a profile in World of Diving, I had managed to fix some of the halo/misaligned bumpmaps which might help here (4EE68EB0.txt - which is the vertex shader for the sand on the main menu as opposed to the light shader - when I tried adjusting the light shader I couldn't quite get things to line up perfectly, and I think I'm seeing the same thing happening here):
https://github.com/DarkStarSword/3d-fixes/commit/1566c78f2de574d01faa9236cb36dbbdbe074b43
Alternatively, correcting texcoord makes both halos mostly line up, but they are still slightly off (which reminds me of what I saw when I tried that in World of Diving - so looking at the snow vertex shader might be the next thing to try).
Here's the pixel shader for the light with a partial fix applied from Mike's Might & Magic X fix - his method of overriding the input position has the same result on the halo as uncorrecting the output position in the vertex shader (i.e. one of two halos fixed), and I haven't tried his shadow depth fix yet (which does not affect the halo). There might be something else in this shader that needs tweaking:
https://github.com/DarkStarSword/3d-fixes/blob/master/Dreamfall%20Chapters/ShaderOverride/PixelShaders/FD2FC596.txt
I'm probably not going to be able to work on this over the weekend unfortunately - I'm off to an open source code camp and they may not appreciate me working to fix a closed source game on a proprietary operating system :-p
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
[img]https://forums.geforce.com/cmd/default/download-comment-attachment/61995/[/img]
I took a brief look & managed to fix most of the issues in the first area. But the game has major FOV issues- when you zoom out, shadows & lights lift off of the ground. I did some asking around a while back and was informed that in Unity games, FOV information is not stored in any of the constants. Instead it's located within the Projection Matrix. I would love to be able to find a solution for this.
I took a brief look & managed to fix most of the issues in the first area. But the game has major FOV issues- when you zoom out, shadows & lights lift off of the ground. I did some asking around a while back and was informed that in Unity games, FOV information is not stored in any of the constants. Instead it's located within the Projection Matrix. I would love to be able to find a solution for this.
Oh wow, that looks really promising. But that FOV issue sounds a bit like a showstopper. Google shows a whole lot of information on that, but I don't understand any of it. Is it theoretically possible to extract that FOV information from the projection matrix, or is that outside the scope of what Helixmod can do?
Is there something Red Thread could easily do to make it easier, perhaps store the constant in a shader (maybe a dummy shader)? I can get in touch and ask, if you like.
Oh wow, that looks really promising. But that FOV issue sounds a bit like a showstopper. Google shows a whole lot of information on that, but I don't understand any of it. Is it theoretically possible to extract that FOV information from the projection matrix, or is that outside the scope of what Helixmod can do?
Is there something Red Thread could easily do to make it easier, perhaps store the constant in a shader (maybe a dummy shader)? I can get in touch and ask, if you like.
[quote="4everAwake"]I took a brief look & managed to fix most of the issues in the first area. But the game has major FOV issues- when you zoom out, shadows & lights lift off of the ground. I did some asking around a while back and was informed that in Unity games, FOV information is not stored in any of the constants. Instead it's located within the Projection Matrix. I would love to be able to find a solution for this.[/quote]
Thanks for that - would you be able to upload your WIP so I can take a look?
I've got an idea that might be able to get the projection matrix into the pixel shader if that would help with the FOV - GetConstNFromReg can copy a matrix passed into a VS and then SetConstNToReg can pass it in to the pixel shader. I haven't tried this yet, and I'm not familiar enough with the maths to know how to extract the FOV from the matrix even if this does work, but maybe someone can do something with this?
4everAwake said:I took a brief look & managed to fix most of the issues in the first area. But the game has major FOV issues- when you zoom out, shadows & lights lift off of the ground. I did some asking around a while back and was informed that in Unity games, FOV information is not stored in any of the constants. Instead it's located within the Projection Matrix. I would love to be able to find a solution for this.
Thanks for that - would you be able to upload your WIP so I can take a look?
I've got an idea that might be able to get the projection matrix into the pixel shader if that would help with the FOV - GetConstNFromReg can copy a matrix passed into a VS and then SetConstNToReg can pass it in to the pixel shader. I haven't tried this yet, and I'm not familiar enough with the maths to know how to extract the FOV from the matrix even if this does work, but maybe someone can do something with this?
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
[quote="Pirateguybrush"]Is it theoretically possible to extract that FOV information from the projection matrix, or is that outside the scope of what Helixmod can do?[/quote]
I'm not sure. I'm still pretty clueless about shader programming (or programming in general). But I'm guessing this is where headers may make a difference.
[quote="DarkStarSword"]I've got an idea that might be able to get the projection matrix into the pixel shader if that would help with the FOV - GetConstNFromReg can copy a matrix passed into a VS and then SetConstNToReg can pass it in to the pixel shader. I haven't tried this yet, and I'm not familiar enough with the maths to know how to extract the FOV from the matrix even if this does work, but maybe someone can do something with this?[/quote]
I was told this is the formula to extract the FOV from the projection matrix (in HLSL):
Mathf.Atan( 1f / camera.projectionMatrix[1, 1] ) * 2 * Mathf.Rad2Deg
But we need more definitions for the camera & projection matrix.
Pirateguybrush said:Is it theoretically possible to extract that FOV information from the projection matrix, or is that outside the scope of what Helixmod can do?
I'm not sure. I'm still pretty clueless about shader programming (or programming in general). But I'm guessing this is where headers may make a difference.
DarkStarSword said:I've got an idea that might be able to get the projection matrix into the pixel shader if that would help with the FOV - GetConstNFromReg can copy a matrix passed into a VS and then SetConstNToReg can pass it in to the pixel shader. I haven't tried this yet, and I'm not familiar enough with the maths to know how to extract the FOV from the matrix even if this does work, but maybe someone can do something with this?
I was told this is the formula to extract the FOV from the projection matrix (in HLSL):
http://unity3d.com/unity/download/archive/ - how did I not notice the download links to the source code for all built in shaders before? Easier than trying to work out how to extract all the hidden ones, that's for sure.
http://forum.xentax.com/viewtopic.php?p=96771#p96771 - useful tool to extract compiled shaders from unity .asset files, which provides more detail than dumping them from Helix mod (headers are intact and it dumps all variants of the shaders for all targeted platforms).
So far I haven't made much progress with the free version of Unity because the shadows seem to work fine in my test projects. It seems that the free version only supports forward rendering, and I'm thinking it's more likely deferred rendering that causes issues.
http://unity3d.com/unity/download/archive/ - how did I not notice the download links to the source code for all built in shaders before? Easier than trying to work out how to extract all the hidden ones, that's for sure.
http://forum.xentax.com/viewtopic.php?p=96771#p96771 - useful tool to extract compiled shaders from unity .asset files, which provides more detail than dumping them from Helix mod (headers are intact and it dumps all variants of the shaders for all targeted platforms).
So far I haven't made much progress with the free version of Unity because the shadows seem to work fine in my test projects. It seems that the free version only supports forward rendering, and I'm thinking it's more likely deferred rendering that causes issues.
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
Wow, nice find! Definitely better to get the original shaders.
For the deferred rendering question, there seems to be a 30 day free trial of Pro. Long enough to determine if it helps anyway.
http://unity3d.com/unity/download
Yep. My plan is to try to become a bit more familiar with Unity before I start the trial period to try to make the best use of my time during those 30 days :)
Yep. My plan is to try to become a bit more familiar with Unity before I start the trial period to try to make the best use of my time during those 30 days :)
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
http://imgur.com/a/3JBac
Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers
I might eventually take you up on that offer, but not until I make some progress and prove that this is an approach worth exploring - it looks like the free version supports shadows for directional lights only, but that should be enough to prove out the approach. My plan is to go through some of the tutorials so I can get a feel for how it's supposed to work, and see if I can fix things in my own test projects.
A couple of other things I've worked out - with a shader selected in the assets tree you can click "Show current" / "Show all" under debugging->compiled code on the right pane to see the assembly it generates (and the inputs we don't see in the shader header) for each platform including d3d9 and d3d11. Also, on closer examination the shaders under projectors were clearly too simple for shadows, so I dug deeper and found Editor\data\CGIncludes\AutoLight.cginc - paydirt!
I notice a lot of #ifdefs, which might explain why we see so many slightly different lighting shaders in Unity games - they'd be the result of the various permutations of those config options.
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
The main character halo is generally an easy fix where the texture it misaligned with the model, and needs to be stereo corrected. The shadows are broken and will be hard, but it might be worth fooling around with disabling the shadows as a way to get a better sense of where it stands.
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
For me the game says is DX9.... I can't see any OGL or DX11 there:-s
See ? DX9 ^_^
I will give it a look in the weekend. Bear in mind that I will probably not be that awesome as Mike or Bo3b in fixing stuff:)) But I will give my best:)
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)
Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers
I can give it a look and see if my wrapper picks up anything...If it would be an OGL app 3dvision wouldn't kick it or at least (if it would kick in) it would render in 2D... From what I understood it does render in 3D but with issues...so that means that 3D Vision Automatics works...
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)
The main character halo is actually lighting related - it seems to be a misaligned self-shadow. It's also actually a double halo (i.e. you can see three copies of the main character if you close one eye), though one of the halos is less obvious than the other, depending on the camera angle.
The alignment seems to be related to the bump map misalignment on the ground, which would make sense since they are both related to the light.
I've been able to disable the light to remove all the shadows and halos, but only in terms of making things darker - when I tried to set the output to 1 I just made the whole screen white. You can set the in-game quality to low to remove the shadows, but the self shadow halo remains.
My experience with Unity so far is that profiles that have StereoUseMatrix set will fix most of the halo issues, but double-halo issues like this one don't get completely fixed and the flickering I saw using such a profile in this game has me worried that that approach will cause more problems then it solves (I saw the same flickering on double-halo lights when using a profile in World of Diving. Also, at least in World of Diving using a profile broke the few shadows that were previously working). I'm currently using the "3D-Hub player" profile which allows 3D to kick in but doesn't set StereoUseMatrix.
One gotcha to be aware of that already cost me at least a few hours - Helix mod seems very unreliable for non full-screen games. If often passes in separation=0 to the shaders so fixes won't seem to do anything at all! I've found it's sometimes necessary to adjust the separation in game to get it to start working, and this sometimes happens again after alt+tabbing in and out.
Before I switched to using a profile in World of Diving, I had managed to fix some of the halo/misaligned bumpmaps which might help here (4EE68EB0.txt - which is the vertex shader for the sand on the main menu as opposed to the light shader - when I tried adjusting the light shader I couldn't quite get things to line up perfectly, and I think I'm seeing the same thing happening here):
https://github.com/DarkStarSword/3d-fixes/commit/1566c78f2de574d01faa9236cb36dbbdbe074b43
Here's a couple of things I've tried so far in Dreamfall - uncorrecting the output position in the light vertex shader partially fixes one of the halos and makes the shadows line up with the ground (they are still in the wrong position, but they are now at the right depth):
https://github.com/DarkStarSword/3d-fixes/blob/master/Dreamfall%20Chapters/ShaderOverride/VertexShaders/92E51A17.txt
Alternatively, correcting texcoord makes both halos mostly line up, but they are still slightly off (which reminds me of what I saw when I tried that in World of Diving - so looking at the snow vertex shader might be the next thing to try).
Here's the pixel shader for the light with a partial fix applied from Mike's Might & Magic X fix - his method of overriding the input position has the same result on the halo as uncorrecting the output position in the vertex shader (i.e. one of two halos fixed), and I haven't tried his shadow depth fix yet (which does not affect the halo). There might be something else in this shader that needs tweaking:
https://github.com/DarkStarSword/3d-fixes/blob/master/Dreamfall%20Chapters/ShaderOverride/PixelShaders/FD2FC596.txt
I'm probably not going to be able to work on this over the weekend unfortunately - I'm off to an open source code camp and they may not appreciate me working to fix a closed source game on a proprietary operating system :-p
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
I took a brief look & managed to fix most of the issues in the first area. But the game has major FOV issues- when you zoom out, shadows & lights lift off of the ground. I did some asking around a while back and was informed that in Unity games, FOV information is not stored in any of the constants. Instead it's located within the Projection Matrix. I would love to be able to find a solution for this.
Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35
Is there something Red Thread could easily do to make it easier, perhaps store the constant in a shader (maybe a dummy shader)? I can get in touch and ask, if you like.
Thanks for that - would you be able to upload your WIP so I can take a look?
I've got an idea that might be able to get the projection matrix into the pixel shader if that would help with the FOV - GetConstNFromReg can copy a matrix passed into a VS and then SetConstNToReg can pass it in to the pixel shader. I haven't tried this yet, and I'm not familiar enough with the maths to know how to extract the FOV from the matrix even if this does work, but maybe someone can do something with this?
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
I'm not sure. I'm still pretty clueless about shader programming (or programming in general). But I'm guessing this is where headers may make a difference.
I was told this is the formula to extract the FOV from the projection matrix (in HLSL):
Mathf.Atan( 1f / camera.projectionMatrix[1, 1] ) * 2 * Mathf.Rad2Deg
But we need more definitions for the camera & projection matrix.
Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35
http://forum.xentax.com/viewtopic.php?p=96771#p96771 - useful tool to extract compiled shaders from unity .asset files, which provides more detail than dumping them from Helix mod (headers are intact and it dumps all variants of the shaders for all targeted platforms).
So far I haven't made much progress with the free version of Unity because the shadows seem to work fine in my test projects. It seems that the free version only supports forward rendering, and I'm thinking it's more likely deferred rendering that causes issues.
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
For the deferred rendering question, there seems to be a 30 day free trial of Pro. Long enough to determine if it helps anyway.
http://unity3d.com/unity/download
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
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