Dreamfall Chapters
  4 / 13    
[quote="Pirateguybrush"]Hey cool, I was hoping you were still looking at Among The Sleep. :)[/quote] In its current state, it's playable. There's just one remaining issue left to fix.
Pirateguybrush said:Hey cool, I was hoping you were still looking at Among The Sleep. :)


In its current state, it's playable. There's just one remaining issue left to fix.

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

#46
Posted 11/05/2014 11:52 AM   
Quick update: I was seemingly able to solve the snapping issues I was having just by switching to another shader with the required matrices. I just didn't do it right last time. So my dx9settings file looks like this: [code].. //alternate VS [VS61CAF50F] UseMatrix = true GetMatrixFromReg = 0 InverseMatrix = true MatrixReg = 180 UseMatrix1 = true GetMatrixFromReg1 = 4 InverseMatrix1 = false //lights shader [VSDF7A050C] UseMatrix = true MatrixReg = 180 UseMatrix1 = true MatrixReg1 = 190 [PSC24D6005] UseMatrix = true MatrixReg = 180 UseMatrix1 = true MatrixReg1 = 190 ..[/code] I'm going to test this further to be sure.
Quick update: I was seemingly able to solve the snapping issues I was having just by switching to another shader with the required matrices. I just didn't do it right last time. So my dx9settings file looks like this:

..
//alternate VS
[VS61CAF50F]
UseMatrix = true
GetMatrixFromReg = 0
InverseMatrix = true
MatrixReg = 180
UseMatrix1 = true
GetMatrixFromReg1 = 4
InverseMatrix1 = false

//lights shader
[VSDF7A050C]
UseMatrix = true
MatrixReg = 180
UseMatrix1 = true
MatrixReg1 = 190

[PSC24D6005]
UseMatrix = true
MatrixReg = 180
UseMatrix1 = true
MatrixReg1 = 190
..


I'm going to test this further to be sure.

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

#47
Posted 11/07/2014 04:03 PM   
I've run into a problem a bit further into the game (well, two problems - but for the moment I'm ignoring the one-eyed halo in the volumetric light shafts, since I have a partial fix and I've only hit them once in game as well as the main menu). The shadows in the cutscene after the prison are broken, as is one of the three lights in the next playable section (the other two lights and their shadows in the same scene work with the existing fix). It seems these shadows are a little different to the rest. The variant of unitysunshine.com's replacement PrePassLighting shader in use indicates they are SHADOW_SCREEN and SHADOW_DIRECTIONAL (whereas the other were all spot or point lights). That variant just copies the shadow map from the screen coordinates directly without taking the world position into account, so I started looking elsewhere for where that shadow map is written. I'm currently thinking that this is broken in the PrePassCollectShadows shader, which I believe is responsible for cascading shadows in Unity (where different resolution shadow maps are used based on distance to the camera)... I'm guessing for these specific shadows this shader computes the shadow positions, then the PrePassLighting shader just copies them to the screen... So far I've managed to get the shadows positioned about a foot below the ground by applying my fix to the v.normal input to the vertex shader and using vPos in the relavant PrePassLighting shader, but I'm not having much luck getting everything to line up properly. It looks like they are using a replacement of the PrePassCollectShadows shader as well - the inputs and outputs don't match up with the source code of Unity's built in shaders. It looks as though this replacement is precomputing some of the camera->world->shadow transformation inside the vertex shader. I doubt these are be the first broken directional shadows in a Unity game people have looked at, and I'm wondering if I've just missed something obvious... mike_ar69 & 4everAwake - any hints? The current WIP is here: https://s3.amazonaws.com/DarkStarSword/3Dfix-Dreamfall+Chapters-WIP-2014-11-09.zip The relevant shaders for this directional lighting seem to be: VS 17875287 (Hidden/Internal-PrePassCollectShadows.shader SHADOWS_SPLIT_SPHERES) PS F4526BAD (Hidden/Internal-PrePassCollectShadows.shader SHADOWS_NATIVE SHADOWS_SPLIT_SPHERES) VS 92E51A17 (Hidden/Internal-PrePassLighting.shader unitysunshine.com replacement, all variants) PS 356BC878 (Hidden/Internal-PrePassLighting.shader unitysunshine.com replacement, DIRECTIONAL SHADOWS_SCREEN)
I've run into a problem a bit further into the game (well, two problems - but for the moment I'm ignoring the one-eyed halo in the volumetric light shafts, since I have a partial fix and I've only hit them once in game as well as the main menu).

The shadows in the cutscene after the prison are broken, as is one of the three lights in the next playable section (the other two lights and their shadows in the same scene work with the existing fix).

It seems these shadows are a little different to the rest. The variant of unitysunshine.com's replacement PrePassLighting shader in use indicates they are SHADOW_SCREEN and SHADOW_DIRECTIONAL (whereas the other were all spot or point lights). That variant just copies the shadow map from the screen coordinates directly without taking the world position into account, so I started looking elsewhere for where that shadow map is written.

I'm currently thinking that this is broken in the PrePassCollectShadows shader, which I believe is responsible for cascading shadows in Unity (where different resolution shadow maps are used based on distance to the camera)... I'm guessing for these specific shadows this shader computes the shadow positions, then the PrePassLighting shader just copies them to the screen... So far I've managed to get the shadows positioned about a foot below the ground by applying my fix to the v.normal input to the vertex shader and using vPos in the relavant PrePassLighting shader, but I'm not having much luck getting everything to line up properly.

It looks like they are using a replacement of the PrePassCollectShadows shader as well - the inputs and outputs don't match up with the source code of Unity's built in shaders. It looks as though this replacement is precomputing some of the camera->world->shadow transformation inside the vertex shader.

I doubt these are be the first broken directional shadows in a Unity game people have looked at, and I'm wondering if I've just missed something obvious... mike_ar69 & 4everAwake - any hints?

The current WIP is here:

https://s3.amazonaws.com/DarkStarSword/3Dfix-Dreamfall+Chapters-WIP-2014-11-09.zip


The relevant shaders for this directional lighting seem to be:
VS 17875287 (Hidden/Internal-PrePassCollectShadows.shader SHADOWS_SPLIT_SPHERES)
PS F4526BAD (Hidden/Internal-PrePassCollectShadows.shader SHADOWS_NATIVE SHADOWS_SPLIT_SPHERES)
VS 92E51A17 (Hidden/Internal-PrePassLighting.shader unitysunshine.com replacement, all variants)
PS 356BC878 (Hidden/Internal-PrePassLighting.shader unitysunshine.com replacement, DIRECTIONAL SHADOWS_SCREEN)

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

#48
Posted 11/09/2014 11:04 AM   
I've uploaded all the variants of PrePassCollectShadows and PrePassLighting that I extracted from the asset files here with headers re-attached (none of these have fixes applied - check the WIP or my github repository for those): http://darkstarsword.net/dreamfall-broken-shaders/Shadows/ You can of grab the source code from the Unity website for the originals, but as I've noted elsewhere I believe this game is using replacements for both, so the source won't be an exact match. I'm pretty sure the PrePassLighting replacement is unitysunshine.com, but that costs money and according to the manifest in the asset store it doesn't override PrePassCollectShadows, so I'm not sure what replacement they used for it.
I've uploaded all the variants of PrePassCollectShadows and PrePassLighting that I extracted from the asset files here with headers re-attached (none of these have fixes applied - check the WIP or my github repository for those):

http://darkstarsword.net/dreamfall-broken-shaders/Shadows/


You can of grab the source code from the Unity website for the originals, but as I've noted elsewhere I believe this game is using replacements for both, so the source won't be an exact match. I'm pretty sure the PrePassLighting replacement is unitysunshine.com, but that costs money and according to the manifest in the asset store it doesn't override PrePassCollectShadows, so I'm not sure what replacement they used for it.

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

#49
Posted 11/09/2014 02:02 PM   
I took a look earlier today and I'm not sure what's going on with those shadows in the cutscene after the prison. I've never actually encountered that problem before. I'm going to do more experimenting with this later on.
I took a look earlier today and I'm not sure what's going on with those shadows in the cutscene after the prison. I've never actually encountered that problem before. I'm going to do more experimenting with this later on.

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

#50
Posted 11/10/2014 03:40 AM   
Bah, I just alt+tabbed out and back in and the Helix fix didn't engage... but these shadows were lined up properly... So, that would suggest that it's a conflict with another fix I've already applied. Just got to work out what and how to make the two co-exist simultaneously.
Bah, I just alt+tabbed out and back in and the Helix fix didn't engage... but these shadows were lined up properly... So, that would suggest that it's a conflict with another fix I've already applied. Just got to work out what and how to make the two co-exist simultaneously.

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

#51
Posted 11/10/2014 10:42 AM   
Not sure what to do about this yet... The texcoord adjustment in 92E51A17 affects it, though we can easily compensate for that by using vPos in 356BC878, but the adjustment we do in the surface shader also affects it, but we need that to fix the other shadows and halo. I checked the pixel shader for the floor, but it seems the light map it reads includes both these shadows and the others... There must be somewhere else we can fix it...
Not sure what to do about this yet... The texcoord adjustment in 92E51A17 affects it, though we can easily compensate for that by using vPos in 356BC878, but the adjustment we do in the surface shader also affects it, but we need that to fix the other shadows and halo. I checked the pixel shader for the floor, but it seems the light map it reads includes both these shadows and the others... There must be somewhere else we can fix it...

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

#52
Posted 11/10/2014 12:20 PM   
I was going to make that observation about 92E51A17 yesterday but I wasn't sure how much help it was going to be. I figured this was probably using a new Unity version because the lights vertex shader CRC is different from what I'm used to seeing. It's almost always DF7A050C (or 36A3FBCB for older games). It's also strange that the usual profiles (aion, etc) have seemingly very little effect on this game.
I was going to make that observation about 92E51A17 yesterday but I wasn't sure how much help it was going to be. I figured this was probably using a new Unity version because the lights vertex shader CRC is different from what I'm used to seeing. It's almost always DF7A050C (or 36A3FBCB for older games).

It's also strange that the usual profiles (aion, etc) have seemingly very little effect on this game.

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

#53
Posted 11/10/2014 01:00 PM   
VICTORY DANCE!!! Am I good or am I good? http://photos.3dvisionlive.com/DarkStarSword/image/546161f5d475fed4740001b8/ http://photos.3dvisionlive.com/DarkStarSword/image/54616184d475fe3840000008/ The problem was the optimisation they had in PrePassCollectShadows - they were taking a shortcut by not computing the correct world position in the vertex shader and using the fudged world position (assumed depth = 1) to compute the camera->world->shadow translation (I think because they assume that directional light is parallel which allowed them to simplify the maths). Problem was that this simplification didn't work out when the stereo correction formula was involved, because the world position calculation changes depending on the depth, so we have to do this correction in the pixel shader since that's the only place we get the real depth of the scene from the _CameraDepthTexture. I reverted the shaders to the original Unity version which do the calculation using the correct world position in the pixel shader... only problem was that the inputs didn't match up - all the unity_WorldToShadow matrices were passed to the VS instead of the PS. To get the FOV I used GetMatrix and GetConst1From reg from another shader that had both MVP and MV (PrePassCollectShadows has MVP, but we need the MVP to match with the MV, so I still needed the MVP from elsewhere), same as before. I computed this in the VS and passed the result to the PS in an unused component of one of the the output registers (I could have just as easily done this in the PS - I was thinking I might need it in the VS as well, but it turns out I didn't). I used GetMatrix1 to copy one of the unity_World2Shadow matrices to the pixel shader, GetConst2-3FromReg to copy 1/2 of the second (since I had already used GetConst1FromReg and I'm not sure if doing a get and set in the same shader will work... worth trying), then the rest went as extra outputs from the VS into the PS - fortunately, I only needed three columns of each matrix, so this managed to fit in the available output registers with two to spare (I think... 12 VS outputs and 10 PS inputs - I assume that means I can use 10 texcoords?), so I could potentially have used them instead of using Helix mod to copy two columns of the second matrix. There was also another input to the pixel shader, which is now unused - I think they were using it to slightly improve the quality, so I might look into restoring it later, but that's not a high priority. Here's the new WIP (I haven't fixed up the other pixel shaders from PrePassCollectShadows yet, so this may break elsewhere): https://s3.amazonaws.com/DarkStarSword/3Dfix-Dreamfall+Chapters-WIP-2014-11-11.zip
VICTORY DANCE!!! Am I good or am I good?


http://photos.3dvisionlive.com/DarkStarSword/image/546161f5d475fed4740001b8/

http://photos.3dvisionlive.com/DarkStarSword/image/54616184d475fe3840000008/


The problem was the optimisation they had in PrePassCollectShadows - they were taking a shortcut by not computing the correct world position in the vertex shader and using the fudged world position (assumed depth = 1) to compute the camera->world->shadow translation (I think because they assume that directional light is parallel which allowed them to simplify the maths). Problem was that this simplification didn't work out when the stereo correction formula was involved, because the world position calculation changes depending on the depth, so we have to do this correction in the pixel shader since that's the only place we get the real depth of the scene from the _CameraDepthTexture.

I reverted the shaders to the original Unity version which do the calculation using the correct world position in the pixel shader... only problem was that the inputs didn't match up - all the unity_WorldToShadow matrices were passed to the VS instead of the PS.

To get the FOV I used GetMatrix and GetConst1From reg from another shader that had both MVP and MV (PrePassCollectShadows has MVP, but we need the MVP to match with the MV, so I still needed the MVP from elsewhere), same as before. I computed this in the VS and passed the result to the PS in an unused component of one of the the output registers (I could have just as easily done this in the PS - I was thinking I might need it in the VS as well, but it turns out I didn't).

I used GetMatrix1 to copy one of the unity_World2Shadow matrices to the pixel shader, GetConst2-3FromReg to copy 1/2 of the second (since I had already used GetConst1FromReg and I'm not sure if doing a get and set in the same shader will work... worth trying), then the rest went as extra outputs from the VS into the PS - fortunately, I only needed three columns of each matrix, so this managed to fit in the available output registers with two to spare (I think... 12 VS outputs and 10 PS inputs - I assume that means I can use 10 texcoords?), so I could potentially have used them instead of using Helix mod to copy two columns of the second matrix.

There was also another input to the pixel shader, which is now unused - I think they were using it to slightly improve the quality, so I might look into restoring it later, but that's not a high priority.

Here's the new WIP (I haven't fixed up the other pixel shaders from PrePassCollectShadows yet, so this may break elsewhere):

https://s3.amazonaws.com/DarkStarSword/3Dfix-Dreamfall+Chapters-WIP-2014-11-11.zip

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

#54
Posted 11/11/2014 01:13 AM   
That sounds incredibly complicated, I can't believe you were actually able to reverse-engineer that. Fantastic work! :)
That sounds incredibly complicated, I can't believe you were actually able to reverse-engineer that. Fantastic work! :)

#55
Posted 11/11/2014 04:10 AM   
Let's hope they aren't using the variant of PrePassCollectShadows without SHADOWS_SPLIT_SPHERES anywhere - it doesn't already have _CameraToWorld in the pixel shader and after maxing out the ability to pass extra values around in Helix mod and as vertex shader outputs I'm still 1.5 registers short :-S
Let's hope they aren't using the variant of PrePassCollectShadows without SHADOWS_SPLIT_SPHERES anywhere - it doesn't already have _CameraToWorld in the pixel shader and after maxing out the ability to pass extra values around in Helix mod and as vertex shader outputs I'm still 1.5 registers short :-S

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

#56
Posted 11/11/2014 07:59 AM   
I think it's safe to say that you are [i]good[/i]! Awesome job, congrats! Very impressive what you've been able to decipher. Dreamfall is going to be sooo much better in 3D. For the passing of parameters, Mike found recently that he could use structures that are defined in the VS, but not defined in the corresponding PS. This is HLSL and DX11, but I think in principle it will still work in DX9. So for example, if you had a register defined in the VS like: "PrevViewProjectionMatrix c235 size 4" But it didn't show up in the PS, and you wanted to use it, I think there is a good chance you can just define that in the PS and just use it there. The reason I think this is worth trying is because the resource will be bound to the pipeline anyway, just not specified because they didn't use it. I think if you just use it, it will pick up the right values. Not positive this works in DX9, but we know for sure it works in DX11. In general we've been using the Helix passing technique, but this might be another way to get more params.
I think it's safe to say that you are good! Awesome job, congrats! Very impressive what you've been able to decipher. Dreamfall is going to be sooo much better in 3D.


For the passing of parameters, Mike found recently that he could use structures that are defined in the VS, but not defined in the corresponding PS. This is HLSL and DX11, but I think in principle it will still work in DX9.

So for example, if you had a register defined in the VS like:
"PrevViewProjectionMatrix c235 size 4"

But it didn't show up in the PS, and you wanted to use it, I think there is a good chance you can just define that in the PS and just use it there. The reason I think this is worth trying is because the resource will be bound to the pipeline anyway, just not specified because they didn't use it. I think if you just use it, it will pick up the right values.

Not positive this works in DX9, but we know for sure it works in DX11.


In general we've been using the Helix passing technique, but this might be another way to get more params.

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

#57
Posted 11/11/2014 10:36 AM   
wow those screens look really good, thanks a lot for your work!
wow those screens look really good, thanks a lot for your work!

All hail 3d modders DHR, MasterOtaku, Losti, Necropants, Helifax, bo3b, mike_ar69, Flugan, DarkStarSword, 4everAwake, 3d4dd and so many more helping to keep the 3d dream alive, find their 3d fixes at http://helixmod.blogspot.com/ Also check my site for spanish VR and mobile gaming news: www.gamermovil.com

#58
Posted 11/11/2014 12:14 PM   
So, the next problem I'm looking at is the reflections on the floor in the Councillor's office. Aside from being very low resolution and broken at the edge of the screen, they appear to be rendered in mono, and parts of the reflection are doubled up. You can see part of these reflections on the screenshot I posted earlier - note that they are mono, and the frame does not line up properly (well, it does - but there's a second frame drawn slightly to the left that shouldn't be there): http://photos.3dvisionlive.com/DarkStarSword/image/54616184d475fe3840000008/ I dumped out the reflection texture that the floor pixel shader was sampling: http://darkstarsword.net/dreamfall-broken-shaders/Reflections/Tex1.png http://darkstarsword.net/dreamfall-broken-shaders/Reflections/Tex1-no-alpha.png http://darkstarsword.net/dreamfall-broken-shaders/Reflections/Tex1.dds For those unfamiliar with the technique - what you are looking at is the scene rendered from beneath the floor, and an up-side down version of this image will be rendered on the floor. The floor itself is not drawn, but you can see where I was standing as Zoe's legs are visible at the top center of the image (I framed it so they were in the window to make them easier to see). Just to the left of them, you can see a second set of legs :-/ From this it looks like anything rendered around the window is doubled up, but other objects are not? I tried forcing it to be rendered stereo with this: [code]SurfaceCreationModeList = 0;1;2; [SF2] Format = 21 Width = 256 Height = 256 Usage = 1 Pool = 0 Levels = 1 // ForceWidth=512 // ForceHeight=512 DefMode = 1 [PS6A98D448] GetSampler1FromReg = 2 [/code] But that didn't seem to make any difference :( I know this matched the right surface because when I added the ForceWidth & ForceHeight I did indeed change the size of the Tex1.dds dumped with GetSampler1FromReg and F12 (though the game also stopped rendering to it entirely and the reflection vanished). Am I on the right path trying to force this to be stereoized, or should I be focussing my effort trying looking for a shader causing the doubled image? I guess at the end of the day if I can't stereoize it it's not too bad, but it would definitely be nice to fix the doubled image.
So, the next problem I'm looking at is the reflections on the floor in the Councillor's office. Aside from being very low resolution and broken at the edge of the screen, they appear to be rendered in mono, and parts of the reflection are doubled up.

You can see part of these reflections on the screenshot I posted earlier - note that they are mono, and the frame does not line up properly (well, it does - but there's a second frame drawn slightly to the left that shouldn't be there):

http://photos.3dvisionlive.com/DarkStarSword/image/54616184d475fe3840000008/


I dumped out the reflection texture that the floor pixel shader was sampling:


http://darkstarsword.net/dreamfall-broken-shaders/Reflections/Tex1.png

http://darkstarsword.net/dreamfall-broken-shaders/Reflections/Tex1-no-alpha.png

http://darkstarsword.net/dreamfall-broken-shaders/Reflections/Tex1.dds


For those unfamiliar with the technique - what you are looking at is the scene rendered from beneath the floor, and an up-side down version of this image will be rendered on the floor. The floor itself is not drawn, but you can see where I was standing as Zoe's legs are visible at the top center of the image (I framed it so they were in the window to make them easier to see). Just to the left of them, you can see a second set of legs :-/

From this it looks like anything rendered around the window is doubled up, but other objects are not?


I tried forcing it to be rendered stereo with this:

SurfaceCreationModeList = 0;1;2;

[SF2]
Format = 21
Width = 256
Height = 256
Usage = 1
Pool = 0
Levels = 1
// ForceWidth=512
// ForceHeight=512
DefMode = 1

[PS6A98D448]
GetSampler1FromReg = 2


But that didn't seem to make any difference :(

I know this matched the right surface because when I added the ForceWidth & ForceHeight I did indeed change the size of the Tex1.dds dumped with GetSampler1FromReg and F12 (though the game also stopped rendering to it entirely and the reflection vanished).

Am I on the right path trying to force this to be stereoized, or should I be focussing my effort trying looking for a shader causing the doubled image? I guess at the end of the day if I can't stereoize it it's not too bad, but it would definitely be nice to fix the doubled image.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#59
Posted 11/11/2014 01:59 PM   
Fixed some minor stuff (UI / HUD elements). One HUD shader is linked to video phone screens so I isolated the video screen texture. https://s3.amazonaws.com/4everAwake/3Dfix-Dreamfall%2BChapters-WIP-2014-11-11.zip I see what you mean about the doubled reflections. IMHO, it doesn't look too too bad. Hopefully it's not a major issue later on in the game.
Fixed some minor stuff (UI / HUD elements). One HUD shader is linked to video phone screens so I isolated the video screen texture.

https://s3.amazonaws.com/4everAwake/3Dfix-Dreamfall%2BChapters-WIP-2014-11-11.zip

I see what you mean about the doubled reflections. IMHO, it doesn't look too too bad. Hopefully it's not a major issue later on in the game.

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

#60
Posted 11/11/2014 06:27 PM   
  4 / 13    
Scroll To Top