"How to survive 2" 3D FIX
Update:07/15/2017 menus fixed by 4everawake I've been playing 43 hours and I don't see more issues. If I see more of them I will fix them. #What's fixed: -All halos -Shadows -Fog -Blood decals -lights -menus #What's disabled: -water ripples #Keys: "z" key cycles between two Separation and Convergence settings, "x" key cycles HUD depth. Added the constant 0.50 very deeper hud needed for companions health bar. "c" key cycles crosshair depth. (For gamepad playing) #How to install: Copy the archives in C:\...\How to Survive 2\Exe [url]https://s3.amazonaws.com/cicicleta/How+to+survive+2.zip[/url] This is my gallery of the game: [url]http://photos.3dvisionlive.com/cicicleta/album/58f1109ee7e5641e5a00022d/[/url] I want to thanks to: -4everawake -DJ-RK -D-Man11 -masterotaku -And of course all the 3D comunity. They helped me to make this possible.
Update:07/15/2017 menus fixed by 4everawake
I've been playing 43 hours and I don't see more issues. If I see more of them I will fix them.

#What's fixed:
-All halos
-Shadows
-Fog
-Blood decals
-lights
-menus
#What's disabled:
-water ripples

#Keys:
"z" key cycles between two Separation and Convergence settings,
"x" key cycles HUD depth. Added the constant 0.50 very deeper hud needed for companions health bar.
"c" key cycles crosshair depth. (For gamepad playing)

#How to install:
Copy the archives in C:\...\How to Survive 2\Exe

https://s3.amazonaws.com/cicicleta/How+to+survive+2.zip

This is my gallery of the game:
http://photos.3dvisionlive.com/cicicleta/album/58f1109ee7e5641e5a00022d/

I want to thanks to:
-4everawake
-DJ-RK
-D-Man11
-masterotaku
-And of course all the 3D comunity.
They helped me to make this possible.

#1
Posted 04/13/2017 02:49 PM   
Hi cicicleta. I bought the entire Ultimate Edition recently. But I haven't had a chance to play it yet. Let me know if this works: [code]// ambient shadows // ---- Created with 3Dmigoto v1.2.56 on Mon Apr 10 23:58:50 2017 cbuffer cb0 : register(b0) { float4 EyePosition : packoffset(c0); row_major float4x4 ShadowLightMatrix : packoffset(c1); float4 ShadowPos : packoffset(c5); float4 ShadowDir : packoffset(c6); float4 ShadowPlanes : packoffset(c7); row_major float4x4 InvViewProj : packoffset(c8); float4 ProjOffset[8] : packoffset(c12); } SamplerState ZMapSmapler_s : register(s0); SamplerState ShadowMapSampler_s : register(s1); Texture2D<float4> ZMap : register(t0); Texture2D<float4> ShadowMap : register(t1); // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : SV_POSITION0, float2 v1 : TEXCOORD0, out float4 o0 : SV_TARGET0) { float4 r0,r1,r2,r3; uint4 bitmask, uiDest; float4 fDest; r0.xyzw = ZMap.Sample(ZMapSmapler_s, v1.xy).yzxw; r0.xy = v1.xy * float2(2,-2) + float2(-1,1); r0.w = 1; float4 stereo = StereoParams.Load(0); float depth = dot(r0.xyzw, InvViewProj._m30_m31_m32_m33); r0.x += stereo.x * (depth * stereo.y - 1); r1.x = dot(InvViewProj._m00_m01_m02_m03, r0.xyzw); r1.y = dot(InvViewProj._m10_m11_m12_m13, r0.xyzw); r1.z = dot(InvViewProj._m20_m21_m22_m23, r0.xyzw); r1.w = dot(InvViewProj._m30_m31_m32_m33, r0.xyzw); r0.xyzw = r1.xyzw / r1.wwww; r1.xyz = -ShadowPos.xyz + r0.xyz; r1.x = dot(ShadowDir.xyz, r1.xyz); r1.x = -ShadowPlanes.x + r1.x; r1.y = ShadowPlanes.y + -ShadowPlanes.x; r1.x = r1.x / r1.y; r1.x = -0.000199999995 + r1.x; r2.x = dot(ShadowLightMatrix._m00_m01_m02_m03, r0.xyzw); r2.y = dot(ShadowLightMatrix._m10_m11_m12_m13, r0.xyzw); r0.x = dot(ShadowLightMatrix._m30_m31_m32_m33, r0.xyzw); r0.xy = r2.xy / r0.xx; r0.xy = r0.xy * float2(0.5,0.5) + float2(0.5,0.5); r0.z = 1 + -r0.y; r0.yw = ProjOffset[0].xy + r0.xz; r2.xyzw = ShadowMap.Sample(ShadowMapSampler_s, r0.yw).xyzw; r0.yw = ProjOffset[1].xy + r0.xz; r3.xyzw = ShadowMap.Sample(ShadowMapSampler_s, r0.yw).xyzw; r2.y = r3.x; r0.yw = ProjOffset[2].xy + r0.xz; r3.xyzw = ShadowMap.Sample(ShadowMapSampler_s, r0.yw).xyzw; r2.z = r3.x; r0.yw = ProjOffset[3].xy + r0.xz; r3.xyzw = saturate(r0.xxzz * float4(16,-16,16,-16) + float4(0,16,0,16)); r0.xz = min(r3.xz, r3.yw); r0.x = min(r0.x, r0.z); r3.xyzw = ShadowMap.Sample(ShadowMapSampler_s, r0.yw).xyzw; r2.w = r3.x; r1.xyzw = -r2.xyzw + r1.xxxx; r1.xyzw = saturate(float4(2000,2000,2000,2000) * r1.xyzw); r0.y = dot(r1.xyzw, float4(0.25,0.25,0.25,0.25)); r0.y = min(r0.y, r0.x); o0.z = r0.x; o0.x = 1 + -r0.y; o0.yw = float2(0,1); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler For Durango 9.30.11478.0 // // using 3Dmigoto v1.2.56 on Mon Apr 10 23:58:50 2017 // // // Buffer Definitions: // // cbuffer cb0 // { // // float4 EyePosition; // Offset: 0 Size: 16 [unused] // row_major float4x4 ShadowLightMatrix;// Offset: 16 Size: 64 // float4 ShadowPos; // Offset: 80 Size: 16 // float4 ShadowDir; // Offset: 96 Size: 16 // float4 ShadowPlanes; // Offset: 112 Size: 16 // row_major float4x4 InvViewProj; // Offset: 128 Size: 64 // float4 ProjOffset[8]; // Offset: 192 Size: 128 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // ZMapSmapler sampler NA NA 0 1 // ShadowMapSampler sampler NA NA 1 1 // ZMap texture float4 2d 0 1 // ShadowMap texture float4 2d 1 1 // cb0 cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float // TEXCOORD 0 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_TARGET 0 xyzw 0 TARGET float xyzw // ps_4_0 dcl_constantbuffer cb0[16], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_resource_texture2d (float,float,float,float) t1 dcl_input_ps linear v1.xy dcl_output o0.xyzw dcl_temps 4 // // Initial variable locations: // v0.x <- Input.Position.x; v0.y <- Input.Position.y; v0.z <- Input.Position.z; v0.w <- Input.Position.w; // v1.x <- Input.Texc0.x; v1.y <- Input.Texc0.y; // o0.x <- <main return value>.x; o0.y <- <main return value>.y; o0.z <- <main return value>.z; o0.w <- <main return value>.w // #line 35 "C:\EkoProjects\HowToSurvive2\Code\EngineExtensions\Lights\HLSL\ShadowQuadCascadeShader.hlps" sample r0.xyzw, v1.xyxx, t0.yzxw, s0 // r0.z <- fZDist #line 39 mad r0.xy, v1.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000) mov r0.w, l(1.000000) dp4 r1.x, cb0[8].xyzw, r0.xyzw // r1.x <- pos.x dp4 r1.y, cb0[9].xyzw, r0.xyzw // r1.y <- pos.y dp4 r1.z, cb0[10].xyzw, r0.xyzw // r1.z <- pos.z dp4 r1.w, cb0[11].xyzw, r0.xyzw // r1.w <- pos.w div r0.xyzw, r1.xyzw, r1.wwww // r0.x <- pos.x; r0.y <- pos.y; r0.z <- pos.z; r0.w <- pos.w #line 58 add r1.xyz, r0.xyzx, -cb0[5].xyzx // r1.x <- EyeShadow.x; r1.y <- EyeShadow.y; r1.z <- EyeShadow.z dp3 r1.x, cb0[6].xyzx, r1.xyzx // r1.x <- ShadowDistance #line 65 add r1.x, r1.x, -cb0[7].x add r1.y, -cb0[7].x, cb0[7].y div r1.x, r1.x, r1.y // r1.x <- rescaled_dist_to_light add r1.x, r1.x, l(-0.000200) #line 43 dp4 r2.x, cb0[1].xyzw, r0.xyzw // r2.x <- PosProj.x dp4 r2.y, cb0[2].xyzw, r0.xyzw // r2.y <- PosProj.y dp4 r0.x, cb0[4].xyzw, r0.xyzw // r0.x <- PosProj.w div r0.xy, r2.xyxx, r0.xxxx mad r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000) // r0.x <- PosProj.x; r0.y <- PosProj.y #line 51 add r0.z, -r0.y, l(1.000000) add r0.yw, r0.xxxz, cb0[12].xxxy sample r2.xyzw, r0.ywyy, t1.xyzw, s1 // r2.x <- ShadowDepth.x add r0.yw, r0.xxxz, cb0[13].xxxy sample r3.xyzw, r0.ywyy, t1.xyzw, s1 // r3.x <- ShadowDepth.y #line 67 mov r2.y, r3.x #line 53 add r0.yw, r0.xxxz, cb0[14].xxxy sample r3.xyzw, r0.ywyy, t1.xyzw, s1 // r3.x <- ShadowDepth.z #line 67 mov r2.z, r3.x #line 54 add r0.yw, r0.xxxz, cb0[15].xxxy #line 75 mad_sat r3.xyzw, r0.xxzz, l(16.000000, -16.000000, 16.000000, -16.000000), l(0.000000, 16.000000, 0.000000, 16.000000) // r3.x <- borderDist.x; r3.y <- borderDist.y; r3.z <- borderDist.z; r3.w <- borderDist.w min r0.xz, r3.yywy, r3.xxzx min r0.x, r0.z, r0.x // r0.x <- borderScale #line 54 sample r3.xyzw, r0.ywyy, t1.xyzw, s1 // r3.x <- ShadowDepth.w #line 67 mov r2.w, r3.x add r1.xyzw, r1.xxxx, -r2.xyzw mul_sat r1.xyzw, r1.xyzw, l(2000.000000, 2000.000000, 2000.000000, 2000.000000) // r1.x <- lit_factor4.x; r1.y <- lit_factor4.y; r1.z <- lit_factor4.z; r1.w <- lit_factor4.w dp4 r0.y, r1.xyzw, l(0.250000, 0.250000, 0.250000, 0.250000) // r0.y <- TotalLit #line 79 min r0.y, r0.x, r0.y #line 84 mov o0.z, r0.x #line 79 add o0.x, -r0.y, l(1.000000) #line 84 mov o0.yw, l(0,0,0,1.000000) ret undecipherable custom data // Approximately 42 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code]
Hi cicicleta. I bought the entire Ultimate Edition recently. But I haven't had a chance to play it yet. Let me know if this works:

// ambient shadows
// ---- Created with 3Dmigoto v1.2.56 on Mon Apr 10 23:58:50 2017

cbuffer cb0 : register(b0)
{
float4 EyePosition : packoffset(c0);
row_major float4x4 ShadowLightMatrix : packoffset(c1);
float4 ShadowPos : packoffset(c5);
float4 ShadowDir : packoffset(c6);
float4 ShadowPlanes : packoffset(c7);
row_major float4x4 InvViewProj : packoffset(c8);
float4 ProjOffset[8] : packoffset(c12);
}

SamplerState ZMapSmapler_s : register(s0);
SamplerState ShadowMapSampler_s : register(s1);
Texture2D<float4> ZMap : register(t0);
Texture2D<float4> ShadowMap : register(t1);


// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
float4 v0 : SV_POSITION0,
float2 v1 : TEXCOORD0,
out float4 o0 : SV_TARGET0)
{
float4 r0,r1,r2,r3;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyzw = ZMap.Sample(ZMapSmapler_s, v1.xy).yzxw;
r0.xy = v1.xy * float2(2,-2) + float2(-1,1);
r0.w = 1;

float4 stereo = StereoParams.Load(0);
float depth = dot(r0.xyzw, InvViewProj._m30_m31_m32_m33);
r0.x += stereo.x * (depth * stereo.y - 1);

r1.x = dot(InvViewProj._m00_m01_m02_m03, r0.xyzw);
r1.y = dot(InvViewProj._m10_m11_m12_m13, r0.xyzw);
r1.z = dot(InvViewProj._m20_m21_m22_m23, r0.xyzw);
r1.w = dot(InvViewProj._m30_m31_m32_m33, r0.xyzw);
r0.xyzw = r1.xyzw / r1.wwww;
r1.xyz = -ShadowPos.xyz + r0.xyz;
r1.x = dot(ShadowDir.xyz, r1.xyz);
r1.x = -ShadowPlanes.x + r1.x;
r1.y = ShadowPlanes.y + -ShadowPlanes.x;
r1.x = r1.x / r1.y;
r1.x = -0.000199999995 + r1.x;
r2.x = dot(ShadowLightMatrix._m00_m01_m02_m03, r0.xyzw);
r2.y = dot(ShadowLightMatrix._m10_m11_m12_m13, r0.xyzw);
r0.x = dot(ShadowLightMatrix._m30_m31_m32_m33, r0.xyzw);
r0.xy = r2.xy / r0.xx;
r0.xy = r0.xy * float2(0.5,0.5) + float2(0.5,0.5);
r0.z = 1 + -r0.y;
r0.yw = ProjOffset[0].xy + r0.xz;
r2.xyzw = ShadowMap.Sample(ShadowMapSampler_s, r0.yw).xyzw;
r0.yw = ProjOffset[1].xy + r0.xz;
r3.xyzw = ShadowMap.Sample(ShadowMapSampler_s, r0.yw).xyzw;
r2.y = r3.x;
r0.yw = ProjOffset[2].xy + r0.xz;
r3.xyzw = ShadowMap.Sample(ShadowMapSampler_s, r0.yw).xyzw;
r2.z = r3.x;
r0.yw = ProjOffset[3].xy + r0.xz;
r3.xyzw = saturate(r0.xxzz * float4(16,-16,16,-16) + float4(0,16,0,16));
r0.xz = min(r3.xz, r3.yw);
r0.x = min(r0.x, r0.z);
r3.xyzw = ShadowMap.Sample(ShadowMapSampler_s, r0.yw).xyzw;
r2.w = r3.x;
r1.xyzw = -r2.xyzw + r1.xxxx;
r1.xyzw = saturate(float4(2000,2000,2000,2000) * r1.xyzw);
r0.y = dot(r1.xyzw, float4(0.25,0.25,0.25,0.25));
r0.y = min(r0.y, r0.x);
o0.z = r0.x;
o0.x = 1 + -r0.y;
o0.yw = float2(0,1);
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler For Durango 9.30.11478.0
//
// using 3Dmigoto v1.2.56 on Mon Apr 10 23:58:50 2017
//
//
// Buffer Definitions:
//
// cbuffer cb0
// {
//
// float4 EyePosition; // Offset: 0 Size: 16 [unused]
// row_major float4x4 ShadowLightMatrix;// Offset: 16 Size: 64
// float4 ShadowPos; // Offset: 80 Size: 16
// float4 ShadowDir; // Offset: 96 Size: 16
// float4 ShadowPlanes; // Offset: 112 Size: 16
// row_major float4x4 InvViewProj; // Offset: 128 Size: 64
// float4 ProjOffset[8]; // Offset: 192 Size: 128
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// ZMapSmapler sampler NA NA 0 1
// ShadowMapSampler sampler NA NA 1 1
// ZMap texture float4 2d 0 1
// ShadowMap texture float4 2d 1 1
// cb0 cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET 0 xyzw 0 TARGET float xyzw
//
ps_4_0

dcl_constantbuffer cb0[16], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 4
//
// Initial variable locations:
// v0.x <- Input.Position.x; v0.y <- Input.Position.y; v0.z <- Input.Position.z; v0.w <- Input.Position.w;
// v1.x <- Input.Texc0.x; v1.y <- Input.Texc0.y;
// o0.x <- <main return value>.x; o0.y <- <main return value>.y; o0.z <- <main return value>.z; o0.w <- <main return value>.w
//
#line 35 "C:\EkoProjects\HowToSurvive2\Code\EngineExtensions\Lights\HLSL\ShadowQuadCascadeShader.hlps"
sample r0.xyzw, v1.xyxx, t0.yzxw, s0 // r0.z <- fZDist

#line 39
mad r0.xy, v1.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
mov r0.w, l(1.000000)
dp4 r1.x, cb0[8].xyzw, r0.xyzw // r1.x <- pos.x
dp4 r1.y, cb0[9].xyzw, r0.xyzw // r1.y <- pos.y
dp4 r1.z, cb0[10].xyzw, r0.xyzw // r1.z <- pos.z
dp4 r1.w, cb0[11].xyzw, r0.xyzw // r1.w <- pos.w
div r0.xyzw, r1.xyzw, r1.wwww // r0.x <- pos.x; r0.y <- pos.y; r0.z <- pos.z; r0.w <- pos.w

#line 58
add r1.xyz, r0.xyzx, -cb0[5].xyzx // r1.x <- EyeShadow.x; r1.y <- EyeShadow.y; r1.z <- EyeShadow.z
dp3 r1.x, cb0[6].xyzx, r1.xyzx // r1.x <- ShadowDistance

#line 65
add r1.x, r1.x, -cb0[7].x
add r1.y, -cb0[7].x, cb0[7].y
div r1.x, r1.x, r1.y // r1.x <- rescaled_dist_to_light
add r1.x, r1.x, l(-0.000200)

#line 43
dp4 r2.x, cb0[1].xyzw, r0.xyzw // r2.x <- PosProj.x
dp4 r2.y, cb0[2].xyzw, r0.xyzw // r2.y <- PosProj.y
dp4 r0.x, cb0[4].xyzw, r0.xyzw // r0.x <- PosProj.w
div r0.xy, r2.xyxx, r0.xxxx
mad r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000) // r0.x <- PosProj.x; r0.y <- PosProj.y

#line 51
add r0.z, -r0.y, l(1.000000)
add r0.yw, r0.xxxz, cb0[12].xxxy
sample r2.xyzw, r0.ywyy, t1.xyzw, s1 // r2.x <- ShadowDepth.x
add r0.yw, r0.xxxz, cb0[13].xxxy
sample r3.xyzw, r0.ywyy, t1.xyzw, s1 // r3.x <- ShadowDepth.y

#line 67
mov r2.y, r3.x

#line 53
add r0.yw, r0.xxxz, cb0[14].xxxy
sample r3.xyzw, r0.ywyy, t1.xyzw, s1 // r3.x <- ShadowDepth.z

#line 67
mov r2.z, r3.x

#line 54
add r0.yw, r0.xxxz, cb0[15].xxxy

#line 75
mad_sat r3.xyzw, r0.xxzz, l(16.000000, -16.000000, 16.000000, -16.000000), l(0.000000, 16.000000, 0.000000, 16.000000) // r3.x <- borderDist.x; r3.y <- borderDist.y; r3.z <- borderDist.z; r3.w <- borderDist.w
min r0.xz, r3.yywy, r3.xxzx
min r0.x, r0.z, r0.x // r0.x <- borderScale

#line 54
sample r3.xyzw, r0.ywyy, t1.xyzw, s1 // r3.x <- ShadowDepth.w

#line 67
mov r2.w, r3.x
add r1.xyzw, r1.xxxx, -r2.xyzw
mul_sat r1.xyzw, r1.xyzw, l(2000.000000, 2000.000000, 2000.000000, 2000.000000) // r1.x <- lit_factor4.x; r1.y <- lit_factor4.y; r1.z <- lit_factor4.z; r1.w <- lit_factor4.w
dp4 r0.y, r1.xyzw, l(0.250000, 0.250000, 0.250000, 0.250000) // r0.y <- TotalLit

#line 79
min r0.y, r0.x, r0.y

#line 84
mov o0.z, r0.x

#line 79
add o0.x, -r0.y, l(1.000000)

#line 84
mov o0.yw, l(0,0,0,1.000000)
ret
undecipherable custom data
// Approximately 42 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

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

#2
Posted 04/13/2017 03:20 PM   
This is probably of no use for this game, but I came across this a few hours ago and found it interesting. [code][ShaderOverrideNVSoftShadows] ; NVIDIA soft shadows already support 3D Vision, but it was not hooked up in ; this game. Simply copy the 3DMigoto stereo sampler into the texture slot the ; shader expects and BAM - soft shadows work flawlessly, no replaced shader ; required :) hash = dad3c3818c805cc3 ps-t5 = ps-t125[/code] It's from the Far Cry 4 fix by DSS https://github.com/bo3b/3Dmigoto/blob/master/FC4/d3dx.ini Anyhow, perhaps you might find it useful in some future game :)
This is probably of no use for this game, but I came across this a few hours ago and found it interesting.

[ShaderOverrideNVSoftShadows]
; NVIDIA soft shadows already support 3D Vision, but it was not hooked up in
; this game. Simply copy the 3DMigoto stereo sampler into the texture slot the
; shader expects and BAM - soft shadows work flawlessly, no replaced shader
; required :)
hash = dad3c3818c805cc3
ps-t5 = ps-t125


It's from the Far Cry 4 fix by DSS
https://github.com/bo3b/3Dmigoto/blob/master/FC4/d3dx.ini

Anyhow, perhaps you might find it useful in some future game :)

#3
Posted 04/13/2017 03:36 PM   
Hi!!! @4everAwake it worked!!! thanks!!! @D-Man11 I'm sorry but I don't understand what you told me.
Hi!!! @4everAwake it worked!!! thanks!!!
@D-Man11 I'm sorry but I don't understand what you told me.

#4
Posted 04/13/2017 04:08 PM   
From what I see there, it seems that when Nvidia made their soft shadows for GameWorks, they made sure to make it stereoscopic compatible. In the above fix, DSS was able to leverage that fact to implement a fix for the shadows in Far Cry 4. He did not need to edit/replace the shader. He simply had to tell it to stereoize, because the shadows were using Nvidia's SDK. I'm no shader hacker, but that's the way I read it. https://developer.nvidia.com/shadowworks
From what I see there, it seems that when Nvidia made their soft shadows for GameWorks, they made sure to make it stereoscopic compatible.

In the above fix, DSS was able to leverage that fact to implement a fix for the shadows in Far Cry 4.

He did not need to edit/replace the shader.

He simply had to tell it to stereoize, because the shadows were using Nvidia's SDK.

I'm no shader hacker, but that's the way I read it.


https://developer.nvidia.com/shadowworks

#5
Posted 04/13/2017 04:17 PM   
[quote="cicicleta"]Hi!!! @4everAwake it worked!!! thanks!!![/quote] Oh, I see that was the Dark Souls 2 SOTFS shadows method :). That's the first shadows formula I try when I see them broken in a game. It worked with Skyrim SE and Dead Rising 3, for example (not with Nier Automata when I suggested it blindly).
cicicleta said:Hi!!! @4everAwake it worked!!! thanks!!!


Oh, I see that was the Dark Souls 2 SOTFS shadows method :). That's the first shadows formula I try when I see them broken in a game. It worked with Skyrim SE and Dead Rising 3, for example (not with Nier Automata when I suggested it blindly).

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

#6
Posted 04/13/2017 07:14 PM   
[quote="masterotaku"][quote="cicicleta"]Hi!!! @4everAwake it worked!!! thanks!!![/quote] Oh, I see that was the Dark Souls 2 SOTFS shadows method :). That's the first shadows formula I try when I see them broken in a game. It worked with Skyrim SE and Dead Rising 3, for example (not with Nier Automata when I suggested it blindly).[/quote] Following your formula in dark souls SOTFS I tried this but it didn't work, can you tell why? BTW creo que hablamos el mismo idioma je je je... Soy de españa más concretamente de Cádiz. [code]// shadows inside bunker? // ---- Created with 3Dmigoto v1.2.56 on Fri Apr 14 01:29:45 2017 cbuffer cb0 : register(b0) { float4 EyePosition : packoffset(c0); row_major float4x4 ShadowLightMatrix : packoffset(c1); float4 ShadowPos : packoffset(c5); float4 ShadowDir : packoffset(c6); float4 ShadowParams : packoffset(c7); row_major float4x4 InvViewProj : packoffset(c8); float4 ShadowParams2 : packoffset(c12); } SamplerState samp0_s : register(s0); SamplerState samp1_s : register(s1); SamplerState samp2_s : register(s2); Texture2D<float4> ZMapMap0 : register(t0); Texture2D<float4> ShadMap1 : register(t1); Texture2D<float4> ShadMap2 : register(t2); // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : SV_POSITION0, float4 v1 : TEXCOORD0, out float4 o0 : SV_TARGET0) { float4 r0,r1,r2; uint4 bitmask, uiDest; float4 fDest; r0.xy = v1.xy / v1.ww; r0.xy = r0.xy * float2(0.5,0.5) + float2(0.5,-0.5); r0.z = -r0.y; r1.xyzw = ZMapMap0.Sample(samp0_s, r0.xz).yzxw; r1.xy = r0.xy * float2(2,2) + float2(-1,1); r1.w = 1; float4 stereo = StereoParams.Load(0); //didn't work float depth = dot(r1.xyzw, InvViewProj._m30_m31_m32_m33); //didn't work r1.x += stereo.x * (depth * stereo.y - 1); //didn't work r0.x = dot(InvViewProj._m00_m01_m02_m03, r1.xyzw); r0.y = dot(InvViewProj._m10_m11_m12_m13, r1.xyzw); r0.z = dot(InvViewProj._m20_m21_m22_m23, r1.xyzw); r0.w = dot(InvViewProj._m30_m31_m32_m33, r1.xyzw); r0.xyzw = r0.xyzw / r0.wwww; r1.z = dot(ShadowLightMatrix._m20_m21_m22_m23, r0.xyzw); r1.w = cmp(r1.z < 0); if (r1.w != 0) discard; r1.x = dot(ShadowLightMatrix._m00_m01_m02_m03, r0.xyzw); r1.y = dot(ShadowLightMatrix._m10_m11_m12_m13, r0.xyzw); r0.x = dot(ShadowLightMatrix._m30_m31_m32_m33, r0.xyzw); r0.xyz = r1.xyz / r0.xxx; r0.w = dot(r0.xyz, r0.xyz); r0.w = sqrt(r0.w); r0.xyz = r0.xyz / r0.www; r0.z = 1 + r0.z; r0.x = r0.x / -r0.z; r0.y = r0.y / r0.z; r0.z = -1 + r0.w; r0.w = -1 + ShadowParams.y; r0.z = r0.z / r0.w; r1.x = r0.x * 0.5 + 0.5; r0.x = r0.y * 0.5 + 0.5; r1.y = 1 + -r0.x; r2.xyzw = ShadMap1.Sample(samp1_s, r1.xy).xyzw; r1.xyzw = ShadMap2.Sample(samp2_s, r1.xy).xyzw; r0.x = ShadowParams2.x + r1.x; r0.x = min(r2.x, r0.x); r0.x = saturate(r0.z + -r0.x); o0.xyzw = -r0.xxxx * float4(150,150,150,150) + float4(1,1,1,1); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler For Durango 9.30.11478.0 // // using 3Dmigoto v1.2.56 on Fri Apr 14 01:29:45 2017 // // // Buffer Definitions: // // cbuffer cb0 // { // // float4 EyePosition; // Offset: 0 Size: 16 [unused] // row_major float4x4 ShadowLightMatrix;// Offset: 16 Size: 64 // float4 ShadowPos; // Offset: 80 Size: 16 [unused] // float4 ShadowDir; // Offset: 96 Size: 16 [unused] // float4 ShadowParams; // Offset: 112 Size: 16 // row_major float4x4 InvViewProj; // Offset: 128 Size: 64 // float4 ShadowParams2; // Offset: 192 Size: 16 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // samp0 sampler NA NA 0 1 // samp1 sampler NA NA 1 1 // samp2 sampler NA NA 2 1 // ZMapMap0 texture float4 2d 0 1 // ShadMap1 texture float4 2d 1 1 // ShadMap2 texture float4 2d 2 1 // cb0 cbuffer NA NA 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float // TEXCOORD 0 xyzw 1 NONE float xy w // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_TARGET 0 xyzw 0 TARGET float xyzw // ps_4_0 dcl_constantbuffer cb0[13], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_resource_texture2d (float,float,float,float) t1 dcl_resource_texture2d (float,float,float,float) t2 dcl_input_ps linear v1.xyw dcl_output o0.xyzw dcl_temps 3 // // Initial variable locations: // v0.x <- Input.Position.x; v0.y <- Input.Position.y; v0.z <- Input.Position.z; v0.w <- Input.Position.w; // v1.x <- Input.Texc0.x; v1.y <- Input.Texc0.y; v1.z <- Input.Texc0.z; v1.w <- Input.Texc0.w; // o0.x <- <main return value>.m_color.x; o0.y <- <main return value>.m_color.y; o0.z <- <main return value>.m_color.z; o0.w <- <main return value>.m_color.w // #line 47 "C:\EkoProjects\HowToSurvive2\Code\EngineExtensions\Lights\HLSL\ShadowParaboloidShader.hlps" div r0.xy, v1.xyxx, v1.wwww mad r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, -0.500000, 0.000000, 0.000000) // r0.x <- proj_coord.x; r0.y <- proj_coord.y #line 51 mov r0.z, -r0.y sample r1.xyzw, r0.xzxx, t0.yzxw, s0 // r1.z <- fZDist #line 54 mad r1.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000) mov r1.w, l(1.000000) dp4 r0.x, cb0[8].xyzw, r1.xyzw // r0.x <- pos.x dp4 r0.y, cb0[9].xyzw, r1.xyzw // r0.y <- pos.y dp4 r0.z, cb0[10].xyzw, r1.xyzw // r0.z <- pos.z dp4 r0.w, cb0[11].xyzw, r1.xyzw // r0.w <- pos.w div r0.xyzw, r0.xyzw, r0.wwww #line 58 dp4 r1.z, cb0[3].xyzw, r0.xyzw // r1.z <- PosProj.z lt r1.w, r1.z, l(0.000000) discard_nz r1.w #line 58 dp4 r1.x, cb0[1].xyzw, r0.xyzw // r1.x <- PosProj.x dp4 r1.y, cb0[2].xyzw, r0.xyzw // r1.y <- PosProj.y dp4 r0.x, cb0[4].xyzw, r0.xyzw // r0.x <- PosProj.w #line 64 div r0.xyz, r1.xyzx, r0.xxxx // r0.x <- PosProj.x; r0.y <- PosProj.y; r0.z <- PosProj.z dp3 r0.w, r0.xyzx, r0.xyzx sqrt r0.w, r0.w // r0.w <- L div r0.xyz, r0.xyzx, r0.wwww add r0.z, r0.z, l(1.000000) div r0.x, r0.x, -r0.z div r0.y, r0.y, r0.z add r0.z, r0.w, l(-1.000000) add r0.w, cb0[7].y, l(-1.000000) div r0.z, r0.z, r0.w // r0.z <- PosProj.z mad r1.x, r0.x, l(0.500000), l(0.500000) // r1.x <- PosProj.x mad r0.x, r0.y, l(0.500000), l(0.500000) add r1.y, -r0.x, l(1.000000) // r1.y <- PosProj.y #line 76 sample r2.xyzw, r1.xyxx, t1.xyzw, s1 // r2.x <- fZShadDist1 sample r1.xyzw, r1.xyxx, t2.xyzw, s2 // r1.x <- fZShadDist2 add r0.x, r1.x, cb0[12].x min r0.x, r0.x, r2.x // r0.x <- fZShadDist add_sat r0.x, -r0.x, r0.z mad o0.xyzw, -r0.xxxx, l(150.000000, 150.000000, 150.000000, 150.000000), l(1.000000, 1.000000, 1.000000, 1.000000) ret undecipherable custom data // Approximately 37 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] Thanks, Gracias
masterotaku said:
cicicleta said:Hi!!! @4everAwake it worked!!! thanks!!!


Oh, I see that was the Dark Souls 2 SOTFS shadows method :). That's the first shadows formula I try when I see them broken in a game. It worked with Skyrim SE and Dead Rising 3, for example (not with Nier Automata when I suggested it blindly).


Following your formula in dark souls SOTFS I tried this but it didn't work, can you tell why?
BTW creo que hablamos el mismo idioma je je je... Soy de españa más concretamente de Cádiz.
// shadows inside bunker?
// ---- Created with 3Dmigoto v1.2.56 on Fri Apr 14 01:29:45 2017

cbuffer cb0 : register(b0)
{
float4 EyePosition : packoffset(c0);
row_major float4x4 ShadowLightMatrix : packoffset(c1);
float4 ShadowPos : packoffset(c5);
float4 ShadowDir : packoffset(c6);
float4 ShadowParams : packoffset(c7);
row_major float4x4 InvViewProj : packoffset(c8);
float4 ShadowParams2 : packoffset(c12);
}

SamplerState samp0_s : register(s0);
SamplerState samp1_s : register(s1);
SamplerState samp2_s : register(s2);
Texture2D<float4> ZMapMap0 : register(t0);
Texture2D<float4> ShadMap1 : register(t1);
Texture2D<float4> ShadMap2 : register(t2);


// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
float4 v0 : SV_POSITION0,
float4 v1 : TEXCOORD0,
out float4 o0 : SV_TARGET0)
{
float4 r0,r1,r2;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = v1.xy / v1.ww;
r0.xy = r0.xy * float2(0.5,0.5) + float2(0.5,-0.5);
r0.z = -r0.y;
r1.xyzw = ZMapMap0.Sample(samp0_s, r0.xz).yzxw;
r1.xy = r0.xy * float2(2,2) + float2(-1,1);
r1.w = 1;

float4 stereo = StereoParams.Load(0); //didn't work
float depth = dot(r1.xyzw, InvViewProj._m30_m31_m32_m33); //didn't work
r1.x += stereo.x * (depth * stereo.y - 1); //didn't work

r0.x = dot(InvViewProj._m00_m01_m02_m03, r1.xyzw);
r0.y = dot(InvViewProj._m10_m11_m12_m13, r1.xyzw);
r0.z = dot(InvViewProj._m20_m21_m22_m23, r1.xyzw);
r0.w = dot(InvViewProj._m30_m31_m32_m33, r1.xyzw);
r0.xyzw = r0.xyzw / r0.wwww;
r1.z = dot(ShadowLightMatrix._m20_m21_m22_m23, r0.xyzw);
r1.w = cmp(r1.z < 0);
if (r1.w != 0) discard;
r1.x = dot(ShadowLightMatrix._m00_m01_m02_m03, r0.xyzw);
r1.y = dot(ShadowLightMatrix._m10_m11_m12_m13, r0.xyzw);
r0.x = dot(ShadowLightMatrix._m30_m31_m32_m33, r0.xyzw);
r0.xyz = r1.xyz / r0.xxx;
r0.w = dot(r0.xyz, r0.xyz);
r0.w = sqrt(r0.w);
r0.xyz = r0.xyz / r0.www;
r0.z = 1 + r0.z;
r0.x = r0.x / -r0.z;
r0.y = r0.y / r0.z;
r0.z = -1 + r0.w;
r0.w = -1 + ShadowParams.y;
r0.z = r0.z / r0.w;
r1.x = r0.x * 0.5 + 0.5;
r0.x = r0.y * 0.5 + 0.5;
r1.y = 1 + -r0.x;
r2.xyzw = ShadMap1.Sample(samp1_s, r1.xy).xyzw;
r1.xyzw = ShadMap2.Sample(samp2_s, r1.xy).xyzw;
r0.x = ShadowParams2.x + r1.x;
r0.x = min(r2.x, r0.x);
r0.x = saturate(r0.z + -r0.x);
o0.xyzw = -r0.xxxx * float4(150,150,150,150) + float4(1,1,1,1);
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler For Durango 9.30.11478.0
//
// using 3Dmigoto v1.2.56 on Fri Apr 14 01:29:45 2017
//
//
// Buffer Definitions:
//
// cbuffer cb0
// {
//
// float4 EyePosition; // Offset: 0 Size: 16 [unused]
// row_major float4x4 ShadowLightMatrix;// Offset: 16 Size: 64
// float4 ShadowPos; // Offset: 80 Size: 16 [unused]
// float4 ShadowDir; // Offset: 96 Size: 16 [unused]
// float4 ShadowParams; // Offset: 112 Size: 16
// row_major float4x4 InvViewProj; // Offset: 128 Size: 64
// float4 ShadowParams2; // Offset: 192 Size: 16
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// samp0 sampler NA NA 0 1
// samp1 sampler NA NA 1 1
// samp2 sampler NA NA 2 1
// ZMapMap0 texture float4 2d 0 1
// ShadMap1 texture float4 2d 1 1
// ShadMap2 texture float4 2d 2 1
// cb0 cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float
// TEXCOORD 0 xyzw 1 NONE float xy w
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET 0 xyzw 0 TARGET float xyzw
//
ps_4_0

dcl_constantbuffer cb0[13], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_input_ps linear v1.xyw
dcl_output o0.xyzw
dcl_temps 3
//
// Initial variable locations:
// v0.x <- Input.Position.x; v0.y <- Input.Position.y; v0.z <- Input.Position.z; v0.w <- Input.Position.w;
// v1.x <- Input.Texc0.x; v1.y <- Input.Texc0.y; v1.z <- Input.Texc0.z; v1.w <- Input.Texc0.w;
// o0.x <- <main return value>.m_color.x; o0.y <- <main return value>.m_color.y; o0.z <- <main return value>.m_color.z; o0.w <- <main return value>.m_color.w
//
#line 47 "C:\EkoProjects\HowToSurvive2\Code\EngineExtensions\Lights\HLSL\ShadowParaboloidShader.hlps"
div r0.xy, v1.xyxx, v1.wwww
mad r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, -0.500000, 0.000000, 0.000000) // r0.x <- proj_coord.x; r0.y <- proj_coord.y

#line 51
mov r0.z, -r0.y
sample r1.xyzw, r0.xzxx, t0.yzxw, s0 // r1.z <- fZDist

#line 54
mad r1.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
mov r1.w, l(1.000000)
dp4 r0.x, cb0[8].xyzw, r1.xyzw // r0.x <- pos.x
dp4 r0.y, cb0[9].xyzw, r1.xyzw // r0.y <- pos.y
dp4 r0.z, cb0[10].xyzw, r1.xyzw // r0.z <- pos.z
dp4 r0.w, cb0[11].xyzw, r1.xyzw // r0.w <- pos.w
div r0.xyzw, r0.xyzw, r0.wwww

#line 58
dp4 r1.z, cb0[3].xyzw, r0.xyzw // r1.z <- PosProj.z
lt r1.w, r1.z, l(0.000000)
discard_nz r1.w

#line 58
dp4 r1.x, cb0[1].xyzw, r0.xyzw // r1.x <- PosProj.x
dp4 r1.y, cb0[2].xyzw, r0.xyzw // r1.y <- PosProj.y
dp4 r0.x, cb0[4].xyzw, r0.xyzw // r0.x <- PosProj.w

#line 64
div r0.xyz, r1.xyzx, r0.xxxx // r0.x <- PosProj.x; r0.y <- PosProj.y; r0.z <- PosProj.z
dp3 r0.w, r0.xyzx, r0.xyzx
sqrt r0.w, r0.w // r0.w <- L
div r0.xyz, r0.xyzx, r0.wwww
add r0.z, r0.z, l(1.000000)
div r0.x, r0.x, -r0.z
div r0.y, r0.y, r0.z
add r0.z, r0.w, l(-1.000000)
add r0.w, cb0[7].y, l(-1.000000)
div r0.z, r0.z, r0.w // r0.z <- PosProj.z
mad r1.x, r0.x, l(0.500000), l(0.500000) // r1.x <- PosProj.x
mad r0.x, r0.y, l(0.500000), l(0.500000)
add r1.y, -r0.x, l(1.000000) // r1.y <- PosProj.y

#line 76
sample r2.xyzw, r1.xyxx, t1.xyzw, s1 // r2.x <- fZShadDist1
sample r1.xyzw, r1.xyxx, t2.xyzw, s2 // r1.x <- fZShadDist2
add r0.x, r1.x, cb0[12].x
min r0.x, r0.x, r2.x // r0.x <- fZShadDist
add_sat r0.x, -r0.x, r0.z
mad o0.xyzw, -r0.xxxx, l(150.000000, 150.000000, 150.000000, 150.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
ret
undecipherable custom data
// Approximately 37 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

Thanks, Gracias

#7
Posted 04/13/2017 11:47 PM   
It doesn't work, but are shadows affected in any way? Maybe the stereo formula needs to be slightly different. Y yo soy de Asturias, la otra punta de España, jaja (conozco a 0 personas de mi entorno que usen 3D Vision, aunque les guste a todos cuando se lo enseño). Para las cosas importantes seguiré hablando en inglés para que todos me entiendan :p.
It doesn't work, but are shadows affected in any way? Maybe the stereo formula needs to be slightly different.

Y yo soy de Asturias, la otra punta de España, jaja (conozco a 0 personas de mi entorno que usen 3D Vision, aunque les guste a todos cuando se lo enseño). Para las cosas importantes seguiré hablando en inglés para que todos me entiendan :p.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

#8
Posted 04/14/2017 12:02 AM   
DHR reside también en España
DHR reside también en España

#9
Posted 04/14/2017 12:38 AM   
Sorry D-Man11....i'm not from Spain. Seems there are a few people in the forum that speak spanish :)
Sorry D-Man11....i'm not from Spain.
Seems there are a few people in the forum that speak spanish :)

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

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

#10
Posted 04/14/2017 01:15 PM   
Ahh, I thought you were from Spain Hablo espanol muy poco SW USA here
Ahh, I thought you were from Spain

Hablo espanol muy poco
SW USA here

#11
Posted 04/14/2017 01:59 PM   
[quote="masterotaku"]It doesn't work, but are shadows affected in any way? Maybe the stereo formula needs to be slightly different. Y yo soy de Asturias, la otra punta de España, jaja (conozco a 0 personas de mi entorno que usen 3D Vision, aunque les guste a todos cuando se lo enseño). Para las cosas importantes seguiré hablando en inglés para que todos me entiendan :p.[/quote] Hi it's almost done!!! That pixel shader needed an ajust in Vs shader!!! and it worked!!! And halo was driving me crazy!!! now only the flashlight left. Thanks!!!!
masterotaku said:It doesn't work, but are shadows affected in any way? Maybe the stereo formula needs to be slightly different.

Y yo soy de Asturias, la otra punta de España, jaja (conozco a 0 personas de mi entorno que usen 3D Vision, aunque les guste a todos cuando se lo enseño). Para las cosas importantes seguiré hablando en inglés para que todos me entiendan :p.


Hi it's almost done!!! That pixel shader needed an ajust in Vs shader!!! and it worked!!! And halo was driving me crazy!!! now only the flashlight left.
Thanks!!!!

#12
Posted 04/14/2017 02:08 PM   
[s]This is it, How to survive 2 WIP. I have only played a few hours and maybe there are some fix to do but this is a start. HUD is a little deeper and "z" key cycles between two Separation and Convergence settings, and "x" key cycles between HUD depth. Blood decals are disabled, maybe someone can fix them.[/s] [url][s]https://drive.google.com/open?id=0B7-C-G8Te2HbV3BNcnhLQ3p4Umc[/s][/url] updated
This is it, How to survive 2 WIP. I have only played a few hours and maybe there are some fix to do but this is a start.
HUD is a little deeper and "z" key cycles between two Separation and Convergence settings, and "x" key cycles between HUD depth. Blood decals are disabled, maybe someone can fix them.

[url]https://drive.google.com/open?id=0B7-C-G8Te2HbV3BNcnhLQ3p4Umc[/url]
updated

#13
Posted 04/14/2017 03:52 PM   
Scroll To Top