-
Notifications
You must be signed in to change notification settings - Fork 123
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Should be final version from 11-14-14 drop.
- Loading branch information
Showing
45 changed files
with
8,556 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,251 @@ | ||
//decals | ||
cbuffer _Globals : register(b0) | ||
{ | ||
float k_fInvLightRadius : packoffset(c0); | ||
row_major float3x4 k_mCubeProjector_LightTransform : packoffset(c1); | ||
row_major float3x4 k_mDirectional_ObjectToTex : packoffset(c4); | ||
row_major float4x4 k_mSpotProjector_LightTransform : packoffset(c7); | ||
float4 k_vSpotProjector_TanXYRadiusZW : packoffset(c11); | ||
row_major float3x4 k_mWorldToVolume : packoffset(c12); | ||
float3 k_vDirectional_Dir : packoffset(c15); | ||
float4 k_vObjectLightColor : packoffset(c16); | ||
float3 k_vObjectSpaceLightPos : packoffset(c17); | ||
float4 k_vSpecularColor : packoffset(c18); | ||
float4 k_vSpotProjector_ClipFar : packoffset(c19); | ||
float4 k_vSpotProjector_ClipNear : packoffset(c20); | ||
float3 k_vHalfDims : packoffset(c21); | ||
float4 k_vShadowMapParams : packoffset(c22); | ||
float4 k_vShadowMapParams2 : packoffset(c23); | ||
row_major float4x4 k_mShadowMapMatrix : packoffset(c24); | ||
float4 k_vShadowCascadeOffsetX : packoffset(c28); | ||
float4 k_vShadowCascadeOffsetZ : packoffset(c29); | ||
float k_fStaticLightVolume_Mip : packoffset(c30); | ||
float4 k_vShadowSplitDistSquared : packoffset(c31); | ||
float4 k_vShadowSplitDistSelect : packoffset(c32); | ||
float4 k_vShadowMoveX : packoffset(c33); | ||
float4 k_vShadowMoveY : packoffset(c34); | ||
float4 k_vShadowMoveZ : packoffset(c35); | ||
float4 k_vShadowScaleXY : packoffset(c36); | ||
float4 k_vShadowScaleX : packoffset(c37); | ||
float4 k_vShadowScaleY : packoffset(c38); | ||
float4 k_vShadowScaleZ : packoffset(c39); | ||
float3 k_vLightBleed_Offset : packoffset(c40); | ||
float4 k_vStaticLightVolume_PivotContrast : packoffset(c41); | ||
float k_fLightLayer : packoffset(c42); | ||
row_major float3x4 k_mViewToLight : packoffset(c43); | ||
row_major float4x4 k_mObjectToClip : packoffset(c46); | ||
row_major float3x4 k_mObjectToView : packoffset(c50); | ||
row_major float3x4 k_mObjectToWorld : packoffset(c53); | ||
float4 k_vObjectColor : packoffset(c56); | ||
float3 k_vObjectSpaceEyePos : packoffset(c57); | ||
row_major float4x4 k_mPrevObjectToClip : packoffset(c58); | ||
row_major float3x4 k_mPrevObjectToView : packoffset(c62); | ||
row_major float3x4 k_mPrevObjectToWorld : packoffset(c65); | ||
float k_fDiffuseAlpha : packoffset(c68) = float(1.000000e+000); | ||
float k_fMaxSpecularPower : packoffset(c68.y) = float(6.400000e+001); | ||
float k_fSpecularScale : packoffset(c68.z) = float(1.000000e+000); | ||
float k_fFresnelTerm : packoffset(c68.w) = float(1.000000e+000); | ||
int k_bRendersEmissive : packoffset(c69) = int(1.401298e-045); | ||
} | ||
SamplerState sPoint_CLAMPCLAMPCLAMP_Sampler_s : register(s0); | ||
SamplerState sAniso4X_WRAPWRAPCLAMP_Sampler_s : register(s1); | ||
SamplerState sAniso8X_WRAPWRAPCLAMP_Sampler_s : register(s2); | ||
Texture2D<float4> tDepthMap : register(t0); | ||
Texture2D<float4> tNormalMap : register(t1); | ||
Texture2D<float4> tDiffuseMap : register(t2); | ||
|
||
Texture2D<float4> StereoParams : register(t125); | ||
|
||
void main( | ||
float4 v0 : SV_POSITION0, | ||
float4 v1 : TEXCOORD0, | ||
float2 v2 : TEXCOORD1, | ||
float4 v4 : TEXCOORD3, | ||
out float4 o0 : SV_Target0, | ||
out float4 o1 : SV_Target1, | ||
out float4 o2 : SV_Target2, | ||
out float4 o3 : SV_Target3) | ||
{ | ||
float4 r0,r1,r2; | ||
uint4 bitmask; | ||
o0.xyzw = float4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); | ||
r0.xy = v2.xy / v1.ww; | ||
r0.zw = v1.xy / v1.ww; | ||
r1.z = tDepthMap.Sample(sPoint_CLAMPCLAMPCLAMP_Sampler_s, r0.zw).x; | ||
r1.xy = r1.zz * r0.xy; | ||
|
||
float4 stereo = StereoParams.Load(0); | ||
r1.x -= stereo.x * (r1.z - stereo.y)*v4.z/2; | ||
|
||
r1.w = 1.000000000e+000; | ||
r0.x = dot(k_mDirectional_ObjectToTex._m00_m01_m02_m03, r1.xyzw); | ||
r0.y = dot(k_mDirectional_ObjectToTex._m10_m11_m12_m13, r1.xyzw); | ||
r0.zw = tNormalMap.Sample(sAniso4X_WRAPWRAPCLAMP_Sampler_s, r0.xy).yw; | ||
r1.xyzw = tDiffuseMap.Sample(sAniso8X_WRAPWRAPCLAMP_Sampler_s, r0.xy).xyzw; | ||
r0.xy = r0.zw * float2(2.000000e+000,2.000000e+000) + float2(-1.000000e+000,-1.000000e+000); | ||
r0.w = -r0.x * r0.x + 1.000000000e+000; | ||
r0.w = -r0.y * r0.y + r0.w; | ||
r0.w = sqrt(r0.w); | ||
r0.z = -r0.w; | ||
r2.x = dot(k_mObjectToWorld._m00_m01_m02, r0.xyz); | ||
r2.y = dot(k_mObjectToWorld._m10_m11_m12, r0.xyz); | ||
r2.z = dot(k_mObjectToWorld._m20_m21_m22, r0.xyz); | ||
r0.x = dot(r2.xyz, r2.xyz); | ||
r0.x = rsqrt(r0.x); | ||
r0.xyz = r2.xyz * r0.xxx; | ||
o1.xyz = r0.xyz * float3(5.000000e-001,5.000000e-001,5.000000e-001) + float3(5.000000e-001,5.000000e-001,5.000000e-001); | ||
r0.x = k_fDiffuseAlpha * r1.w; | ||
o2.xyz = k_vObjectColor.xyz * r1.xyz; | ||
r0.x = k_vObjectColor.w * r0.x; | ||
o1.w = r0.x; | ||
o2.w = r0.x; | ||
o3.w = r0.x; | ||
o3.xyz = k_fMaxSpecularPower; | ||
return; | ||
} | ||
|
||
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
// | ||
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20546 | ||
// | ||
// | ||
// Buffer Definitions: | ||
// | ||
// cbuffer $Globals | ||
// { | ||
// | ||
// float k_fInvLightRadius; // Offset: 0 Size: 4 [unused] | ||
// row_major float3x4 k_mCubeProjector_LightTransform;// Offset: 16 Size: 48 [unused] | ||
// row_major float3x4 k_mDirectional_ObjectToTex;// Offset: 64 Size: 48 | ||
// row_major float4x4 k_mSpotProjector_LightTransform;// Offset: 112 Size: 64 [unused] | ||
// float4 k_vSpotProjector_TanXYRadiusZW;// Offset: 176 Size: 16 [unused] | ||
// row_major float3x4 k_mWorldToVolume;// Offset: 192 Size: 48 [unused] | ||
// float3 k_vDirectional_Dir; // Offset: 240 Size: 12 [unused] | ||
// float4 k_vObjectLightColor; // Offset: 256 Size: 16 [unused] | ||
// float3 k_vObjectSpaceLightPos; // Offset: 272 Size: 12 [unused] | ||
// float4 k_vSpecularColor; // Offset: 288 Size: 16 [unused] | ||
// float4 k_vSpotProjector_ClipFar; // Offset: 304 Size: 16 [unused] | ||
// float4 k_vSpotProjector_ClipNear; // Offset: 320 Size: 16 [unused] | ||
// float3 k_vHalfDims; // Offset: 336 Size: 12 [unused] | ||
// float4 k_vShadowMapParams; // Offset: 352 Size: 16 [unused] | ||
// float4 k_vShadowMapParams2; // Offset: 368 Size: 16 [unused] | ||
// row_major float4x4 k_mShadowMapMatrix;// Offset: 384 Size: 64 [unused] | ||
// float4 k_vShadowCascadeOffsetX; // Offset: 448 Size: 16 [unused] | ||
// float4 k_vShadowCascadeOffsetZ; // Offset: 464 Size: 16 [unused] | ||
// float k_fStaticLightVolume_Mip; // Offset: 480 Size: 4 [unused] | ||
// float4 k_vShadowSplitDistSquared; // Offset: 496 Size: 16 [unused] | ||
// float4 k_vShadowSplitDistSelect; // Offset: 512 Size: 16 [unused] | ||
// float4 k_vShadowMoveX; // Offset: 528 Size: 16 [unused] | ||
// float4 k_vShadowMoveY; // Offset: 544 Size: 16 [unused] | ||
// float4 k_vShadowMoveZ; // Offset: 560 Size: 16 [unused] | ||
// float4 k_vShadowScaleXY; // Offset: 576 Size: 16 [unused] | ||
// float4 k_vShadowScaleX; // Offset: 592 Size: 16 [unused] | ||
// float4 k_vShadowScaleY; // Offset: 608 Size: 16 [unused] | ||
// float4 k_vShadowScaleZ; // Offset: 624 Size: 16 [unused] | ||
// float3 k_vLightBleed_Offset; // Offset: 640 Size: 12 [unused] | ||
// float4 k_vStaticLightVolume_PivotContrast;// Offset: 656 Size: 16 [unused] | ||
// float k_fLightLayer; // Offset: 672 Size: 4 [unused] | ||
// row_major float3x4 k_mViewToLight; // Offset: 688 Size: 48 [unused] | ||
// row_major float4x4 k_mObjectToClip;// Offset: 736 Size: 64 [unused] | ||
// row_major float3x4 k_mObjectToView;// Offset: 800 Size: 48 [unused] | ||
// row_major float3x4 k_mObjectToWorld;// Offset: 848 Size: 48 | ||
// float4 k_vObjectColor; // Offset: 896 Size: 16 | ||
// float3 k_vObjectSpaceEyePos; // Offset: 912 Size: 12 [unused] | ||
// row_major float4x4 k_mPrevObjectToClip;// Offset: 928 Size: 64 [unused] | ||
// row_major float3x4 k_mPrevObjectToView;// Offset: 992 Size: 48 [unused] | ||
// row_major float3x4 k_mPrevObjectToWorld;// Offset: 1040 Size: 48 [unused] | ||
// float k_fDiffuseAlpha; // Offset: 1088 Size: 4 | ||
// = 0x3f800000 | ||
// float k_fMaxSpecularPower; // Offset: 1092 Size: 4 | ||
// = 0x42800000 | ||
// float k_fSpecularScale; // Offset: 1096 Size: 4 | ||
// = 0x3f800000 | ||
// float k_fFresnelTerm; // Offset: 1100 Size: 4 | ||
// = 0x3f800000 | ||
// int k_bRendersEmissive; // Offset: 1104 Size: 4 [unused] | ||
// = 0x00000001 | ||
// | ||
// } | ||
// | ||
// | ||
// Resource Bindings: | ||
// | ||
// Name Type Format Dim Slot Elements | ||
// ------------------------------ ---------- ------- ----------- ---- -------- | ||
// sPoint_CLAMPCLAMPCLAMP_Sampler sampler NA NA 0 1 | ||
// sAniso4X_WRAPWRAPCLAMP_Sampler sampler NA NA 1 1 | ||
// sAniso8X_WRAPWRAPCLAMP_Sampler sampler NA NA 2 1 | ||
// tDepthMap texture float4 2d 0 1 | ||
// tNormalMap texture float4 2d 1 1 | ||
// tDiffuseMap texture float4 2d 2 1 | ||
// $Globals 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 | ||
// TEXCOORD 1 xy 2 NONE float xy | ||
// | ||
// | ||
// 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 | ||
// SV_Target 2 xyzw 2 TARGET float xyzw | ||
// SV_Target 3 xyzw 3 TARGET float xyzw | ||
// | ||
ps_5_0 | ||
dcl_globalFlags refactoringAllowed | ||
dcl_constantbuffer cb0[69], 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_input_ps linear v2.xy | ||
dcl_output o0.xyzw | ||
dcl_output o1.xyzw | ||
dcl_output o2.xyzw | ||
dcl_output o3.xyzw | ||
dcl_temps 3 | ||
mov o0.xyzw, l(0,0,0,0) | ||
div r0.xy, v2.xyxx, v1.wwww | ||
div r0.zw, v1.xxxy, v1.wwww | ||
sample_indexable(texture2d)(float,float,float,float) r1.z, r0.zwzz, t0.yzxw, s0 | ||
mul r1.xy, r0.xyxx, r1.zzzz | ||
mov r1.w, l(1.000000) | ||
dp4 r0.x, cb0[4].xyzw, r1.xyzw | ||
dp4 r0.y, cb0[5].xyzw, r1.xyzw | ||
sample_indexable(texture2d)(float,float,float,float) r0.zw, r0.xyxx, t1.xzyw, s1 | ||
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r0.xyxx, t2.xyzw, s2 | ||
mad r0.xy, r0.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) | ||
mad r0.w, -r0.x, r0.x, l(1.000000) | ||
mad r0.w, -r0.y, r0.y, r0.w | ||
sqrt r0.w, r0.w | ||
mov r0.z, -r0.w | ||
dp3 r2.x, cb0[53].xyzx, r0.xyzx | ||
dp3 r2.y, cb0[54].xyzx, r0.xyzx | ||
dp3 r2.z, cb0[55].xyzx, r0.xyzx | ||
dp3 r0.x, r2.xyzx, r2.xyzx | ||
rsq r0.x, r0.x | ||
mul r0.xyz, r0.xxxx, r2.xyzx | ||
mad o1.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000) | ||
mul r0.x, r1.w, cb0[68].x | ||
mul o2.xyz, r1.xyzx, cb0[56].xyzx | ||
mul r0.x, r0.x, cb0[56].w | ||
mov o1.w, r0.x | ||
mov o2.w, r0.x | ||
mov o3.w, r0.x | ||
mov o3.xyz, cb0[68].yzwy | ||
ret | ||
// Approximately 30 instruction slots used | ||