Black Desert Online 3D fix..
  2 / 11    
Hi Neph i dont know how to replace a tesstexture thats above my skills but i forget i also change some numbers in the pixelshader cb3f9b70df02e280-ps_replace.txt [code] cbuffer _Globals : register(b0) { float4x4 matFarCloudShadowProjectionTexScale : packoffset(c0); float rainPoolAmount : packoffset(c4) = float(0); float snowPoolAmount : packoffset(c4.y); float4x4 matInvViewProjection : packoffset(c5); float4 vecInvScreenSize : packoffset(c9); } cbuffer outdoorScatteringConst : register(b2) { float4 vecSunColorConst : packoffset(c0); float4 vecSunGlareColorConst : packoffset(c1); float4 vecHorizon0ColorConst : packoffset(c2); float4 vecHorizon1ColorConst : packoffset(c3); float4 vecSkyBaseColorConst : packoffset(c4); float4 vecExtinctionColorConst : packoffset(c5); float4 vecReighColorConst : packoffset(c6); float4 vecSunScatterColorConst : packoffset(c7); float4 vecAmbientColorConst[2] : packoffset(c8); float4 vecAmbientOcclusionColorConst : packoffset(c10); float4 vecDeepAOColorConst : packoffset(c11); float4 vecSkinAmbientColorConst : packoffset(c12); float4 vecHairAmbientColorConst : packoffset(c13); float4 vecEffectAmbientColorAlphaConst : packoffset(c14); float4 vecEffectAmbientColorConst : packoffset(c15); float4 vecEffectAmbientColorHit : packoffset(c16); float4 vecEffectAmbientColorHitAlpha : packoffset(c17); float3 vecSunDirection : packoffset(c18); float fSeaHeightConst : packoffset(c18.w); float3 vecMoonDirection : packoffset(c19); float IndoorRateRegion : packoffset(c19.w); float fSunScatterExpConst : packoffset(c20); float fSunGlareExpConst : packoffset(c20.y); float fSunExpConst : packoffset(c20.z); float fScatterDistanceFalloffConst : packoffset(c20.w); float fMieDistanceFalloffConst : packoffset(c21); float fMieHeightConst : packoffset(c21.y); float fReighDistanceFalloffConst : packoffset(c21.z); float fEnvIntensityConst : packoffset(c21.w); float fHorizonColorExp0Const : packoffset(c22); float fHorizonColorExp1Const : packoffset(c22.y); float fCharacterLightMultiply : packoffset(c22.z); float fCharacterLightMultiply2 : packoffset(c22.w); float RainAmount : packoffset(c23); float AirTemperature : packoffset(c23.y); float AirTemperatureForParticle : packoffset(c23.z); float IndoorRateRoof : packoffset(c23.w); float3 vecLightDirection : packoffset(c24); float fCloudLayer0Const : packoffset(c24.w); float fCloudLayer1Const : packoffset(c25); float fCloudLayer2Const : packoffset(c25.y); float fCloudLayer3Const : packoffset(c25.z); float fCloudLayer4Const : packoffset(c25.w); float fCloudLayer5Const : packoffset(c26); float fCloudLayer6Const : packoffset(c26.y); float fCloudLayer7Const : packoffset(c26.z); float fCloudLayer8Const : packoffset(c26.w); float fCloudLayer9Const : packoffset(c27); float fCloudLayer10Const : packoffset(c27.y); float fCloudLayer11Const : packoffset(c27.z); float fCloudLayer12Const : packoffset(c27.w); float4 fShaderTest : packoffset(c28) = float4(1,1,1,1); float4 vecCloudColorConst : packoffset(c29); float3 vecColorMultiply : packoffset(c30); float fBrightnessMultiply : packoffset(c30.w); } cbuffer TerrainCommonConst : register(b3) { row_major float4x4 matRelativeViewProjection : packoffset(c0); float3 vecViewPosition : packoffset(c4); float dummy_0 : packoffset(c4.w); float2 vecGuideStart : packoffset(c5); float2 vecGuideSize : packoffset(c5.z); float sectorLayerRenderDistance : packoffset(c6); float grassLODScale : packoffset(c6.y) = float(0.800000012); bool bSatelliteShot : packoffset(c6.z); bool bGuideTexture : packoffset(c6.w); } cbuffer TerrainSceneConst : register(b4) { float4 detailTextureInfo : packoffset(c0); float3 vecStartPosition : packoffset(c1); bool isSelected : packoffset(c1.w); float2 vecLODClip : packoffset(c2); } SamplerState samTerrainAnis_s : register(s0); SamplerState samTerrainNormalAnis_s : register(s1); SamplerState samTerrainDecalAnis_s : register(s2); SamplerState samTerrainDecalNormalAnis_s : register(s3); SamplerState samTerrainSpecular_s : register(s4); SamplerState samTerrainParallax_s : register(s5); SamplerState samDiffuseRaw_s : register(s6); SamplerState samDepthRaw_s : register(s7); Texture2D<float4> texTerrain : register(t0); Texture2D<float4> texTerrainDecal : register(t1); Texture2D<float4> texTerrainNormal : register(t2); Texture2D<float4> texTerrainDecalNormal : register(t3); Texture2D<float4> texTerrainSpecular : register(t4); Texture2D<float4> texTerrainParallax : register(t5); Texture2D<float4> texDiffuseRaw : register(t6); Texture2D<float4> texDepthRaw : register(t7); Texture2D<float4> StereoParams : register(t125); Texture1D<float4> IniParams : register(t120); void main( float4 v0 : SV_POSITION0, float4 v1 : COLOR0, float4 v2 : TEXCOORD0, float4 v3 : TEXCOORD1, float4 v4 : TEXCOORD3, float4 v5 : TEXCOORD5, float4 v6 : TEXCOORD6, float4 v7 : TEXCOORD7, float4 v8 : TEXCOORD8, out float4 o0 : SV_TARGET0, out float4 o1 : SV_TARGET1) { float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10; uint4 bitmask, uiDest; float4 fDest; r0.x = v2.w * v1.w; r0.x = saturate(1.69999995 * r0.x); r0.y = -0.00100000005 + r0.x; r0.y = r0.y < 0; if (r0.y != 0) discard; r0.yzw = -vecViewPosition.xyz + v2.xyz; r1.x = dot(r0.yzw, r0.yzw); r1.x = sqrt(r1.x); r0.yzw = r0.yzw / r1.xxx; r1.y = r1.x < 3000; if (r1.y != 0) { r1.yz = vecInvScreenSize.xy * v0.xy; r2.z = texDepthRaw.SampleLevel(samDepthRaw_s, r1.yz, 0).x; r2.xy = r1.yz * float2(2,-2) + float2(-1,1); r2.w = 1; r3.x = dot(r2.xyzw, matInvViewProjection._m00_m10_m20_m30); r3.y = dot(r2.xyzw, matInvViewProjection._m01_m11_m21_m31); r3.z = dot(r2.xyzw, matInvViewProjection._m02_m12_m22_m32); r1.w = dot(r2.xyzw, matInvViewProjection._m03_m13_m23_m33); r2.xyz = r3.xyz / r1.www; r1.w = dot(r2.xyz, r2.xyz); r1.w = sqrt(r1.w); r1.x = r1.x + -r1.w; r1.x = 0.003880238 * r1.x; r1.x = 1 + -abs(r1.x); r1.y = texDiffuseRaw.SampleLevel(samDiffuseRaw_s, r1.yz, 0).w; r1.y = 0.73125 < r1.y; r1.z = 0.000000002 * r1.x; r1.x = r1.y ? r1.z : r1.x; r1.y = r1.x * r0.x; r1.x = r0.x * r1.x + -0.00100000005; r1.x = r1.x < 0; if (r1.x != 0) discard; r0.x = r1.y; } r1.x = v4.y * v1.w; r2.xyzw = -v2.xzxz / detailTextureInfo.yyxx; r3.xyzw = -v2.zyzy / detailTextureInfo.yyxx; r4.xyzw = -v2.xyxy / detailTextureInfo.yyxx; r1.w = 0.0149999997 * fShaderTest.z; r5.x = dot(r0.yzw, v5.xyz); r5.y = dot(r0.yzw, v6.xyz); r0.y = texTerrainParallax.Sample(samTerrainParallax_s, r2.xy).y; r6.x = 0.5 + -r0.y; r0.y = r6.x * r1.w; r0.yz = r5.xy * r0.yy + r2.xy; r0.w = texTerrainParallax.Sample(samTerrainParallax_s, r3.xy).y; r6.y = 0.5 + -r0.w; r0.w = r6.y * r1.w; r2.xy = r5.xy * r0.ww + r3.xy; r0.w = texTerrainParallax.Sample(samTerrainParallax_s, r4.xy).y; r6.z = 0.5 + -r0.w; r0.w = r6.z * r1.w; r3.xy = r5.xy * r0.ww + r4.xy; r0.w = 0.660000026 * sectorLayerRenderDistance; r5.xyz = vecViewPosition.xyz + -v2.xyz; r1.w = dot(r5.xyz, r5.xyz); r1.w = sqrt(r1.w); r0.w = saturate(r1.w / r0.w); r1.w = 1 + -r0.w; r1.w = log2(r1.w); r1.w = 1.29999995 * r1.w; r1.w = exp2(r1.w); r5.xyz = texTerrainDecal.Sample(samTerrainDecalAnis_s, r2.zw).xyz; r7.xyz = texTerrainDecalNormal.Sample(samTerrainDecalNormalAnis_s, r2.zw).xyw; r8.xyz = texTerrain.Sample(samTerrainAnis_s, r0.yz).xyz; r2.z = r1.x * r1.w; r9.xyz = texTerrainSpecular.Sample(samTerrainSpecular_s, r0.yz).yzw; r9.xyz = float3(-0,-0,-1) + r9.xyz; r9.xyz = r1.www * r9.xyz + float3(0,0,1); r0.yz = texTerrainNormal.Sample(samTerrainNormalAnis_s, r0.yz).yw; r0.yz = float2(-0.5,-0.5) + r0.zy; r10.xyz = texTerrainDecal.Sample(samTerrainDecalAnis_s, r3.zw).xyz; r10.xyzw = r10.xyzx + -r5.xyzx; r5.xyzw = v4.xxxx * r10.xyzw + r5.xyzx; r10.xyz = texTerrainDecalNormal.Sample(samTerrainDecalNormalAnis_s, r3.zw).xyw; r10.xyz = r10.zyx + -r7.zyx; r7.xyz = v4.xxx * r10.xyz + r7.zyx; r10.xyz = texTerrain.Sample(samTerrainAnis_s, r2.xy).xyz; r10.xyzw = r10.xyzx + -r8.xyzx; r8.xyzw = v4.xxxx * r10.xyzw + r8.xyzx; r3.zw = v4.xz * r1.ww; r10.xyz = texTerrainSpecular.Sample(samTerrainSpecular_s, r2.xy).yzw; r10.xyz = r10.xyz + -r9.xyz; r9.xyz = r3.zzz * r10.xyz + r9.xyz; r2.xy = texTerrainNormal.Sample(samTerrainNormalAnis_s, r2.xy).yw; r2.xy = float2(-0.5,-0.5) + r2.yx; r2.xy = r2.xy * r3.zz; r0.yz = r0.yz * r2.zz + r2.xy; r2.xyz = texTerrainDecal.Sample(samTerrainDecalAnis_s, r4.zw).xyz; r2.xyzw = r2.xyzx + -r5.wyzw; r2.xyzw = v4.zzzz * r2.xyzw + r5.xyzw; r4.xyz = texTerrainDecalNormal.Sample(samTerrainDecalNormalAnis_s, r4.zw).xyw; r4.xyz = r4.zyx + -r7.xyz; r4.xyz = v4.zzz * r4.xyz + r7.xyz; r5.xyz = texTerrain.Sample(samTerrainAnis_s, r3.xy).xyz; r5.xyzw = r5.xyzx + -r8.wyzw; r5.xyzw = v4.zzzz * r5.xyzw + r8.xyzw; r7.xyz = texTerrainSpecular.Sample(samTerrainSpecular_s, r3.xy).yzw; r7.xyz = r7.xyz + -r9.xyz; r7.yzw = r3.www * r7.xyz + r9.xyz; r3.xy = texTerrainNormal.Sample(samTerrainNormalAnis_s, r3.xy).yw; r3.xy = float2(-0.5,-0.5) + r3.yx; r0.yz = r3.xy * r3.ww + r0.yz; r3.xyzw = r5.xyzw + -r2.wyzw; r2.xyzw = r1.wwww * r3.xyzw + r2.xyzw; r2.xyzw = log2(r2.xyzw); r2.xyzw = float4(0.800000012,0.800000012,0.800000012,0.800000012) * r2.xyzw; r2.xyzw = exp2(r2.xyzw); r2.xyzw = float4(0.75,0.75,0.75,0.75) * r2.xyzw; r3.xy = float2(-0.5,-0.5) + r4.xy; r0.w = 0.5 + r0.w; r0.w = min(1, r0.w); r0.yz = float2(0.5,0.5) * r0.yz; r0.yz = r3.xy * r0.ww + r0.yz; r0.yz = float2(6,6) * r0.yz; r3.xyz = v6.xyz * r0.zzz; r0.yzw = r0.yyy * v5.xyz + r3.xyz; r0.yzw = v3.xyz + r0.yzw; r1.w = dot(r0.yzw, r0.yzw); r1.w = rsqrt(r1.w); r0.yzw = r1.www * r0.yzw; r1.w = rsqrt(r4.z); r1.w = 1 / r1.w; r7.x = r7.y * r1.w; r1.w = 1 + -r7.w; r6.xyz = saturate(-r6.xyz); r1.yz = v4.xz; r1.x = dot(r6.xyz, r1.xyz); r1.x = fShaderTest.z * r1.x; r1.x = r1.x * 4 + r1.w; r1.w = saturate(r0.x * r1.x + r0.x); r0.x = (int)v0.x; r3.xyzw = r2.wyzw * vecColorMultiply.xyzx + -r2.wyzw; r2.xyzw = fBrightnessMultiply * r3.xyzw + r2.xyzw; r3.x = 1 + -fBrightnessMultiply; r3.xy = r7.xz * r3.xx; r2.xyzw = max(float4(0.00999999978,0.00999999978,0.00999999978,0.00999999978), r2.xyzw); r2.xy = float2(0.25,0.5) * r2.xy; r2.x = r2.x + r2.y; r2.x = r2.z * 0.25 + r2.x; r3.z = 0.5 * r2.z; r4.x = r2.w * 0.5 + -r3.z; r2.y = r2.w * -0.25 + r2.y; r4.y = -r2.z * 0.25 + r2.y; r1.x = 0.5 * r2.x; r2.xy = r4.xy * float2(0.5,0.5) + float2(0.5,0.5); r3.z = 1 + abs(r0.z); r0.yw = r0.yw / r3.zz; o1.xy = r0.yw * float2(0.5,0.5) + float2(0.5,0.5); r0.y = 1 + abs(v3.y); r0.yw = v3.xz / r0.yy; r3.z = (int)r0.x & 0x80000000; r0.x = max((int)-r0.x, (int)r0.x); r0.x = (int)r0.x & 1; r3.w = -(int)r0.x; r0.x = r3.z ? r3.w : r0.x; if (r0.x == 0) { r0.x = r0.z >= 0; r0.x = r0.x ? 1 : -1; r0.y = saturate(r0.y * 0.5 + 0.504999995); r0.x = r0.y * r0.x; r2.z = r0.x * 0.5 + 0.5; r1.yz = r2.xz; o1.z = r3.x; } else { r0.x = v3.y >= 0; r0.x = r0.x ? 1 : -1; r0.y = saturate(r0.w * 0.5 + 0.504999995); r0.x = r0.y * r0.x; r2.w = r0.x * 0.5 + 0.5; r1.yz = r2.yw; o1.z = r3.y; } o1.w = r1.w * r1.w; o0.xyzw = r1.xyzw; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.9 on Thu Dec 01 13:00:09 2016 // // // Buffer Definitions: // // cbuffer $Globals // { // // float4x4 matFarCloudShadowProjectionTexScale;// Offset: 0 Size: 64 [unused] // float rainPoolAmount; // Offset: 64 Size: 4 [unused] // = 0x00000000 // float snowPoolAmount; // Offset: 68 Size: 4 [unused] // float4x4 matInvViewProjection; // Offset: 80 Size: 64 // float4 vecInvScreenSize; // Offset: 144 Size: 16 // // } // // cbuffer outdoorScatteringConst // { // // float4 vecSunColorConst; // Offset: 0 Size: 16 [unused] // float4 vecSunGlareColorConst; // Offset: 16 Size: 16 [unused] // float4 vecHorizon0ColorConst; // Offset: 32 Size: 16 [unused] // float4 vecHorizon1ColorConst; // Offset: 48 Size: 16 [unused] // float4 vecSkyBaseColorConst; // Offset: 64 Size: 16 [unused] // float4 vecExtinctionColorConst; // Offset: 80 Size: 16 [unused] // float4 vecReighColorConst; // Offset: 96 Size: 16 [unused] // float4 vecSunScatterColorConst; // Offset: 112 Size: 16 [unused] // float4 vecAmbientColorConst[2]; // Offset: 128 Size: 32 [unused] // float4 vecAmbientOcclusionColorConst;// Offset: 160 Size: 16 [unused] // float4 vecDeepAOColorConst; // Offset: 176 Size: 16 [unused] // float4 vecSkinAmbientColorConst; // Offset: 192 Size: 16 [unused] // float4 vecHairAmbientColorConst; // Offset: 208 Size: 16 [unused] // float4 vecEffectAmbientColorAlphaConst;// Offset: 224 Size: 16 [unused] // float4 vecEffectAmbientColorConst; // Offset: 240 Size: 16 [unused] // float4 vecEffectAmbientColorHit; // Offset: 256 Size: 16 [unused] // float4 vecEffectAmbientColorHitAlpha;// Offset: 272 Size: 16 [unused] // float3 vecSunDirection; // Offset: 288 Size: 12 [unused] // float fSeaHeightConst; // Offset: 300 Size: 4 [unused] // float3 vecMoonDirection; // Offset: 304 Size: 12 [unused] // float IndoorRateRegion; // Offset: 316 Size: 4 [unused] // float fSunScatterExpConst; // Offset: 320 Size: 4 [unused] // float fSunGlareExpConst; // Offset: 324 Size: 4 [unused] // float fSunExpConst; // Offset: 328 Size: 4 [unused] // float fScatterDistanceFalloffConst;// Offset: 332 Size: 4 [unused] // float fMieDistanceFalloffConst; // Offset: 336 Size: 4 [unused] // float fMieHeightConst; // Offset: 340 Size: 4 [unused] // float fReighDistanceFalloffConst; // Offset: 344 Size: 4 [unused] // float fEnvIntensityConst; // Offset: 348 Size: 4 [unused] // float fHorizonColorExp0Const; // Offset: 352 Size: 4 [unused] // float fHorizonColorExp1Const; // Offset: 356 Size: 4 [unused] // float fCharacterLightMultiply; // Offset: 360 Size: 4 [unused] // float fCharacterLightMultiply2; // Offset: 364 Size: 4 [unused] // float RainAmount; // Offset: 368 Size: 4 [unused] // float AirTemperature; // Offset: 372 Size: 4 [unused] // float AirTemperatureForParticle; // Offset: 376 Size: 4 [unused] // float IndoorRateRoof; // Offset: 380 Size: 4 [unused] // float3 vecLightDirection; // Offset: 384 Size: 12 [unused] // float fCloudLayer0Const; // Offset: 396 Size: 4 [unused] // float fCloudLayer1Const; // Offset: 400 Size: 4 [unused] // float fCloudLayer2Const; // Offset: 404 Size: 4 [unused] // float fCloudLayer3Const; // Offset: 408 Size: 4 [unused] // float fCloudLayer4Const; // Offset: 412 Size: 4 [unused] // float fCloudLayer5Const; // Offset: 416 Size: 4 [unused] // float fCloudLayer6Const; // Offset: 420 Size: 4 [unused] // float fCloudLayer7Const; // Offset: 424 Size: 4 [unused] // float fCloudLayer8Const; // Offset: 428 Size: 4 [unused] // float fCloudLayer9Const; // Offset: 432 Size: 4 [unused] // float fCloudLayer10Const; // Offset: 436 Size: 4 [unused] // float fCloudLayer11Const; // Offset: 440 Size: 4 [unused] // float fCloudLayer12Const; // Offset: 444 Size: 4 [unused] // float4 fShaderTest; // Offset: 448 Size: 16 // = 0x3f800000 0x3f800000 0x3f800000 0x3f800000 // float4 vecCloudColorConst; // Offset: 464 Size: 16 [unused] // float3 vecColorMultiply; // Offset: 480 Size: 12 // float fBrightnessMultiply; // Offset: 492 Size: 4 // // } // // cbuffer TerrainCommonConst // { // // row_major float4x4 matRelativeViewProjection;// Offset: 0 Size: 64 [unused] // float3 vecViewPosition; // Offset: 64 Size: 12 // float dummy_0; // Offset: 76 Size: 4 [unused] // float2 vecGuideStart; // Offset: 80 Size: 8 [unused] // float2 vecGuideSize; // Offset: 88 Size: 8 [unused] // float sectorLayerRenderDistance; // Offset: 96 Size: 4 // float grassLODScale; // Offset: 100 Size: 4 [unused] // = 0x3f4ccccd // bool bSatelliteShot; // Offset: 104 Size: 4 [unused] // bool bGuideTexture; // Offset: 108 Size: 4 [unused] // // } // // cbuffer TerrainSceneConst // { // // float4 detailTextureInfo; // Offset: 0 Size: 16 // float3 vecStartPosition; // Offset: 16 Size: 12 [unused] // bool isSelected; // Offset: 28 Size: 4 [unused] // float2 vecLODClip; // Offset: 32 Size: 8 [unused] // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // samTerrainAnis sampler NA NA 0 1 // samTerrainNormalAnis sampler NA NA 1 1 // samTerrainDecalAnis sampler NA NA 2 1 // samTerrainDecalNormalAnis sampler NA NA 3 1 // samTerrainSpecular sampler NA NA 4 1 // samTerrainParallax sampler NA NA 5 1 // samDiffuseRaw sampler NA NA 6 1 // samDepthRaw sampler NA NA 7 1 // texTerrain texture float4 2d 0 1 // texTerrainDecal texture float4 2d 1 1 // texTerrainNormal texture float4 2d 2 1 // texTerrainDecalNormal texture float4 2d 3 1 // texTerrainSpecular texture float4 2d 4 1 // texTerrainParallax texture float4 2d 5 1 // texDiffuseRaw texture float4 2d 6 1 // texDepthRaw texture float4 2d 7 1 // $Globals cbuffer NA NA 0 1 // outdoorScatteringConst cbuffer NA NA 2 1 // TerrainCommonConst cbuffer NA NA 3 1 // TerrainSceneConst cbuffer NA NA 4 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float xy // COLOR 0 xyzw 1 NONE float w // TEXCOORD 0 xyzw 2 NONE float xyzw // TEXCOORD 1 xyz 3 NONE float xyz // TEXCOORD 3 xyz 4 NONE float xyz // TEXCOORD 5 xyz 5 NONE float xyz // TEXCOORD 6 xyz 6 NONE float xyz // TEXCOORD 7 xyzw 7 NONE float // TEXCOORD 8 xyzw 8 NONE float // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_TARGET 0 xyzw 0 TARGET float xyzw // SV_TARGET 1 xyzw 1 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[10], immediateIndexed dcl_constantbuffer cb2[31], immediateIndexed dcl_constantbuffer cb3[7], immediateIndexed dcl_constantbuffer cb4[1], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, mode_default dcl_sampler s3, mode_default dcl_sampler s4, mode_default dcl_sampler s5, mode_default dcl_sampler s6, mode_default dcl_sampler s7, 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_resource_texture2d (float,float,float,float) t3 dcl_resource_texture2d (float,float,float,float) t4 dcl_resource_texture2d (float,float,float,float) t5 dcl_resource_texture2d (float,float,float,float) t6 dcl_resource_texture2d (float,float,float,float) t7 dcl_input_ps_siv linear noperspective v0.xy, position dcl_input_ps linear v1.w dcl_input_ps linear v2.xyzw dcl_input_ps linear v3.xyz dcl_input_ps linear v4.xyz dcl_input_ps linear v5.xyz dcl_input_ps linear v6.xyz dcl_output o0.xyzw dcl_output o1.xyzw dcl_temps 11 mul r0.x, v1.w, v2.w mul_sat r0.x, r0.x, l(1.800000) add r0.y, r0.x, l(-0.001000) lt r0.y, r0.y, l(0.000000) discard_nz r0.y add r0.yzw, v2.xxyz, -cb3[4].xxyz dp3 r1.x, r0.yzwy, r0.yzwy sqrt r1.x, r1.x div r0.yzw, r0.yyzw, r1.xxxx lt r1.y, r1.x, l(3000.000000) if_nz r1.y mul r1.yz, v0.xxyx, cb0[9].xxyx sample_l_indexable(texture2d)(float,float,float,float) r2.z, r1.yzyy, t7.yzxw, s7, l(0.000000) mad r2.xy, r1.yzyy, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000) mov r2.w, l(1.000000) dp4 r3.x, r2.xyzw, cb0[5].xyzw dp4 r3.y, r2.xyzw, cb0[6].xyzw dp4 r3.z, r2.xyzw, cb0[7].xyzw dp4 r1.w, r2.xyzw, cb0[8].xyzw div r2.xyz, r3.xyzx, r1.wwww dp3 r1.w, r2.xyzx, r2.xyzx sqrt r1.w, r1.w add r1.x, -r1.w, r1.x mul r1.x, r1.x, l(0.0598802380) add r1.x, -|r1.x|, l(1.000000) sample_l_indexable(texture2d)(float,float,float,float) r1.y, r1.yzyy, t6.xwyz, s6, l(0.000000) lt r1.y, l(0.781250), r1.y mul r1.z, r1.x, l(0.300000) movc r1.x, r1.y, r1.z, r1.x mul r1.y, r0.x, r1.x mad r1.x, r0.x, r1.x, l(-0.001000) lt r1.x, r1.x, l(0.000000) discard_nz r1.x mov r0.x, r1.y endif mul r1.x, v1.w, v4.y div r2.xyzw, -v2.xzxz, cb4[0].yyxx div r3.xyzw, -v2.zyzy, cb4[0].yyxx div r4.xyzw, -v2.xyxy, cb4[0].yyxx mul r1.w, cb2[28].z, l(0.015000) dp3 r5.x, r0.yzwy, v5.xyzx dp3 r5.y, r0.yzwy, v6.xyzx sample_indexable(texture2d)(float,float,float,float) r0.y, r2.xyxx, t5.xyzw, s5 add r6.x, -r0.y, l(0.500000) mul r0.y, r1.w, r6.x mad r0.yz, r5.xxyx, r0.yyyy, r2.xxyx sample_indexable(texture2d)(float,float,float,float) r0.w, r3.xyxx, t5.xzwy, s5 add r6.y, -r0.w, l(0.500000) mul r0.w, r1.w, r6.y mad r2.xy, r5.xyxx, r0.wwww, r3.xyxx sample_indexable(texture2d)(float,float,float,float) r0.w, r4.xyxx, t5.xzwy, s5 add r6.z, -r0.w, l(0.500000) mul r0.w, r1.w, r6.z mad r3.xy, r5.xyxx, r0.wwww, r4.xyxx mul r0.w, cb3[6].x, l(0.660000) add r5.xyz, -v2.xyzx, cb3[4].xyzx dp3 r1.w, r5.xyzx, r5.xyzx sqrt r1.w, r1.w div_sat r0.w, r1.w, r0.w add r1.w, -r0.w, l(1.000000) log r1.w, r1.w mul r1.w, r1.w, l(1.300000) exp r1.w, r1.w sample_indexable(texture2d)(float,float,float,float) r5.xyz, r2.zwzz, t1.xyzw, s2 sample_indexable(texture2d)(float,float,float,float) r7.xyz, r2.zwzz, t3.xywz, s3 sample_indexable(texture2d)(float,float,float,float) r8.xyz, r0.yzyy, t0.xyzw, s0 mul r2.z, r1.w, r1.x sample_indexable(texture2d)(float,float,float,float) r9.xyz, r0.yzyy, t4.yzwx, s4 add r9.xyz, r9.xyzx, l(-0.000000, -0.000000, -1.000000, 0.000000) mad r9.xyz, r1.wwww, r9.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000) sample_indexable(texture2d)(float,float,float,float) r0.yz, r0.yzyy, t2.xywz, s1 add r0.yz, r0.zzyz, l(0.000000, -0.500000, -0.500000, 0.000000) sample_indexable(texture2d)(float,float,float,float) r10.xyz, r3.zwzz, t1.xyzw, s2 add r10.xyzw, -r5.xyzx, r10.xyzx mad r5.xyzw, v4.xxxx, r10.xyzw, r5.xyzx sample_indexable(texture2d)(float,float,float,float) r10.xyz, r3.zwzz, t3.xywz, s3 add r10.xyz, -r7.zyxz, r10.zyxz mad r7.xyz, v4.xxxx, r10.xyzx, r7.zyxz sample_indexable(texture2d)(float,float,float,float) r10.xyz, r2.xyxx, t0.xyzw, s0 add r10.xyzw, -r8.xyzx, r10.xyzx mad r8.xyzw, v4.xxxx, r10.xyzw, r8.xyzx mul r3.zw, r1.wwww, v4.xxxz sample_indexable(texture2d)(float,float,float,float) r10.xyz, r2.xyxx, t4.yzwx, s4 add r10.xyz, -r9.xyzx, r10.xyzx mad r9.xyz, r3.zzzz, r10.xyzx, r9.xyzx sample_indexable(texture2d)(float,float,float,float) r2.xy, r2.xyxx, t2.ywxz, s1 add r2.xy, r2.yxyy, l(-0.500000, -0.500000, 0.000000, 0.000000) mul r2.xy, r3.zzzz, r2.xyxx mad r0.yz, r0.yyzy, r2.zzzz, r2.xxyx sample_indexable(texture2d)(float,float,float,float) r2.xyz, r4.zwzz, t1.xyzw, s2 add r2.xyzw, -r5.wyzw, r2.xyzx mad r2.xyzw, v4.zzzz, r2.xyzw, r5.xyzw sample_indexable(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t3.xywz, s3 add r4.xyz, -r7.xyzx, r4.zyxz mad r4.xyz, v4.zzzz, r4.xyzx, r7.xyzx sample_indexable(texture2d)(float,float,float,float) r5.xyz, r3.xyxx, t0.xyzw, s0 add r5.xyzw, -r8.wyzw, r5.xyzx mad r5.xyzw, v4.zzzz, r5.xyzw, r8.xyzw sample_indexable(texture2d)(float,float,float,float) r7.xyz, r3.xyxx, t4.yzwx, s4 add r7.xyz, -r9.xyzx, r7.xyzx mad r7.yzw, r3.wwww, r7.xxyz, r9.xxyz sample_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t2.ywxz, s1 add r3.xy, r3.yxyy, l(-0.500000, -0.500000, 0.000000, 0.000000) mad r0.yz, r3.xxyx, r3.wwww, r0.yyzy add r3.xyzw, -r2.wyzw, r5.xyzw mad r2.xyzw, r1.wwww, r3.xyzw, r2.xyzw log r2.xyzw, r2.xyzw mul r2.xyzw, r2.xyzw, l(0.800000, 0.800000, 0.800000, 0.800000) exp r2.xyzw, r2.xyzw mul r2.xyzw, r2.xyzw, l(0.750000, 0.750000, 0.750000, 0.750000) add r3.xy, r4.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000) add r0.w, r0.w, l(0.500000) min r0.w, r0.w, l(1.000000) mul r0.yz, r0.yyzy, l(0.000000, 0.500000, 0.500000, 0.000000) mad r0.yz, r3.xxyx, r0.wwww, r0.yyzy mul r0.yz, r0.yyzy, l(0.000000, 6.000000, 6.000000, 0.000000) mul r3.xyz, r0.zzzz, v6.xyzx mad r0.yzw, r0.yyyy, v5.xxyz, r3.xxyz add r0.yzw, r0.yyzw, v3.xxyz dp3 r1.w, r0.yzwy, r0.yzwy rsq r1.w, r1.w mul r0.yzw, r0.yyzw, r1.wwww rsq r1.w, r4.z div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w mul r7.x, r1.w, r7.y add r1.w, -r7.w, l(1.000000) mov_sat r6.xyz, -r6.xyzx mov r1.yz, v4.xxzx dp3 r1.x, r6.xyzx, r1.xyzx mul r1.x, r1.x, cb2[28].z mad r1.x, r1.x, l(4.000000), r1.w mad_sat r1.w, r0.x, r1.x, r0.x ftoi r0.x, v0.x mad r3.xyzw, r2.wyzw, cb2[30].xyzx, -r2.wyzw mad r2.xyzw, cb2[30].wwww, r3.xyzw, r2.xyzw add r3.x, -cb2[30].w, l(1.000000) mul r3.xy, r3.xxxx, r7.xzxx max r2.xyzw, r2.xyzw, l(0.010000, 0.010000, 0.010000, 0.010000) mul r2.xy, r2.xyxx, l(0.250000, 0.500000, 0.000000, 0.000000) add r2.x, r2.y, r2.x mad r2.x, r2.z, l(0.250000), r2.x mul r3.z, r2.z, l(0.500000) mad r4.x, r2.w, l(0.500000), -r3.z mad r2.y, r2.w, l(-0.250000), r2.y mad r4.y, -r2.z, l(0.250000), r2.y mul r1.x, r2.x, l(0.500000) mad r2.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000) add r3.z, |r0.z|, l(1.000000) div r0.yw, r0.yyyw, r3.zzzz mad o1.xy, r0.ywyy, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000) add r0.y, |v3.y|, l(1.000000) div r0.yw, v3.xxxz, r0.yyyy and r3.z, r0.x, l(0x80000000) imax r0.x, r0.x, -r0.x and r0.x, r0.x, l(1) ineg r3.w, r0.x movc r0.x, r3.z, r3.w, r0.x if_z r0.x ge r0.x, r0.z, l(0.000000) movc r0.x, r0.x, l(1.000000), l(-1.000000) mad_sat r0.y, r0.y, l(0.500000), l(0.505000) mul r0.x, r0.x, r0.y mad r2.z, r0.x, l(0.500000), l(0.500000) mov r1.yz, r2.xxzx mov o1.z, r3.x else ge r0.x, v3.y, l(0.000000) movc r0.x, r0.x, l(1.000000), l(-1.000000) mad_sat r0.y, r0.w, l(0.500000), l(0.505000) mul r0.x, r0.x, r0.y mad r2.w, r0.x, l(0.500000), l(0.500000) mov r1.yz, r2.yywy mov o1.z, r3.y endif mul o1.w, r1.w, r1.w mov o0.xyzw, r1.xyzw ret // Approximately 177 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] but i cant reconstruct witch numbers it was and yes i would test your alpha fix if you want
Hi Neph i dont know how to replace a tesstexture thats above my skills but i forget i also
change some numbers in the pixelshader

cb3f9b70df02e280-ps_replace.txt
cbuffer _Globals : register(b0)
{
float4x4 matFarCloudShadowProjectionTexScale : packoffset(c0);
float rainPoolAmount : packoffset(c4) = float(0);
float snowPoolAmount : packoffset(c4.y);
float4x4 matInvViewProjection : packoffset(c5);
float4 vecInvScreenSize : packoffset(c9);
}

cbuffer outdoorScatteringConst : register(b2)
{
float4 vecSunColorConst : packoffset(c0);
float4 vecSunGlareColorConst : packoffset(c1);
float4 vecHorizon0ColorConst : packoffset(c2);
float4 vecHorizon1ColorConst : packoffset(c3);
float4 vecSkyBaseColorConst : packoffset(c4);
float4 vecExtinctionColorConst : packoffset(c5);
float4 vecReighColorConst : packoffset(c6);
float4 vecSunScatterColorConst : packoffset(c7);
float4 vecAmbientColorConst[2] : packoffset(c8);
float4 vecAmbientOcclusionColorConst : packoffset(c10);
float4 vecDeepAOColorConst : packoffset(c11);
float4 vecSkinAmbientColorConst : packoffset(c12);
float4 vecHairAmbientColorConst : packoffset(c13);
float4 vecEffectAmbientColorAlphaConst : packoffset(c14);
float4 vecEffectAmbientColorConst : packoffset(c15);
float4 vecEffectAmbientColorHit : packoffset(c16);
float4 vecEffectAmbientColorHitAlpha : packoffset(c17);
float3 vecSunDirection : packoffset(c18);
float fSeaHeightConst : packoffset(c18.w);
float3 vecMoonDirection : packoffset(c19);
float IndoorRateRegion : packoffset(c19.w);
float fSunScatterExpConst : packoffset(c20);
float fSunGlareExpConst : packoffset(c20.y);
float fSunExpConst : packoffset(c20.z);
float fScatterDistanceFalloffConst : packoffset(c20.w);
float fMieDistanceFalloffConst : packoffset(c21);
float fMieHeightConst : packoffset(c21.y);
float fReighDistanceFalloffConst : packoffset(c21.z);
float fEnvIntensityConst : packoffset(c21.w);
float fHorizonColorExp0Const : packoffset(c22);
float fHorizonColorExp1Const : packoffset(c22.y);
float fCharacterLightMultiply : packoffset(c22.z);
float fCharacterLightMultiply2 : packoffset(c22.w);
float RainAmount : packoffset(c23);
float AirTemperature : packoffset(c23.y);
float AirTemperatureForParticle : packoffset(c23.z);
float IndoorRateRoof : packoffset(c23.w);
float3 vecLightDirection : packoffset(c24);
float fCloudLayer0Const : packoffset(c24.w);
float fCloudLayer1Const : packoffset(c25);
float fCloudLayer2Const : packoffset(c25.y);
float fCloudLayer3Const : packoffset(c25.z);
float fCloudLayer4Const : packoffset(c25.w);
float fCloudLayer5Const : packoffset(c26);
float fCloudLayer6Const : packoffset(c26.y);
float fCloudLayer7Const : packoffset(c26.z);
float fCloudLayer8Const : packoffset(c26.w);
float fCloudLayer9Const : packoffset(c27);
float fCloudLayer10Const : packoffset(c27.y);
float fCloudLayer11Const : packoffset(c27.z);
float fCloudLayer12Const : packoffset(c27.w);
float4 fShaderTest : packoffset(c28) = float4(1,1,1,1);
float4 vecCloudColorConst : packoffset(c29);
float3 vecColorMultiply : packoffset(c30);
float fBrightnessMultiply : packoffset(c30.w);
}

cbuffer TerrainCommonConst : register(b3)
{
row_major float4x4 matRelativeViewProjection : packoffset(c0);
float3 vecViewPosition : packoffset(c4);
float dummy_0 : packoffset(c4.w);
float2 vecGuideStart : packoffset(c5);
float2 vecGuideSize : packoffset(c5.z);
float sectorLayerRenderDistance : packoffset(c6);
float grassLODScale : packoffset(c6.y) = float(0.800000012);
bool bSatelliteShot : packoffset(c6.z);
bool bGuideTexture : packoffset(c6.w);
}

cbuffer TerrainSceneConst : register(b4)
{
float4 detailTextureInfo : packoffset(c0);
float3 vecStartPosition : packoffset(c1);
bool isSelected : packoffset(c1.w);
float2 vecLODClip : packoffset(c2);
}
SamplerState samTerrainAnis_s : register(s0);
SamplerState samTerrainNormalAnis_s : register(s1);
SamplerState samTerrainDecalAnis_s : register(s2);
SamplerState samTerrainDecalNormalAnis_s : register(s3);
SamplerState samTerrainSpecular_s : register(s4);
SamplerState samTerrainParallax_s : register(s5);
SamplerState samDiffuseRaw_s : register(s6);
SamplerState samDepthRaw_s : register(s7);
Texture2D<float4> texTerrain : register(t0);
Texture2D<float4> texTerrainDecal : register(t1);
Texture2D<float4> texTerrainNormal : register(t2);
Texture2D<float4> texTerrainDecalNormal : register(t3);
Texture2D<float4> texTerrainSpecular : register(t4);
Texture2D<float4> texTerrainParallax : register(t5);
Texture2D<float4> texDiffuseRaw : register(t6);
Texture2D<float4> texDepthRaw : register(t7);

Texture2D<float4> StereoParams : register(t125);
Texture1D<float4> IniParams : register(t120);

void main(
float4 v0 : SV_POSITION0,
float4 v1 : COLOR0,
float4 v2 : TEXCOORD0,
float4 v3 : TEXCOORD1,
float4 v4 : TEXCOORD3,
float4 v5 : TEXCOORD5,
float4 v6 : TEXCOORD6,
float4 v7 : TEXCOORD7,
float4 v8 : TEXCOORD8,
out float4 o0 : SV_TARGET0,
out float4 o1 : SV_TARGET1)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;
uint4 bitmask, uiDest;
float4 fDest;

r0.x = v2.w * v1.w;
r0.x = saturate(1.69999995 * r0.x);
r0.y = -0.00100000005 + r0.x;
r0.y = r0.y < 0;
if (r0.y != 0) discard;
r0.yzw = -vecViewPosition.xyz + v2.xyz;
r1.x = dot(r0.yzw, r0.yzw);
r1.x = sqrt(r1.x);
r0.yzw = r0.yzw / r1.xxx;
r1.y = r1.x < 3000;
if (r1.y != 0) {
r1.yz = vecInvScreenSize.xy * v0.xy;
r2.z = texDepthRaw.SampleLevel(samDepthRaw_s, r1.yz, 0).x;
r2.xy = r1.yz * float2(2,-2) + float2(-1,1);
r2.w = 1;
r3.x = dot(r2.xyzw, matInvViewProjection._m00_m10_m20_m30);
r3.y = dot(r2.xyzw, matInvViewProjection._m01_m11_m21_m31);
r3.z = dot(r2.xyzw, matInvViewProjection._m02_m12_m22_m32);
r1.w = dot(r2.xyzw, matInvViewProjection._m03_m13_m23_m33);
r2.xyz = r3.xyz / r1.www;
r1.w = dot(r2.xyz, r2.xyz);
r1.w = sqrt(r1.w);
r1.x = r1.x + -r1.w;
r1.x = 0.003880238 * r1.x;
r1.x = 1 + -abs(r1.x);
r1.y = texDiffuseRaw.SampleLevel(samDiffuseRaw_s, r1.yz, 0).w;
r1.y = 0.73125 < r1.y;
r1.z = 0.000000002 * r1.x;
r1.x = r1.y ? r1.z : r1.x;
r1.y = r1.x * r0.x;
r1.x = r0.x * r1.x + -0.00100000005;
r1.x = r1.x < 0;
if (r1.x != 0) discard;
r0.x = r1.y;
}
r1.x = v4.y * v1.w;
r2.xyzw = -v2.xzxz / detailTextureInfo.yyxx;
r3.xyzw = -v2.zyzy / detailTextureInfo.yyxx;
r4.xyzw = -v2.xyxy / detailTextureInfo.yyxx;
r1.w = 0.0149999997 * fShaderTest.z;
r5.x = dot(r0.yzw, v5.xyz);
r5.y = dot(r0.yzw, v6.xyz);
r0.y = texTerrainParallax.Sample(samTerrainParallax_s, r2.xy).y;
r6.x = 0.5 + -r0.y;
r0.y = r6.x * r1.w;
r0.yz = r5.xy * r0.yy + r2.xy;
r0.w = texTerrainParallax.Sample(samTerrainParallax_s, r3.xy).y;
r6.y = 0.5 + -r0.w;
r0.w = r6.y * r1.w;
r2.xy = r5.xy * r0.ww + r3.xy;
r0.w = texTerrainParallax.Sample(samTerrainParallax_s, r4.xy).y;
r6.z = 0.5 + -r0.w;
r0.w = r6.z * r1.w;
r3.xy = r5.xy * r0.ww + r4.xy;
r0.w = 0.660000026 * sectorLayerRenderDistance;
r5.xyz = vecViewPosition.xyz + -v2.xyz;
r1.w = dot(r5.xyz, r5.xyz);
r1.w = sqrt(r1.w);
r0.w = saturate(r1.w / r0.w);
r1.w = 1 + -r0.w;
r1.w = log2(r1.w);
r1.w = 1.29999995 * r1.w;
r1.w = exp2(r1.w);
r5.xyz = texTerrainDecal.Sample(samTerrainDecalAnis_s, r2.zw).xyz;
r7.xyz = texTerrainDecalNormal.Sample(samTerrainDecalNormalAnis_s, r2.zw).xyw;
r8.xyz = texTerrain.Sample(samTerrainAnis_s, r0.yz).xyz;
r2.z = r1.x * r1.w;
r9.xyz = texTerrainSpecular.Sample(samTerrainSpecular_s, r0.yz).yzw;
r9.xyz = float3(-0,-0,-1) + r9.xyz;
r9.xyz = r1.www * r9.xyz + float3(0,0,1);
r0.yz = texTerrainNormal.Sample(samTerrainNormalAnis_s, r0.yz).yw;
r0.yz = float2(-0.5,-0.5) + r0.zy;
r10.xyz = texTerrainDecal.Sample(samTerrainDecalAnis_s, r3.zw).xyz;
r10.xyzw = r10.xyzx + -r5.xyzx;
r5.xyzw = v4.xxxx * r10.xyzw + r5.xyzx;
r10.xyz = texTerrainDecalNormal.Sample(samTerrainDecalNormalAnis_s, r3.zw).xyw;
r10.xyz = r10.zyx + -r7.zyx;
r7.xyz = v4.xxx * r10.xyz + r7.zyx;
r10.xyz = texTerrain.Sample(samTerrainAnis_s, r2.xy).xyz;
r10.xyzw = r10.xyzx + -r8.xyzx;
r8.xyzw = v4.xxxx * r10.xyzw + r8.xyzx;
r3.zw = v4.xz * r1.ww;
r10.xyz = texTerrainSpecular.Sample(samTerrainSpecular_s, r2.xy).yzw;
r10.xyz = r10.xyz + -r9.xyz;
r9.xyz = r3.zzz * r10.xyz + r9.xyz;
r2.xy = texTerrainNormal.Sample(samTerrainNormalAnis_s, r2.xy).yw;
r2.xy = float2(-0.5,-0.5) + r2.yx;
r2.xy = r2.xy * r3.zz;
r0.yz = r0.yz * r2.zz + r2.xy;
r2.xyz = texTerrainDecal.Sample(samTerrainDecalAnis_s, r4.zw).xyz;
r2.xyzw = r2.xyzx + -r5.wyzw;
r2.xyzw = v4.zzzz * r2.xyzw + r5.xyzw;
r4.xyz = texTerrainDecalNormal.Sample(samTerrainDecalNormalAnis_s, r4.zw).xyw;
r4.xyz = r4.zyx + -r7.xyz;
r4.xyz = v4.zzz * r4.xyz + r7.xyz;
r5.xyz = texTerrain.Sample(samTerrainAnis_s, r3.xy).xyz;
r5.xyzw = r5.xyzx + -r8.wyzw;
r5.xyzw = v4.zzzz * r5.xyzw + r8.xyzw;
r7.xyz = texTerrainSpecular.Sample(samTerrainSpecular_s, r3.xy).yzw;
r7.xyz = r7.xyz + -r9.xyz;
r7.yzw = r3.www * r7.xyz + r9.xyz;
r3.xy = texTerrainNormal.Sample(samTerrainNormalAnis_s, r3.xy).yw;
r3.xy = float2(-0.5,-0.5) + r3.yx;
r0.yz = r3.xy * r3.ww + r0.yz;
r3.xyzw = r5.xyzw + -r2.wyzw;
r2.xyzw = r1.wwww * r3.xyzw + r2.xyzw;
r2.xyzw = log2(r2.xyzw);
r2.xyzw = float4(0.800000012,0.800000012,0.800000012,0.800000012) * r2.xyzw;
r2.xyzw = exp2(r2.xyzw);
r2.xyzw = float4(0.75,0.75,0.75,0.75) * r2.xyzw;
r3.xy = float2(-0.5,-0.5) + r4.xy;
r0.w = 0.5 + r0.w;
r0.w = min(1, r0.w);
r0.yz = float2(0.5,0.5) * r0.yz;
r0.yz = r3.xy * r0.ww + r0.yz;
r0.yz = float2(6,6) * r0.yz;
r3.xyz = v6.xyz * r0.zzz;
r0.yzw = r0.yyy * v5.xyz + r3.xyz;
r0.yzw = v3.xyz + r0.yzw;
r1.w = dot(r0.yzw, r0.yzw);
r1.w = rsqrt(r1.w);
r0.yzw = r1.www * r0.yzw;
r1.w = rsqrt(r4.z);
r1.w = 1 / r1.w;
r7.x = r7.y * r1.w;
r1.w = 1 + -r7.w;
r6.xyz = saturate(-r6.xyz);
r1.yz = v4.xz;
r1.x = dot(r6.xyz, r1.xyz);
r1.x = fShaderTest.z * r1.x;
r1.x = r1.x * 4 + r1.w;
r1.w = saturate(r0.x * r1.x + r0.x);
r0.x = (int)v0.x;
r3.xyzw = r2.wyzw * vecColorMultiply.xyzx + -r2.wyzw;
r2.xyzw = fBrightnessMultiply * r3.xyzw + r2.xyzw;
r3.x = 1 + -fBrightnessMultiply;
r3.xy = r7.xz * r3.xx;
r2.xyzw = max(float4(0.00999999978,0.00999999978,0.00999999978,0.00999999978), r2.xyzw);
r2.xy = float2(0.25,0.5) * r2.xy;
r2.x = r2.x + r2.y;
r2.x = r2.z * 0.25 + r2.x;
r3.z = 0.5 * r2.z;
r4.x = r2.w * 0.5 + -r3.z;
r2.y = r2.w * -0.25 + r2.y;
r4.y = -r2.z * 0.25 + r2.y;
r1.x = 0.5 * r2.x;
r2.xy = r4.xy * float2(0.5,0.5) + float2(0.5,0.5);
r3.z = 1 + abs(r0.z);
r0.yw = r0.yw / r3.zz;
o1.xy = r0.yw * float2(0.5,0.5) + float2(0.5,0.5);
r0.y = 1 + abs(v3.y);
r0.yw = v3.xz / r0.yy;
r3.z = (int)r0.x & 0x80000000;
r0.x = max((int)-r0.x, (int)r0.x);
r0.x = (int)r0.x & 1;
r3.w = -(int)r0.x;
r0.x = r3.z ? r3.w : r0.x;
if (r0.x == 0) {
r0.x = r0.z >= 0;
r0.x = r0.x ? 1 : -1;
r0.y = saturate(r0.y * 0.5 + 0.504999995);
r0.x = r0.y * r0.x;
r2.z = r0.x * 0.5 + 0.5;
r1.yz = r2.xz;
o1.z = r3.x;
} else {
r0.x = v3.y >= 0;
r0.x = r0.x ? 1 : -1;
r0.y = saturate(r0.w * 0.5 + 0.504999995);
r0.x = r0.y * r0.x;
r2.w = r0.x * 0.5 + 0.5;
r1.yz = r2.yw;
o1.z = r3.y;
}
o1.w = r1.w * r1.w;
o0.xyzw = r1.xyzw;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.9 on Thu Dec 01 13:00:09 2016
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
// float4x4 matFarCloudShadowProjectionTexScale;// Offset: 0 Size: 64 [unused]
// float rainPoolAmount; // Offset: 64 Size: 4 [unused]
// = 0x00000000
// float snowPoolAmount; // Offset: 68 Size: 4 [unused]
// float4x4 matInvViewProjection; // Offset: 80 Size: 64
// float4 vecInvScreenSize; // Offset: 144 Size: 16
//
// }
//
// cbuffer outdoorScatteringConst
// {
//
// float4 vecSunColorConst; // Offset: 0 Size: 16 [unused]
// float4 vecSunGlareColorConst; // Offset: 16 Size: 16 [unused]
// float4 vecHorizon0ColorConst; // Offset: 32 Size: 16 [unused]
// float4 vecHorizon1ColorConst; // Offset: 48 Size: 16 [unused]
// float4 vecSkyBaseColorConst; // Offset: 64 Size: 16 [unused]
// float4 vecExtinctionColorConst; // Offset: 80 Size: 16 [unused]
// float4 vecReighColorConst; // Offset: 96 Size: 16 [unused]
// float4 vecSunScatterColorConst; // Offset: 112 Size: 16 [unused]
// float4 vecAmbientColorConst[2]; // Offset: 128 Size: 32 [unused]
// float4 vecAmbientOcclusionColorConst;// Offset: 160 Size: 16 [unused]
// float4 vecDeepAOColorConst; // Offset: 176 Size: 16 [unused]
// float4 vecSkinAmbientColorConst; // Offset: 192 Size: 16 [unused]
// float4 vecHairAmbientColorConst; // Offset: 208 Size: 16 [unused]
// float4 vecEffectAmbientColorAlphaConst;// Offset: 224 Size: 16 [unused]
// float4 vecEffectAmbientColorConst; // Offset: 240 Size: 16 [unused]
// float4 vecEffectAmbientColorHit; // Offset: 256 Size: 16 [unused]
// float4 vecEffectAmbientColorHitAlpha;// Offset: 272 Size: 16 [unused]
// float3 vecSunDirection; // Offset: 288 Size: 12 [unused]
// float fSeaHeightConst; // Offset: 300 Size: 4 [unused]
// float3 vecMoonDirection; // Offset: 304 Size: 12 [unused]
// float IndoorRateRegion; // Offset: 316 Size: 4 [unused]
// float fSunScatterExpConst; // Offset: 320 Size: 4 [unused]
// float fSunGlareExpConst; // Offset: 324 Size: 4 [unused]
// float fSunExpConst; // Offset: 328 Size: 4 [unused]
// float fScatterDistanceFalloffConst;// Offset: 332 Size: 4 [unused]
// float fMieDistanceFalloffConst; // Offset: 336 Size: 4 [unused]
// float fMieHeightConst; // Offset: 340 Size: 4 [unused]
// float fReighDistanceFalloffConst; // Offset: 344 Size: 4 [unused]
// float fEnvIntensityConst; // Offset: 348 Size: 4 [unused]
// float fHorizonColorExp0Const; // Offset: 352 Size: 4 [unused]
// float fHorizonColorExp1Const; // Offset: 356 Size: 4 [unused]
// float fCharacterLightMultiply; // Offset: 360 Size: 4 [unused]
// float fCharacterLightMultiply2; // Offset: 364 Size: 4 [unused]
// float RainAmount; // Offset: 368 Size: 4 [unused]
// float AirTemperature; // Offset: 372 Size: 4 [unused]
// float AirTemperatureForParticle; // Offset: 376 Size: 4 [unused]
// float IndoorRateRoof; // Offset: 380 Size: 4 [unused]
// float3 vecLightDirection; // Offset: 384 Size: 12 [unused]
// float fCloudLayer0Const; // Offset: 396 Size: 4 [unused]
// float fCloudLayer1Const; // Offset: 400 Size: 4 [unused]
// float fCloudLayer2Const; // Offset: 404 Size: 4 [unused]
// float fCloudLayer3Const; // Offset: 408 Size: 4 [unused]
// float fCloudLayer4Const; // Offset: 412 Size: 4 [unused]
// float fCloudLayer5Const; // Offset: 416 Size: 4 [unused]
// float fCloudLayer6Const; // Offset: 420 Size: 4 [unused]
// float fCloudLayer7Const; // Offset: 424 Size: 4 [unused]
// float fCloudLayer8Const; // Offset: 428 Size: 4 [unused]
// float fCloudLayer9Const; // Offset: 432 Size: 4 [unused]
// float fCloudLayer10Const; // Offset: 436 Size: 4 [unused]
// float fCloudLayer11Const; // Offset: 440 Size: 4 [unused]
// float fCloudLayer12Const; // Offset: 444 Size: 4 [unused]
// float4 fShaderTest; // Offset: 448 Size: 16
// = 0x3f800000 0x3f800000 0x3f800000 0x3f800000
// float4 vecCloudColorConst; // Offset: 464 Size: 16 [unused]
// float3 vecColorMultiply; // Offset: 480 Size: 12
// float fBrightnessMultiply; // Offset: 492 Size: 4
//
// }
//
// cbuffer TerrainCommonConst
// {
//
// row_major float4x4 matRelativeViewProjection;// Offset: 0 Size: 64 [unused]
// float3 vecViewPosition; // Offset: 64 Size: 12
// float dummy_0; // Offset: 76 Size: 4 [unused]
// float2 vecGuideStart; // Offset: 80 Size: 8 [unused]
// float2 vecGuideSize; // Offset: 88 Size: 8 [unused]
// float sectorLayerRenderDistance; // Offset: 96 Size: 4
// float grassLODScale; // Offset: 100 Size: 4 [unused]
// = 0x3f4ccccd
// bool bSatelliteShot; // Offset: 104 Size: 4 [unused]
// bool bGuideTexture; // Offset: 108 Size: 4 [unused]
//
// }
//
// cbuffer TerrainSceneConst
// {
//
// float4 detailTextureInfo; // Offset: 0 Size: 16
// float3 vecStartPosition; // Offset: 16 Size: 12 [unused]
// bool isSelected; // Offset: 28 Size: 4 [unused]
// float2 vecLODClip; // Offset: 32 Size: 8 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// samTerrainAnis sampler NA NA 0 1
// samTerrainNormalAnis sampler NA NA 1 1
// samTerrainDecalAnis sampler NA NA 2 1
// samTerrainDecalNormalAnis sampler NA NA 3 1
// samTerrainSpecular sampler NA NA 4 1
// samTerrainParallax sampler NA NA 5 1
// samDiffuseRaw sampler NA NA 6 1
// samDepthRaw sampler NA NA 7 1
// texTerrain texture float4 2d 0 1
// texTerrainDecal texture float4 2d 1 1
// texTerrainNormal texture float4 2d 2 1
// texTerrainDecalNormal texture float4 2d 3 1
// texTerrainSpecular texture float4 2d 4 1
// texTerrainParallax texture float4 2d 5 1
// texDiffuseRaw texture float4 2d 6 1
// texDepthRaw texture float4 2d 7 1
// $Globals cbuffer NA NA 0 1
// outdoorScatteringConst cbuffer NA NA 2 1
// TerrainCommonConst cbuffer NA NA 3 1
// TerrainSceneConst cbuffer NA NA 4 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xy
// COLOR 0 xyzw 1 NONE float w
// TEXCOORD 0 xyzw 2 NONE float xyzw
// TEXCOORD 1 xyz 3 NONE float xyz
// TEXCOORD 3 xyz 4 NONE float xyz
// TEXCOORD 5 xyz 5 NONE float xyz
// TEXCOORD 6 xyz 6 NONE float xyz
// TEXCOORD 7 xyzw 7 NONE float
// TEXCOORD 8 xyzw 8 NONE float
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET 0 xyzw 0 TARGET float xyzw
// SV_TARGET 1 xyzw 1 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[10], immediateIndexed
dcl_constantbuffer cb2[31], immediateIndexed
dcl_constantbuffer cb3[7], immediateIndexed
dcl_constantbuffer cb4[1], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_sampler s7, 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_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.w
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xyz
dcl_input_ps linear v4.xyz
dcl_input_ps linear v5.xyz
dcl_input_ps linear v6.xyz
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 11
mul r0.x, v1.w, v2.w
mul_sat r0.x, r0.x, l(1.800000)
add r0.y, r0.x, l(-0.001000)
lt r0.y, r0.y, l(0.000000)
discard_nz r0.y
add r0.yzw, v2.xxyz, -cb3[4].xxyz
dp3 r1.x, r0.yzwy, r0.yzwy
sqrt r1.x, r1.x
div r0.yzw, r0.yyzw, r1.xxxx
lt r1.y, r1.x, l(3000.000000)
if_nz r1.y
mul r1.yz, v0.xxyx, cb0[9].xxyx
sample_l_indexable(texture2d)(float,float,float,float) r2.z, r1.yzyy, t7.yzxw, s7, l(0.000000)
mad r2.xy, r1.yzyy, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
mov r2.w, l(1.000000)
dp4 r3.x, r2.xyzw, cb0[5].xyzw
dp4 r3.y, r2.xyzw, cb0[6].xyzw
dp4 r3.z, r2.xyzw, cb0[7].xyzw
dp4 r1.w, r2.xyzw, cb0[8].xyzw
div r2.xyz, r3.xyzx, r1.wwww
dp3 r1.w, r2.xyzx, r2.xyzx
sqrt r1.w, r1.w
add r1.x, -r1.w, r1.x
mul r1.x, r1.x, l(0.0598802380)
add r1.x, -|r1.x|, l(1.000000)
sample_l_indexable(texture2d)(float,float,float,float) r1.y, r1.yzyy, t6.xwyz, s6, l(0.000000)
lt r1.y, l(0.781250), r1.y
mul r1.z, r1.x, l(0.300000)
movc r1.x, r1.y, r1.z, r1.x
mul r1.y, r0.x, r1.x
mad r1.x, r0.x, r1.x, l(-0.001000)
lt r1.x, r1.x, l(0.000000)
discard_nz r1.x
mov r0.x, r1.y
endif
mul r1.x, v1.w, v4.y
div r2.xyzw, -v2.xzxz, cb4[0].yyxx
div r3.xyzw, -v2.zyzy, cb4[0].yyxx
div r4.xyzw, -v2.xyxy, cb4[0].yyxx
mul r1.w, cb2[28].z, l(0.015000)
dp3 r5.x, r0.yzwy, v5.xyzx
dp3 r5.y, r0.yzwy, v6.xyzx
sample_indexable(texture2d)(float,float,float,float) r0.y, r2.xyxx, t5.xyzw, s5
add r6.x, -r0.y, l(0.500000)
mul r0.y, r1.w, r6.x
mad r0.yz, r5.xxyx, r0.yyyy, r2.xxyx
sample_indexable(texture2d)(float,float,float,float) r0.w, r3.xyxx, t5.xzwy, s5
add r6.y, -r0.w, l(0.500000)
mul r0.w, r1.w, r6.y
mad r2.xy, r5.xyxx, r0.wwww, r3.xyxx
sample_indexable(texture2d)(float,float,float,float) r0.w, r4.xyxx, t5.xzwy, s5
add r6.z, -r0.w, l(0.500000)
mul r0.w, r1.w, r6.z
mad r3.xy, r5.xyxx, r0.wwww, r4.xyxx
mul r0.w, cb3[6].x, l(0.660000)
add r5.xyz, -v2.xyzx, cb3[4].xyzx
dp3 r1.w, r5.xyzx, r5.xyzx
sqrt r1.w, r1.w
div_sat r0.w, r1.w, r0.w
add r1.w, -r0.w, l(1.000000)
log r1.w, r1.w
mul r1.w, r1.w, l(1.300000)
exp r1.w, r1.w
sample_indexable(texture2d)(float,float,float,float) r5.xyz, r2.zwzz, t1.xyzw, s2
sample_indexable(texture2d)(float,float,float,float) r7.xyz, r2.zwzz, t3.xywz, s3
sample_indexable(texture2d)(float,float,float,float) r8.xyz, r0.yzyy, t0.xyzw, s0
mul r2.z, r1.w, r1.x
sample_indexable(texture2d)(float,float,float,float) r9.xyz, r0.yzyy, t4.yzwx, s4
add r9.xyz, r9.xyzx, l(-0.000000, -0.000000, -1.000000, 0.000000)
mad r9.xyz, r1.wwww, r9.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r0.yz, r0.yzyy, t2.xywz, s1
add r0.yz, r0.zzyz, l(0.000000, -0.500000, -0.500000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r10.xyz, r3.zwzz, t1.xyzw, s2
add r10.xyzw, -r5.xyzx, r10.xyzx
mad r5.xyzw, v4.xxxx, r10.xyzw, r5.xyzx
sample_indexable(texture2d)(float,float,float,float) r10.xyz, r3.zwzz, t3.xywz, s3
add r10.xyz, -r7.zyxz, r10.zyxz
mad r7.xyz, v4.xxxx, r10.xyzx, r7.zyxz
sample_indexable(texture2d)(float,float,float,float) r10.xyz, r2.xyxx, t0.xyzw, s0
add r10.xyzw, -r8.xyzx, r10.xyzx
mad r8.xyzw, v4.xxxx, r10.xyzw, r8.xyzx
mul r3.zw, r1.wwww, v4.xxxz
sample_indexable(texture2d)(float,float,float,float) r10.xyz, r2.xyxx, t4.yzwx, s4
add r10.xyz, -r9.xyzx, r10.xyzx
mad r9.xyz, r3.zzzz, r10.xyzx, r9.xyzx
sample_indexable(texture2d)(float,float,float,float) r2.xy, r2.xyxx, t2.ywxz, s1
add r2.xy, r2.yxyy, l(-0.500000, -0.500000, 0.000000, 0.000000)
mul r2.xy, r3.zzzz, r2.xyxx
mad r0.yz, r0.yyzy, r2.zzzz, r2.xxyx
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r4.zwzz, t1.xyzw, s2
add r2.xyzw, -r5.wyzw, r2.xyzx
mad r2.xyzw, v4.zzzz, r2.xyzw, r5.xyzw
sample_indexable(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t3.xywz, s3
add r4.xyz, -r7.xyzx, r4.zyxz
mad r4.xyz, v4.zzzz, r4.xyzx, r7.xyzx
sample_indexable(texture2d)(float,float,float,float) r5.xyz, r3.xyxx, t0.xyzw, s0
add r5.xyzw, -r8.wyzw, r5.xyzx
mad r5.xyzw, v4.zzzz, r5.xyzw, r8.xyzw
sample_indexable(texture2d)(float,float,float,float) r7.xyz, r3.xyxx, t4.yzwx, s4
add r7.xyz, -r9.xyzx, r7.xyzx
mad r7.yzw, r3.wwww, r7.xxyz, r9.xxyz
sample_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t2.ywxz, s1
add r3.xy, r3.yxyy, l(-0.500000, -0.500000, 0.000000, 0.000000)
mad r0.yz, r3.xxyx, r3.wwww, r0.yyzy
add r3.xyzw, -r2.wyzw, r5.xyzw
mad r2.xyzw, r1.wwww, r3.xyzw, r2.xyzw
log r2.xyzw, r2.xyzw
mul r2.xyzw, r2.xyzw, l(0.800000, 0.800000, 0.800000, 0.800000)
exp r2.xyzw, r2.xyzw
mul r2.xyzw, r2.xyzw, l(0.750000, 0.750000, 0.750000, 0.750000)
add r3.xy, r4.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
add r0.w, r0.w, l(0.500000)
min r0.w, r0.w, l(1.000000)
mul r0.yz, r0.yyzy, l(0.000000, 0.500000, 0.500000, 0.000000)
mad r0.yz, r3.xxyx, r0.wwww, r0.yyzy
mul r0.yz, r0.yyzy, l(0.000000, 6.000000, 6.000000, 0.000000)
mul r3.xyz, r0.zzzz, v6.xyzx
mad r0.yzw, r0.yyyy, v5.xxyz, r3.xxyz
add r0.yzw, r0.yyzw, v3.xxyz
dp3 r1.w, r0.yzwy, r0.yzwy
rsq r1.w, r1.w
mul r0.yzw, r0.yyzw, r1.wwww
rsq r1.w, r4.z
div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
mul r7.x, r1.w, r7.y
add r1.w, -r7.w, l(1.000000)
mov_sat r6.xyz, -r6.xyzx
mov r1.yz, v4.xxzx
dp3 r1.x, r6.xyzx, r1.xyzx
mul r1.x, r1.x, cb2[28].z
mad r1.x, r1.x, l(4.000000), r1.w
mad_sat r1.w, r0.x, r1.x, r0.x
ftoi r0.x, v0.x
mad r3.xyzw, r2.wyzw, cb2[30].xyzx, -r2.wyzw
mad r2.xyzw, cb2[30].wwww, r3.xyzw, r2.xyzw
add r3.x, -cb2[30].w, l(1.000000)
mul r3.xy, r3.xxxx, r7.xzxx
max r2.xyzw, r2.xyzw, l(0.010000, 0.010000, 0.010000, 0.010000)
mul r2.xy, r2.xyxx, l(0.250000, 0.500000, 0.000000, 0.000000)
add r2.x, r2.y, r2.x
mad r2.x, r2.z, l(0.250000), r2.x
mul r3.z, r2.z, l(0.500000)
mad r4.x, r2.w, l(0.500000), -r3.z
mad r2.y, r2.w, l(-0.250000), r2.y
mad r4.y, -r2.z, l(0.250000), r2.y
mul r1.x, r2.x, l(0.500000)
mad r2.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r3.z, |r0.z|, l(1.000000)
div r0.yw, r0.yyyw, r3.zzzz
mad o1.xy, r0.ywyy, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r0.y, |v3.y|, l(1.000000)
div r0.yw, v3.xxxz, r0.yyyy
and r3.z, r0.x, l(0x80000000)
imax r0.x, r0.x, -r0.x
and r0.x, r0.x, l(1)
ineg r3.w, r0.x
movc r0.x, r3.z, r3.w, r0.x
if_z r0.x
ge r0.x, r0.z, l(0.000000)
movc r0.x, r0.x, l(1.000000), l(-1.000000)
mad_sat r0.y, r0.y, l(0.500000), l(0.505000)
mul r0.x, r0.x, r0.y
mad r2.z, r0.x, l(0.500000), l(0.500000)
mov r1.yz, r2.xxzx
mov o1.z, r3.x
else
ge r0.x, v3.y, l(0.000000)
movc r0.x, r0.x, l(1.000000), l(-1.000000)
mad_sat r0.y, r0.w, l(0.500000), l(0.505000)
mul r0.x, r0.x, r0.y
mad r2.w, r0.x, l(0.500000), l(0.500000)
mov r1.yz, r2.yywy
mov o1.z, r3.y
endif
mul o1.w, r1.w, r1.w
mov o0.xyzw, r1.xyzw
ret
// Approximately 177 instruction slots used

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



but i cant reconstruct witch numbers it was


and yes i would test your alpha fix if you want

#16
Posted 04/04/2017 12:04 AM   
Well I gave it a shot but either I did something wrong with the way I am supposed nest a folder for the jpg's files or the naming was wrong but either way I was not too successful.. Here is the link for the way it is supposed to be done but it is lacking well to me anyway some needed info especially what to do with the jpg?? https://github.com/bo3b/3Dmigoto/wiki/Replacing-textures IF anybody gets a chance to look and read it maybe you can get more out of it..I will get it just gonna take some tinkering..
Well I gave it a shot but either I did something wrong with the way I am supposed nest a folder for the jpg's files or the naming was wrong but either way I was not too successful..

Here is the link for the way it is supposed to be done but it is lacking well to me anyway some needed info especially what to do with the jpg??


https://github.com/bo3b/3Dmigoto/wiki/Replacing-textures


IF anybody gets a chance to look and read it maybe you can get more out of it..I will get it just gonna take some tinkering..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#17
Posted 04/04/2017 05:36 AM   
OK small update.. On April 5, 2017 the developers of BD made an update well sadly it broke the Fix I was working on.. Good news we can still get it working in 3D but with most of the eye candy OFF..that is the short of it.. The Problem was I could not disable the shadows any longer it just refused to work and in Migot when I tried reloading the fix it did not work.. I made a write up over Helixmod blog so go there to see how to get it working and I have to say this is my Last MMO..
OK small update.. On April 5, 2017 the developers of BD made an update well sadly it broke the Fix I was working on..

Good news we can still get it working in 3D but with most of the eye candy OFF..that is the short of it..

The Problem was I could not disable the shadows any longer it just refused to work and in Migot when I tried reloading the fix it did not work..

I made a write up over Helixmod blog so go there to see how to get it working and I have to say this is my Last MMO..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#18
Posted 04/06/2017 03:46 AM   
Well I am not entirely certain that the update broke the fix.. I had a PC issue and I reinstalled windows so I am going to give this another quick look no promises or don't get your hope up.. I just wanto see if it was the update or that damned Trojan thingie..
Well I am not entirely certain that the update broke the fix.. I had a PC issue and I reinstalled windows so I am going to give this another quick look no promises or don't get your hope up..

I just wanto see if it was the update or that damned Trojan thingie..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#19
Posted 04/06/2017 05:10 PM   
SORRY to Report the fix silently fails the game so it will not even start now with the current fix :( :( This is DEAD in the water and a NOGO... Damn shame the game looked real good in 3D but alas it was not ment to be ..
SORRY to Report the fix silently fails the game so it will not even start now with the current fix :( :(

This is DEAD in the water and a NOGO... Damn shame the game looked real good in 3D but alas it was not ment to be ..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#20
Posted 04/06/2017 06:48 PM   
Thanks for trying.. If you can find any way to just disable the shadows it might be good enough.
Thanks for trying.. If you can find any way to just disable the shadows it might be good enough.

NZXT Noctis 450. Asus ROG Formula VIII, 6700k, NZXT Kracken x61. Avexir Core DDR4 (Red) 16g. Windows 10. Samsung Evo 1T & 2T SSD. Asus Strix 2080 ti. EVGA 1300w Modular Gold PSU.
Asus ROG Swift PG278Q Monitor: 1440p 3D Vision

#21
Posted 04/06/2017 07:18 PM   
Hey Looks like I was WRONG, I am reworking the fix ghimme a few hours and I can get a good fix going.. with the update they might have just changed a few shaders will have to do some hunting but at least I know what to look for.. I will get this going again.. so GOOD NEWS it is WORKING AGAIN I just had to do some tweaking..
Hey Looks like I was WRONG, I am reworking the fix ghimme a few hours and I can get a good fix going.. with the update they might have just changed a few shaders will have to do some hunting but at least I know what to look for..

I will get this going again.. so GOOD NEWS it is WORKING AGAIN I just had to do some tweaking..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#22
Posted 04/06/2017 07:54 PM   
herer is an alph a build to tide you all over gimme some feedback please.. but all in all not too bad.. there is also 3 hotkeys 1 is for the UI/HUD elemnts.. the other 2 are for cinematics and gameplay convergernce setting.. [code] ;Convergance setting for Spirit Guide, Configurable to your desired Convergance.. [KeyCinematics] Key = , convergence = 350 ;Ingame Convergance setting. Configurable to end user setting..Use Period key for preset ; Convergance setting for ingame playing.. Comma Key switches for cinematics, Period key to set for ingame.. [KeyGameplay] Key = . convergence = 1150 [/code] you may need to adjust to your liking.. you will have to enavble Hunting in the ini file and set the separation for ingame play then the convergence note the number ingame setting.. Then push the COMMA key that will bring up the spirit guide, set your convergence tou your liking the separation should be fine.. here is the Alpha build: https://s3.amazonaws.com/nephilim3d/Black+Desert+ALPHA+Build.7z
herer is an alph a build to tide you all over gimme some feedback please.. but all in all not too bad..

there is also 3 hotkeys 1 is for the UI/HUD elemnts.. the other 2 are for cinematics and gameplay convergernce setting..

;Convergance setting for Spirit Guide, Configurable to your desired Convergance..

[KeyCinematics]
Key = ,
convergence = 350

;Ingame Convergance setting. Configurable to end user setting..Use Period key for preset
; Convergance setting for ingame playing.. Comma Key switches for cinematics, Period key to set for ingame..
[KeyGameplay]
Key = .
convergence = 1150


you may need to adjust to your liking.. you will have to enavble Hunting in the ini file and set the separation for ingame play then the convergence note the number ingame setting..

Then push the COMMA key that will bring up the spirit guide, set your convergence tou your liking the separation should be fine..


here is the Alpha build:



https://s3.amazonaws.com/nephilim3d/Black+Desert+ALPHA+Build.7z

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#23
Posted 04/06/2017 08:58 PM   
OK Guys I am done the fix for now and it is in Beta stage so have at it over on the HelicMod blog.. PLEASE READ the instructions as there is Important info there.. If you need any help leave a message here or there.. I hope you enjoy it..
OK Guys I am done the fix for now and it is in Beta stage so have at it over on the HelicMod blog..

PLEASE READ the instructions as there is Important info there.. If you need any help leave a message here or there..

I hope you enjoy it..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#24
Posted 04/07/2017 04:06 AM   
Wicked, thanks alot will try this out sometime this weekend.
Wicked, thanks alot will try this out sometime this weekend.

i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
EVGA 1080TI SLI
Samsung SSD 840Pro
ASUS Z97-WS
3D Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)

#25
Posted 04/07/2017 04:24 AM   
Yes IT really came out pretty good. I am sure there might be a fewe things here in there I was mostly at the starter area it does look really good better then I thought it would.. I am going to try and keep this updated over time ;) no Preopmises tho but it is only 9 bucks ;)
Yes IT really came out pretty good. I am sure there might be a fewe things here in there I was mostly at the starter area it does look really good better then I thought it would..

I am going to try and keep this updated over time ;) no Preopmises tho but it is only 9 bucks ;)

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#26
Posted 04/07/2017 04:36 AM   
Could you please update your post on the blog to add what you actually fixed? Because at this point I am not certain it's working for me. Hud is at screen depth. (which might be normal) and shadows are still very broken. Did actually drop out of 3d mode completely about 5 minutes after running around.
Could you please update your post on the blog to add what you actually fixed? Because at this point I am not certain it's working for me. Hud is at screen depth. (which might be normal) and shadows are still very broken.

Did actually drop out of 3d mode completely about 5 minutes after running around.

i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
EVGA 1080TI SLI
Samsung SSD 840Pro
ASUS Z97-WS
3D Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)

#27
Posted 04/07/2017 06:12 AM   
Items Fixed or disabled.. 1. Shadows disabled. 2. HUD/UI all should be fixed...have to be enabled with Hotkey "MINUS" on Numpad 3. Crosshair fixed stereoized 4. Cut scene and in game convergance setting.. 5. Stones that where in 2D on the road disabled. Will try and see if I can stereoize them.. 6. Spirit Guide in Talking mode giving quests Stereoized.. 7. altered effect on road disable 2D 8. Soft Shadow under player Disabled.. 9. some Cart Tracks on Road disabled.. 2d 10. puddles on road disabled.. This is for Windows 10 64bit. I am unsure if Windows 7 64bit will work if you have trouble running the windows 7 64bit let me know here.. Where you playing this on Win 7? if so any chance you can use Win 10?? this fix was tested for Win 10. Win 7 is untested?? All shadows should be disabled.. HUD/UI Needs to be toggled with a Hotkey "Minus" on the numpad keys.. By default HUD/UI it is always 2D needs to be switched on.. I did update the blog but put what was fixed here as well.. Let me know which OS you using for the fix..
Items Fixed or disabled..


1. Shadows disabled.

2. HUD/UI all should be fixed...have to be enabled with Hotkey "MINUS" on Numpad

3. Crosshair fixed stereoized

4. Cut scene and in game convergance setting..

5. Stones that where in 2D on the road disabled. Will try and see if I can stereoize them..

6. Spirit Guide in Talking mode giving quests Stereoized..

7. altered effect on road disable 2D

8. Soft Shadow under player Disabled..

9. some Cart Tracks on Road disabled.. 2d

10. puddles on road disabled..


This is for Windows 10 64bit. I am unsure if Windows 7 64bit will work if you have trouble running the windows 7 64bit let me know here..


Where you playing this on Win 7? if so any chance you can use Win 10?? this fix was tested for Win 10. Win 7 is untested??

All shadows should be disabled..
HUD/UI Needs to be toggled with a Hotkey "Minus" on the numpad keys..
By default HUD/UI it is always 2D needs to be switched on.. I did update the blog but put what was fixed here as well..

Let me know which OS you using for the fix..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#28
Posted 04/07/2017 06:59 AM   
Ok thanks. I am actually running on windows 10 64 atm. Shadows are definitely not disabled for me, I wonder if it's my graphics settings. It does come up with the 3dvision green text with your credits =) so I assume It's running.
Ok thanks.

I am actually running on windows 10 64 atm.

Shadows are definitely not disabled for me, I wonder if it's my graphics settings. It does come up with the 3dvision green text with your credits =) so I assume It's running.

i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
EVGA 1080TI SLI
Samsung SSD 840Pro
ASUS Z97-WS
3D Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)

#29
Posted 04/07/2017 07:17 AM   
Well I totally removed the fix from my folder and downloaded it from Helixmod blog and it looked like the main shadows where gone it just appeared there where some trace Charchter shadows.. so it is working just got to find out about thos character shadows.. the road looked a little bit more funky too.. Are you running the High graphics version??
Well I totally removed the fix from my folder and downloaded it from Helixmod blog and it looked like the main shadows where gone it just appeared there where some trace Charchter shadows.. so it is working just got to find out about thos character shadows.. the road looked a little bit more funky too..

Are you running the High graphics version??

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#30
Posted 04/07/2017 07:42 AM   
  2 / 11    
Scroll To Top