From c5b50c400852327f1d730749c7f5b84b28195590 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Wed, 5 Oct 2016 14:35:54 -0700 Subject: [PATCH] Support for compressed vertex normals with biasing --- DirectXTK_Desktop_2015_Win10.vcxproj | 38 + DirectXTK_Desktop_2015_Win10.vcxproj.filters | 114 +++ DirectXTK_Windows10.vcxproj | 38 + DirectXTK_Windows10.vcxproj.filters | 114 +++ DirectXTK_XboxOneXDK_2015.vcxproj | 38 + DirectXTK_XboxOneXDK_2015.vcxproj.filters | 114 +++ Inc/Effects.h | 15 +- Src/BasicEffect.cpp | 139 +++- Src/EffectFactory.cpp | 115 +-- Src/EnvironmentMapEffect.cpp | 60 +- Src/ModelLoadSDKMESH.cpp | 112 +-- Src/NormalMapEffect.cpp | 47 +- Src/SDKMesh.h | 1 + Src/Shaders/BasicEffect.fx | 123 ++++ Src/Shaders/Common.fxh | 6 + Src/Shaders/CompileShaders.cmd | 19 + Src/Shaders/Compiled/BasicEffect_PSBasic.pdb | Bin 65024 -> 69120 bytes .../Compiled/BasicEffect_PSBasicNoFog.pdb | Bin 65024 -> 69120 bytes .../BasicEffect_PSBasicPixelLighting.pdb | Bin 69120 -> 73216 bytes .../BasicEffect_PSBasicPixelLightingTx.pdb | Bin 69120 -> 73216 bytes .../Compiled/BasicEffect_PSBasicTx.pdb | Bin 65024 -> 69120 bytes .../Compiled/BasicEffect_PSBasicTxNoFog.pdb | Bin 65024 -> 69120 bytes .../BasicEffect_PSBasicVertexLighting.pdb | Bin 65024 -> 69120 bytes ...BasicEffect_PSBasicVertexLightingNoFog.pdb | Bin 65024 -> 69120 bytes .../BasicEffect_PSBasicVertexLightingTx.pdb | Bin 65024 -> 69120 bytes ...sicEffect_PSBasicVertexLightingTxNoFog.pdb | Bin 65024 -> 69120 bytes Src/Shaders/Compiled/BasicEffect_VSBasic.pdb | Bin 65024 -> 69120 bytes .../Compiled/BasicEffect_VSBasicNoFog.pdb | Bin 65024 -> 69120 bytes .../BasicEffect_VSBasicPixelLighting.pdb | Bin 67072 -> 71168 bytes .../BasicEffect_VSBasicPixelLightingBn.inc | 222 ++++++ .../BasicEffect_VSBasicPixelLightingBn.pdb | Bin 0 -> 71168 bytes .../BasicEffect_VSBasicPixelLightingTx.pdb | Bin 67072 -> 71168 bytes .../BasicEffect_VSBasicPixelLightingTxBn.inc | 257 +++++++ .../BasicEffect_VSBasicPixelLightingTxBn.pdb | Bin 0 -> 71168 bytes .../BasicEffect_VSBasicPixelLightingTxVc.pdb | Bin 67072 -> 71168 bytes ...BasicEffect_VSBasicPixelLightingTxVcBn.inc | 265 +++++++ ...BasicEffect_VSBasicPixelLightingTxVcBn.pdb | Bin 0 -> 71168 bytes .../BasicEffect_VSBasicPixelLightingVc.pdb | Bin 67072 -> 71168 bytes .../BasicEffect_VSBasicPixelLightingVcBn.inc | 230 ++++++ .../BasicEffect_VSBasicPixelLightingVcBn.pdb | Bin 0 -> 71168 bytes .../Compiled/BasicEffect_VSBasicTx.pdb | Bin 65024 -> 69120 bytes .../Compiled/BasicEffect_VSBasicTxNoFog.pdb | Bin 65024 -> 69120 bytes .../Compiled/BasicEffect_VSBasicTxVc.pdb | Bin 65024 -> 69120 bytes .../Compiled/BasicEffect_VSBasicTxVcNoFog.pdb | Bin 65024 -> 69120 bytes .../Compiled/BasicEffect_VSBasicVc.pdb | Bin 65024 -> 69120 bytes .../Compiled/BasicEffect_VSBasicVcNoFog.pdb | Bin 65024 -> 69120 bytes .../BasicEffect_VSBasicVertexLighting.pdb | Bin 69120 -> 73216 bytes .../BasicEffect_VSBasicVertexLightingBn.inc | 446 ++++++++++++ .../BasicEffect_VSBasicVertexLightingBn.pdb | Bin 0 -> 73216 bytes .../BasicEffect_VSBasicVertexLightingTx.pdb | Bin 69120 -> 73216 bytes .../BasicEffect_VSBasicVertexLightingTxBn.inc | 482 +++++++++++++ .../BasicEffect_VSBasicVertexLightingTxBn.pdb | Bin 0 -> 73216 bytes .../BasicEffect_VSBasicVertexLightingTxVc.pdb | Bin 69120 -> 73216 bytes ...asicEffect_VSBasicVertexLightingTxVcBn.inc | 499 +++++++++++++ ...asicEffect_VSBasicVertexLightingTxVcBn.pdb | Bin 0 -> 73216 bytes .../BasicEffect_VSBasicVertexLightingVc.pdb | Bin 69120 -> 73216 bytes .../BasicEffect_VSBasicVertexLightingVcBn.inc | 462 +++++++++++++ .../BasicEffect_VSBasicVertexLightingVcBn.pdb | Bin 0 -> 73216 bytes .../EnvironmentMapEffect_PSEnvMap.pdb | Bin 56832 -> 58880 bytes .../EnvironmentMapEffect_PSEnvMapNoFog.pdb | Bin 56832 -> 58880 bytes ...ronmentMapEffect_PSEnvMapPixelLighting.pdb | Bin 60928 -> 60928 bytes ...MapEffect_PSEnvMapPixelLightingFresnel.pdb | Bin 60928 -> 62976 bytes ...fect_PSEnvMapPixelLightingFresnelNoFog.pdb | Bin 60928 -> 62976 bytes ...ntMapEffect_PSEnvMapPixelLightingNoFog.pdb | Bin 60928 -> 60928 bytes .../EnvironmentMapEffect_PSEnvMapSpecular.pdb | Bin 58880 -> 58880 bytes ...ronmentMapEffect_PSEnvMapSpecularNoFog.pdb | Bin 56832 -> 58880 bytes .../EnvironmentMapEffect_VSEnvMap.pdb | Bin 60928 -> 60928 bytes .../EnvironmentMapEffect_VSEnvMapBn.inc | 384 ++++++++++ .../EnvironmentMapEffect_VSEnvMapBn.pdb | Bin 0 -> 60928 bytes .../EnvironmentMapEffect_VSEnvMapFresnel.pdb | Bin 60928 -> 60928 bytes ...EnvironmentMapEffect_VSEnvMapFresnelBn.inc | 418 +++++++++++ ...EnvironmentMapEffect_VSEnvMapFresnelBn.pdb | Bin 0 -> 62976 bytes ...ronmentMapEffect_VSEnvMapPixelLighting.pdb | Bin 58880 -> 60928 bytes ...nmentMapEffect_VSEnvMapPixelLightingBn.inc | 270 ++++++++ ...nmentMapEffect_VSEnvMapPixelLightingBn.pdb | Bin 0 -> 60928 bytes ...ormalMapEffect_PSNormalPixelLightingTx.pdb | Bin 60928 -> 62976 bytes ...MapEffect_PSNormalPixelLightingTxNoFog.pdb | Bin 60928 -> 62976 bytes ...ffect_PSNormalPixelLightingTxNoFogSpec.pdb | Bin 60928 -> 62976 bytes ...apEffect_PSNormalPixelLightingTxNoSpec.pdb | Bin 60928 -> 62976 bytes ...ormalMapEffect_VSNormalPixelLightingTx.pdb | Bin 56832 -> 60928 bytes ...malMapEffect_VSNormalPixelLightingTxBn.inc | 333 +++++++++ ...malMapEffect_VSNormalPixelLightingTxBn.pdb | Bin 0 -> 60928 bytes ...malMapEffect_VSNormalPixelLightingTxVc.pdb | Bin 56832 -> 60928 bytes ...lMapEffect_VSNormalPixelLightingTxVcBn.inc | 342 +++++++++ ...lMapEffect_VSNormalPixelLightingTxVcBn.pdb | Bin 0 -> 60928 bytes .../SkinnedEffect_PSSkinnedPixelLighting.pdb | Bin 58880 -> 62976 bytes .../SkinnedEffect_PSSkinnedVertexLighting.pdb | Bin 54784 -> 60928 bytes ...nedEffect_PSSkinnedVertexLightingNoFog.pdb | Bin 54784 -> 60928 bytes ...Effect_VSSkinnedPixelLightingFourBones.pdb | Bin 58880 -> 62976 bytes ...fect_VSSkinnedPixelLightingFourBonesBn.inc | 428 ++++++++++++ ...fect_VSSkinnedPixelLightingFourBonesBn.pdb | Bin 0 -> 62976 bytes ...edEffect_VSSkinnedPixelLightingOneBone.pdb | Bin 56832 -> 62976 bytes ...Effect_VSSkinnedPixelLightingOneBoneBn.inc | 345 +++++++++ ...Effect_VSSkinnedPixelLightingOneBoneBn.pdb | Bin 0 -> 62976 bytes ...dEffect_VSSkinnedPixelLightingTwoBones.pdb | Bin 56832 -> 62976 bytes ...ffect_VSSkinnedPixelLightingTwoBonesBn.inc | 374 ++++++++++ ...ffect_VSSkinnedPixelLightingTwoBonesBn.pdb | Bin 0 -> 62976 bytes ...ffect_VSSkinnedVertexLightingFourBones.pdb | Bin 60928 -> 65024 bytes ...ect_VSSkinnedVertexLightingFourBonesBn.inc | 654 ++++++++++++++++++ ...ect_VSSkinnedVertexLightingFourBonesBn.pdb | Bin 0 -> 65024 bytes ...dEffect_VSSkinnedVertexLightingOneBone.pdb | Bin 60928 -> 65024 bytes ...ffect_VSSkinnedVertexLightingOneBoneBn.inc | 571 +++++++++++++++ ...ffect_VSSkinnedVertexLightingOneBoneBn.pdb | Bin 0 -> 65024 bytes ...Effect_VSSkinnedVertexLightingTwoBones.pdb | Bin 60928 -> 65024 bytes ...fect_VSSkinnedVertexLightingTwoBonesBn.inc | 600 ++++++++++++++++ ...fect_VSSkinnedVertexLightingTwoBonesBn.pdb | Bin 0 -> 65024 bytes Src/Shaders/EnvironmentMapEffect.fx | 40 +- Src/Shaders/NormalMapEffect.fx | 52 +- Src/Shaders/SkinnedEffect.fx | 133 +++- Src/SkinnedEffect.cpp | 80 ++- 110 files changed, 8802 insertions(+), 178 deletions(-) create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.inc create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.pdb create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxBn.inc create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxBn.pdb create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVcBn.inc create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVcBn.pdb create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.inc create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.pdb create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.inc create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.pdb create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxBn.inc create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxBn.pdb create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVcBn.inc create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVcBn.pdb create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.inc create mode 100644 Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.pdb create mode 100644 Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.inc create mode 100644 Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.pdb create mode 100644 Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.inc create mode 100644 Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.pdb create mode 100644 Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc create mode 100644 Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb create mode 100644 Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxBn.inc create mode 100644 Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxBn.pdb create mode 100644 Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVcBn.inc create mode 100644 Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc create mode 100644 Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb diff --git a/DirectXTK_Desktop_2015_Win10.vcxproj b/DirectXTK_Desktop_2015_Win10.vcxproj index 2d84b331..d2687955 100644 --- a/DirectXTK_Desktop_2015_Win10.vcxproj +++ b/DirectXTK_Desktop_2015_Win10.vcxproj @@ -155,12 +155,20 @@ + + + + + + + + @@ -175,12 +183,20 @@ + + + + + + + + @@ -211,10 +227,16 @@ + + + + + + @@ -227,8 +249,12 @@ + + + + @@ -237,16 +263,28 @@ + + + + + + + + + + + + diff --git a/DirectXTK_Desktop_2015_Win10.vcxproj.filters b/DirectXTK_Desktop_2015_Win10.vcxproj.filters index 3f54434c..335f8b89 100644 --- a/DirectXTK_Desktop_2015_Win10.vcxproj.filters +++ b/DirectXTK_Desktop_2015_Win10.vcxproj.filters @@ -752,5 +752,119 @@ Src\Shaders\Symbols + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + \ No newline at end of file diff --git a/DirectXTK_Windows10.vcxproj b/DirectXTK_Windows10.vcxproj index f75652fa..c68feda4 100644 --- a/DirectXTK_Windows10.vcxproj +++ b/DirectXTK_Windows10.vcxproj @@ -113,12 +113,20 @@ + + + + + + + + @@ -133,12 +141,20 @@ + + + + + + + + @@ -169,10 +185,16 @@ + + + + + + @@ -185,8 +207,12 @@ + + + + @@ -195,16 +221,28 @@ + + + + + + + + + + + + diff --git a/DirectXTK_Windows10.vcxproj.filters b/DirectXTK_Windows10.vcxproj.filters index 9e7f3d11..41b6e5cb 100644 --- a/DirectXTK_Windows10.vcxproj.filters +++ b/DirectXTK_Windows10.vcxproj.filters @@ -623,6 +623,120 @@ Src\Shaders\Symbols + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + diff --git a/DirectXTK_XboxOneXDK_2015.vcxproj b/DirectXTK_XboxOneXDK_2015.vcxproj index 199da711..adf3a732 100644 --- a/DirectXTK_XboxOneXDK_2015.vcxproj +++ b/DirectXTK_XboxOneXDK_2015.vcxproj @@ -151,12 +151,20 @@ + + + + + + + + @@ -171,12 +179,20 @@ + + + + + + + + @@ -207,10 +223,16 @@ + + + + + + @@ -223,8 +245,12 @@ + + + + @@ -233,16 +259,28 @@ + + + + + + + + + + + + diff --git a/DirectXTK_XboxOneXDK_2015.vcxproj.filters b/DirectXTK_XboxOneXDK_2015.vcxproj.filters index 4ef932e3..5aa620b3 100644 --- a/DirectXTK_XboxOneXDK_2015.vcxproj.filters +++ b/DirectXTK_XboxOneXDK_2015.vcxproj.filters @@ -759,6 +759,120 @@ Src\Shaders\Symbols + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Compiled + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + + + Src\Shaders\Symbols + diff --git a/Inc/Effects.h b/Inc/Effects.h index 1aac8078..8feee278 100644 --- a/Inc/Effects.h +++ b/Inc/Effects.h @@ -103,12 +103,14 @@ namespace DirectX //---------------------------------------------------------------------------------- namespace EffectFlags { - const int None = 0x00; - const int Fog = 0x01; - const int Lighting = 0x02; - const int PerPixelLighting = 0x04 | Lighting; // per pixel lighting implies lighting enabled - const int VertexColor = 0x08; - const int Texture = 0x10; + const int None = 0x00; + const int Fog = 0x01; + const int Lighting = 0x02; + const int PerPixelLighting = 0x04 | Lighting; // per pixel lighting implies lighting enabled + const int VertexColor = 0x08; + const int Texture = 0x10; + + const int BiasedVertexNormals = 0x10000; // compressed vertex normals/tangents/binormals need x2 bias } @@ -524,6 +526,7 @@ namespace DirectX bool enableSkinning; bool enableDualTexture; bool enableNormalMaps; + bool biasedVertexNormals; float specularPower; float alphaValue; DirectX::XMFLOAT3 ambientColor; diff --git a/Src/BasicEffect.cpp b/Src/BasicEffect.cpp index 2626c889..c72fccc5 100644 --- a/Src/BasicEffect.cpp +++ b/Src/BasicEffect.cpp @@ -46,9 +46,9 @@ struct BasicEffectTraits { typedef BasicEffectConstants ConstantBufferType; - static const int VertexShaderCount = 16; + static const int VertexShaderCount = 24; static const int PixelShaderCount = 10; - static const int ShaderPermutationCount = 24; + static const int ShaderPermutationCount = 40; static const int RootSignatureCount = 2; }; @@ -69,6 +69,7 @@ class BasicEffect::Impl : public EffectBase bool lightingEnabled; bool textureEnabled; + bool biasedVertexNormals; D3D12_GPU_DESCRIPTOR_HANDLE texture; D3D12_GPU_DESCRIPTOR_HANDLE sampler; @@ -93,17 +94,27 @@ namespace #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicTxNoFog.inc" #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicTxVc.inc" #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicTxVcNoFog.inc" - + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicVertexLighting.inc" #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicVertexLightingVc.inc" #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicVertexLightingTx.inc" #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicVertexLightingTxVc.inc" - + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicPixelLighting.inc" #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicPixelLightingVc.inc" #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicPixelLightingTx.inc" #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicPixelLightingTxVc.inc" + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicVertexLightingBn.inc" + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicVertexLightingVcBn.inc" + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicVertexLightingTxBn.inc" + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicVertexLightingTxVcBn.inc" + + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicPixelLightingBn.inc" + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicPixelLightingVcBn.inc" + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicPixelLightingTxBn.inc" + #include "Shaders/Compiled/XboxOneBasicEffect_VSBasicPixelLightingTxVcBn.inc" + #include "Shaders/Compiled/XboxOneBasicEffect_PSBasic.inc" #include "Shaders/Compiled/XboxOneBasicEffect_PSBasicNoFog.inc" #include "Shaders/Compiled/XboxOneBasicEffect_PSBasicTx.inc" @@ -125,17 +136,27 @@ namespace #include "Shaders/Compiled/BasicEffect_VSBasicTxNoFog.inc" #include "Shaders/Compiled/BasicEffect_VSBasicTxVc.inc" #include "Shaders/Compiled/BasicEffect_VSBasicTxVcNoFog.inc" - + #include "Shaders/Compiled/BasicEffect_VSBasicVertexLighting.inc" #include "Shaders/Compiled/BasicEffect_VSBasicVertexLightingVc.inc" #include "Shaders/Compiled/BasicEffect_VSBasicVertexLightingTx.inc" #include "Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVc.inc" - + #include "Shaders/Compiled/BasicEffect_VSBasicPixelLighting.inc" #include "Shaders/Compiled/BasicEffect_VSBasicPixelLightingVc.inc" #include "Shaders/Compiled/BasicEffect_VSBasicPixelLightingTx.inc" #include "Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVc.inc" + #include "Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.inc" + #include "Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.inc" + #include "Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxBn.inc" + #include "Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVcBn.inc" + + #include "Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.inc" + #include "Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.inc" + #include "Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxBn.inc" + #include "Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVcBn.inc" + #include "Shaders/Compiled/BasicEffect_PSBasic.inc" #include "Shaders/Compiled/BasicEffect_PSBasicNoFog.inc" #include "Shaders/Compiled/BasicEffect_PSBasicTx.inc" @@ -154,24 +175,34 @@ namespace const D3D12_SHADER_BYTECODE EffectBase::VertexShaderBytecode[] = { - { BasicEffect_VSBasic, sizeof(BasicEffect_VSBasic) }, - { BasicEffect_VSBasicNoFog, sizeof(BasicEffect_VSBasicNoFog) }, - { BasicEffect_VSBasicVc, sizeof(BasicEffect_VSBasicVc) }, - { BasicEffect_VSBasicVcNoFog, sizeof(BasicEffect_VSBasicVcNoFog) }, - { BasicEffect_VSBasicTx, sizeof(BasicEffect_VSBasicTx) }, - { BasicEffect_VSBasicTxNoFog, sizeof(BasicEffect_VSBasicTxNoFog) }, - { BasicEffect_VSBasicTxVc, sizeof(BasicEffect_VSBasicTxVc) }, - { BasicEffect_VSBasicTxVcNoFog, sizeof(BasicEffect_VSBasicTxVcNoFog) }, - - { BasicEffect_VSBasicVertexLighting, sizeof(BasicEffect_VSBasicVertexLighting) }, - { BasicEffect_VSBasicVertexLightingVc, sizeof(BasicEffect_VSBasicVertexLightingVc) }, - { BasicEffect_VSBasicVertexLightingTx, sizeof(BasicEffect_VSBasicVertexLightingTx) }, - { BasicEffect_VSBasicVertexLightingTxVc, sizeof(BasicEffect_VSBasicVertexLightingTxVc) }, - - { BasicEffect_VSBasicPixelLighting, sizeof(BasicEffect_VSBasicPixelLighting) }, - { BasicEffect_VSBasicPixelLightingVc, sizeof(BasicEffect_VSBasicPixelLightingVc) }, - { BasicEffect_VSBasicPixelLightingTx, sizeof(BasicEffect_VSBasicPixelLightingTx) }, - { BasicEffect_VSBasicPixelLightingTxVc, sizeof(BasicEffect_VSBasicPixelLightingTxVc) }, + { BasicEffect_VSBasic, sizeof(BasicEffect_VSBasic) }, + { BasicEffect_VSBasicNoFog, sizeof(BasicEffect_VSBasicNoFog) }, + { BasicEffect_VSBasicVc, sizeof(BasicEffect_VSBasicVc) }, + { BasicEffect_VSBasicVcNoFog, sizeof(BasicEffect_VSBasicVcNoFog) }, + { BasicEffect_VSBasicTx, sizeof(BasicEffect_VSBasicTx) }, + { BasicEffect_VSBasicTxNoFog, sizeof(BasicEffect_VSBasicTxNoFog) }, + { BasicEffect_VSBasicTxVc, sizeof(BasicEffect_VSBasicTxVc) }, + { BasicEffect_VSBasicTxVcNoFog, sizeof(BasicEffect_VSBasicTxVcNoFog) }, + + { BasicEffect_VSBasicVertexLighting, sizeof(BasicEffect_VSBasicVertexLighting) }, + { BasicEffect_VSBasicVertexLightingVc, sizeof(BasicEffect_VSBasicVertexLightingVc) }, + { BasicEffect_VSBasicVertexLightingTx, sizeof(BasicEffect_VSBasicVertexLightingTx) }, + { BasicEffect_VSBasicVertexLightingTxVc, sizeof(BasicEffect_VSBasicVertexLightingTxVc) }, + + { BasicEffect_VSBasicPixelLighting, sizeof(BasicEffect_VSBasicPixelLighting) }, + { BasicEffect_VSBasicPixelLightingVc, sizeof(BasicEffect_VSBasicPixelLightingVc) }, + { BasicEffect_VSBasicPixelLightingTx, sizeof(BasicEffect_VSBasicPixelLightingTx) }, + { BasicEffect_VSBasicPixelLightingTxVc, sizeof(BasicEffect_VSBasicPixelLightingTxVc) }, + + { BasicEffect_VSBasicVertexLightingBn, sizeof(BasicEffect_VSBasicVertexLightingBn) }, + { BasicEffect_VSBasicVertexLightingVcBn, sizeof(BasicEffect_VSBasicVertexLightingVcBn) }, + { BasicEffect_VSBasicVertexLightingTxBn, sizeof(BasicEffect_VSBasicVertexLightingTxBn) }, + { BasicEffect_VSBasicVertexLightingTxVcBn, sizeof(BasicEffect_VSBasicVertexLightingTxVcBn) }, + + { BasicEffect_VSBasicPixelLightingBn, sizeof(BasicEffect_VSBasicPixelLightingBn) }, + { BasicEffect_VSBasicPixelLightingVcBn, sizeof(BasicEffect_VSBasicPixelLightingVcBn) }, + { BasicEffect_VSBasicPixelLightingTxBn, sizeof(BasicEffect_VSBasicPixelLightingTxBn) }, + { BasicEffect_VSBasicPixelLightingTxVcBn, sizeof(BasicEffect_VSBasicPixelLightingTxVcBn) }, }; @@ -185,7 +216,7 @@ const int EffectBase::VertexShaderIndices[] = 5, // texture, no fog 6, // texture + vertex color 7, // texture + vertex color, no fog - + 8, // vertex lighting 8, // vertex lighting, no fog 9, // vertex lighting + vertex color @@ -194,7 +225,7 @@ const int EffectBase::VertexShaderIndices[] = 10, // vertex lighting + texture, no fog 11, // vertex lighting + texture + vertex color 11, // vertex lighting + texture + vertex color, no fog - + 12, // pixel lighting 12, // pixel lighting, no fog 13, // pixel lighting + vertex color @@ -203,8 +234,27 @@ const int EffectBase::VertexShaderIndices[] = 14, // pixel lighting + texture, no fog 15, // pixel lighting + texture + vertex color 15, // pixel lighting + texture + vertex color, no fog + + 16, // vertex lighting (biased vertex normals) + 16, // vertex lighting (biased vertex normals), no fog + 17, // vertex lighting (biased vertex normals) + vertex color + 17, // vertex lighting (biased vertex normals) + vertex color, no fog + 18, // vertex lighting (biased vertex normals) + texture + 18, // vertex lighting (biased vertex normals) + texture, no fog + 19, // vertex lighting (biased vertex normals) + texture + vertex color + 19, // vertex lighting (biased vertex normals) + texture + vertex color, no fog + + 20, // pixel lighting (biased vertex normals) + 20, // pixel lighting (biased vertex normals), no fog + 21, // pixel lighting (biased vertex normals) + vertex color + 21, // pixel lighting (biased vertex normals) + vertex color, no fog + 22, // pixel lighting (biased vertex normals) + texture + 22, // pixel lighting (biased vertex normals) + texture, no fog + 23, // pixel lighting (biased vertex normals) + texture + vertex color + 23, // pixel lighting (biased vertex normals) + texture + vertex color, no fog }; + const D3D12_SHADER_BYTECODE EffectBase::PixelShaderBytecode[] = { { BasicEffect_PSBasic, sizeof(BasicEffect_PSBasic) }, @@ -232,7 +282,7 @@ const int EffectBase::PixelShaderIndices[] = 3, // texture, no fog 2, // texture + vertex color 3, // texture + vertex color, no fog - + 4, // vertex lighting 5, // vertex lighting, no fog 4, // vertex lighting + vertex color @@ -250,6 +300,24 @@ const int EffectBase::PixelShaderIndices[] = 9, // pixel lighting + texture, no fog 9, // pixel lighting + texture + vertex color 9, // pixel lighting + texture + vertex color, no fog + + 4, // vertex lighting (biased vertex normals) + 5, // vertex lighting (biased vertex normals), no fog + 4, // vertex lighting (biased vertex normals) + vertex color + 5, // vertex lighting (biased vertex normals) + vertex color, no fog + 6, // vertex lighting (biased vertex normals) + texture + 7, // vertex lighting (biased vertex normals) + texture, no fog + 6, // vertex lighting (biased vertex normals) + texture + vertex color + 7, // vertex lighting (biased vertex normals) + texture + vertex color, no fog + + 8, // pixel lighting (biased vertex normals) + 8, // pixel lighting (biased vertex normals), no fog + 8, // pixel lighting (biased vertex normals) + vertex color + 8, // pixel lighting (biased vertex normals) + vertex color, no fog + 9, // pixel lighting (biased vertex normals) + texture + 9, // pixel lighting (biased vertex normals) + texture, no fog + 9, // pixel lighting (biased vertex normals) + texture + vertex color + 9, // pixel lighting (biased vertex normals) + texture + vertex color, no fog }; // Global pool of per-device BasicEffect resources. @@ -262,16 +330,17 @@ BasicEffect::Impl::Impl(_In_ ID3D12Device* device, int effectFlags, const Effect texture{}, sampler{} { - static_assert( _countof(EffectBase::VertexShaderIndices) == BasicEffectTraits::ShaderPermutationCount, "array/max mismatch" ); - static_assert( _countof(EffectBase::VertexShaderBytecode) == BasicEffectTraits::VertexShaderCount, "array/max mismatch" ); - static_assert( _countof(EffectBase::PixelShaderBytecode) == BasicEffectTraits::PixelShaderCount, "array/max mismatch" ); - static_assert( _countof(EffectBase::PixelShaderIndices) == BasicEffectTraits::ShaderPermutationCount, "array/max mismatch" ); + static_assert(_countof(EffectBase::VertexShaderIndices) == BasicEffectTraits::ShaderPermutationCount, "array/max mismatch"); + static_assert(_countof(EffectBase::VertexShaderBytecode) == BasicEffectTraits::VertexShaderCount, "array/max mismatch"); + static_assert(_countof(EffectBase::PixelShaderBytecode) == BasicEffectTraits::PixelShaderCount, "array/max mismatch"); + static_assert(_countof(EffectBase::PixelShaderIndices) == BasicEffectTraits::ShaderPermutationCount, "array/max mismatch"); lights.InitializeConstants(constants.specularColorAndPower, constants.lightDirection, constants.lightDiffuseColor, constants.lightSpecularColor); fog.enabled = (effectFlags & EffectFlags::Fog) != 0; lightingEnabled = (effectFlags & EffectFlags::Lighting) != 0; textureEnabled = (effectFlags & EffectFlags::Texture) != 0; + biasedVertexNormals = (effectFlags & EffectFlags::BiasedVertexNormals) != 0; // Create root signature { @@ -368,6 +437,12 @@ int BasicEffect::Impl::GetPipelineStatePermutation(bool preferPerPixelLighting, { permutation += 8; } + + if (biasedVertexNormals) + { + // Compressed normals need to be scaled and biased in the vertex shader. + permutation += 16; + } } return permutation; @@ -381,7 +456,7 @@ void BasicEffect::Impl::Apply(_In_ ID3D12GraphicsCommandList* commandList) matrices.SetConstants(dirtyFlags, constants.worldViewProj); fog.SetConstants(dirtyFlags, matrices.worldView, constants.fogVector); lights.SetConstants(dirtyFlags, matrices, constants.world, constants.worldInverseTranspose, constants.eyePosition, constants.diffuseColor, constants.emissiveColor, lightingEnabled); - + UpdateConstants(); // Set the root signature diff --git a/Src/EffectFactory.cpp b/Src/EffectFactory.cpp index 2b3c0bec..7cdffffe 100644 --- a/Src/EffectFactory.cpp +++ b/Src/EffectFactory.cpp @@ -45,10 +45,10 @@ class EffectFactory::Impl } std::shared_ptr CreateEffect( - const EffectInfo& info, + const EffectInfo& info, const EffectPipelineStateDescription& opaquePipelineState, const EffectPipelineStateDescription& alphaPipelineState, - const D3D12_INPUT_LAYOUT_DESC& inputLayout, + const D3D12_INPUT_LAYOUT_DESC& inputLayout, int textureDescriptorOffset, int samplerDescriptorOffset); @@ -79,10 +79,10 @@ class EffectFactory::Impl std::shared_ptr EffectFactory::Impl::CreateEffect( - const EffectInfo& info, + const EffectInfo& info, const EffectPipelineStateDescription& opaquePipelineState, const EffectPipelineStateDescription& alphaPipelineState, - const D3D12_INPUT_LAYOUT_DESC& inputLayoutDesc, + const D3D12_INPUT_LAYOUT_DESC& inputLayoutDesc, int textureDescriptorOffset, int samplerDescriptorOffset) { @@ -125,7 +125,7 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( derivedPSD.inputLayout = inputLayoutDesc; std::wstring cacheName; - if ( info.enableSkinning ) + if (info.enableSkinning) { // SkinnedEffect int effectflags = (mEnablePerPixelLighting) ? EffectFlags::PerPixelLighting : EffectFlags::Lighting; @@ -135,44 +135,49 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( effectflags |= EffectFlags::Fog; } - if ( mSharing && !info.name.empty() ) + if (info.biasedVertexNormals) + { + effectflags |= EffectFlags::BiasedVertexNormals; + } + + if (mSharing && !info.name.empty()) { uint32_t hash = derivedPSD.ComputeHash(); cacheName = std::to_wstring(effectflags) + info.name + std::to_wstring(hash); - auto it = mEffectCacheSkinning.find( cacheName ); - if ( mSharing && it != mEffectCacheSkinning.end() ) + auto it = mEffectCacheSkinning.find(cacheName); + if (mSharing && it != mEffectCacheSkinning.end()) { return it->second; } } - std::shared_ptr effect = std::make_shared( device, effectflags, derivedPSD ); + std::shared_ptr effect = std::make_shared(device, effectflags, derivedPSD); effect->EnableDefaultLighting(); - effect->SetAlpha( info.alphaValue ); + effect->SetAlpha(info.alphaValue); // Skinned Effect does not have an ambient material color, or per-vertex color support - XMVECTOR color = XMLoadFloat3( &info.diffuseColor ); - effect->SetDiffuseColor( color ); + XMVECTOR color = XMLoadFloat3(&info.diffuseColor); + effect->SetDiffuseColor(color); - if ( info.specularColor.x != 0 || info.specularColor.y != 0 || info.specularColor.z != 0 ) + if (info.specularColor.x != 0 || info.specularColor.y != 0 || info.specularColor.z != 0) { - color = XMLoadFloat3( &info.specularColor ); - effect->SetSpecularColor( color ); - effect->SetSpecularPower( info.specularPower ); + color = XMLoadFloat3(&info.specularColor); + effect->SetSpecularColor(color); + effect->SetSpecularPower(info.specularPower); } else { effect->DisableSpecular(); } - if ( info.emissiveColor.x != 0 || info.emissiveColor.y != 0 || info.emissiveColor.z != 0 ) + if (info.emissiveColor.x != 0 || info.emissiveColor.y != 0 || info.emissiveColor.z != 0) { - color = XMLoadFloat3( &info.emissiveColor ); - effect->SetEmissiveColor( color ); + color = XMLoadFloat3(&info.emissiveColor); + effect->SetEmissiveColor(color); } if (diffuseTextureIndex != -1) @@ -182,15 +187,15 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( mSamplerDescriptors->GetGpuHandle(samplerIndex)); } - if ( mSharing && !info.name.empty() ) + if (mSharing && !info.name.empty()) { std::lock_guard lock(mutex); - mEffectCacheSkinning.insert( EffectCache::value_type( cacheName, effect ) ); + mEffectCacheSkinning.insert(EffectCache::value_type(cacheName, effect)); } return effect; } - else if ( info.enableDualTexture ) + else if (info.enableDualTexture) { // DualTextureEffect int effectflags = EffectFlags::None; @@ -200,13 +205,13 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( effectflags |= EffectFlags::Fog; } - if ( mSharing && !info.name.empty() ) + if (mSharing && !info.name.empty()) { uint32_t hash = derivedPSD.ComputeHash(); cacheName = std::to_wstring(effectflags) + info.name + std::to_wstring(hash); - auto it = mEffectCacheDualTexture.find( cacheName ); - if ( mSharing && it != mEffectCacheDualTexture.end() ) + auto it = mEffectCacheDualTexture.find(cacheName); + if (mSharing && it != mEffectCacheDualTexture.end()) { return it->second; } @@ -217,13 +222,13 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( effectflags |= EffectFlags::VertexColor; } - std::shared_ptr effect = std::make_shared(device, effectflags, derivedPSD ); + std::shared_ptr effect = std::make_shared(device, effectflags, derivedPSD); // Dual texture effect doesn't support lighting (usually it's lightmaps) - effect->SetAlpha( info.alphaValue ); + effect->SetAlpha(info.alphaValue); - XMVECTOR color = XMLoadFloat3( &info.diffuseColor ); - effect->SetDiffuseColor( color ); + XMVECTOR color = XMLoadFloat3(&info.diffuseColor); + effect->SetDiffuseColor(color); if (diffuseTextureIndex != -1) { @@ -245,10 +250,10 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( mSamplerDescriptors->GetGpuHandle(samplerIndex2)); } - if ( mSharing && !info.name.empty() ) + if (mSharing && !info.name.empty()) { std::lock_guard lock(mutex); - mEffectCacheDualTexture.insert( EffectCache::value_type( cacheName, effect ) ); + mEffectCacheDualTexture.insert(EffectCache::value_type(cacheName, effect)); } return effect; @@ -268,6 +273,11 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( effectflags |= EffectFlags::VertexColor; } + if (info.biasedVertexNormals) + { + effectflags |= EffectFlags::BiasedVertexNormals; + } + if (mSharing && !info.name.empty()) { uint32_t hash = derivedPSD.ComputeHash(); @@ -286,7 +296,7 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( effect->EnableDefaultLighting(); - effect->SetAlpha( info.alphaValue ); + effect->SetAlpha(info.alphaValue); // NormalMap Effect does not have an ambient material color @@ -327,7 +337,7 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( effect->SetNormalTexture(mTextureDescriptors->GetGpuHandle(normalTextureIndex)); } - if ( mSharing && !info.name.empty() ) + if (mSharing && !info.name.empty()) { std::lock_guard lock(mutex); mEffectCacheNormalMap.insert(EffectCache::value_type(cacheName, effect)); @@ -355,44 +365,49 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( effectflags |= EffectFlags::Texture; } + if (info.biasedVertexNormals) + { + effectflags |= EffectFlags::BiasedVertexNormals; + } + // BasicEffect - if ( mSharing && !info.name.empty() ) + if (mSharing && !info.name.empty()) { uint32_t hash = derivedPSD.ComputeHash(); cacheName = std::to_wstring(effectflags) + info.name + std::to_wstring(hash); - auto it = mEffectCache.find( cacheName ); - if ( mSharing && it != mEffectCache.end() ) + auto it = mEffectCache.find(cacheName); + if (mSharing && it != mEffectCache.end()) { return it->second; } } - std::shared_ptr effect = std::make_shared( device, effectflags, derivedPSD ); + std::shared_ptr effect = std::make_shared(device, effectflags, derivedPSD); effect->EnableDefaultLighting(); - - effect->SetAlpha( info.alphaValue ); + + effect->SetAlpha(info.alphaValue); // Basic Effect does not have an ambient material color - XMVECTOR color = XMLoadFloat3( &info.diffuseColor ); - effect->SetDiffuseColor( color ); + XMVECTOR color = XMLoadFloat3(&info.diffuseColor); + effect->SetDiffuseColor(color); - if ( info.specularColor.x != 0 || info.specularColor.y != 0 || info.specularColor.z != 0 ) + if (info.specularColor.x != 0 || info.specularColor.y != 0 || info.specularColor.z != 0) { - color = XMLoadFloat3( &info.specularColor ); - effect->SetSpecularColor( color ); - effect->SetSpecularPower( info.specularPower ); + color = XMLoadFloat3(&info.specularColor); + effect->SetSpecularColor(color); + effect->SetSpecularPower(info.specularPower); } else { effect->DisableSpecular(); } - if ( info.emissiveColor.x != 0 || info.emissiveColor.y != 0 || info.emissiveColor.z != 0 ) + if (info.emissiveColor.x != 0 || info.emissiveColor.y != 0 || info.emissiveColor.z != 0) { - color = XMLoadFloat3( &info.emissiveColor ); - effect->SetEmissiveColor( color ); + color = XMLoadFloat3(&info.emissiveColor); + effect->SetEmissiveColor(color); } if (diffuseTextureIndex != -1) @@ -402,10 +417,10 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( mSamplerDescriptors->GetGpuHandle(samplerIndex)); } - if ( mSharing && !info.name.empty() ) + if (mSharing && !info.name.empty()) { std::lock_guard lock(mutex); - mEffectCache.insert( EffectCache::value_type( cacheName, effect ) ); + mEffectCache.insert(EffectCache::value_type(cacheName, effect)); } return effect; diff --git a/Src/EnvironmentMapEffect.cpp b/Src/EnvironmentMapEffect.cpp index d0953014..ae8846fb 100644 --- a/Src/EnvironmentMapEffect.cpp +++ b/Src/EnvironmentMapEffect.cpp @@ -50,9 +50,9 @@ struct EnvironmentMapEffectTraits { typedef EnvironmentMapEffectConstants ConstantBufferType; - static const int VertexShaderCount = 3; + static const int VertexShaderCount = 6; static const int PixelShaderCount = 8; - static const int ShaderPermutationCount = 12; + static const int ShaderPermutationCount = 24; static const int RootSignatureCount = 1; }; @@ -77,6 +77,8 @@ class EnvironmentMapEffect::Impl : public EffectBase RootParameterCount }; + bool biasedVertexNormals; + EffectLights lights; D3D12_GPU_DESCRIPTOR_HANDLE texture; @@ -98,6 +100,10 @@ namespace #include "Shaders/Compiled/XboxOneEnvironmentMapEffect_VSEnvMapFresnel.inc" #include "Shaders/Compiled/XboxOneEnvironmentMapEffect_VSEnvMapPixelLighting.inc" + #include "Shaders/Compiled/XboxOneEnvironmentMapEffect_VSEnvMapBn.inc" + #include "Shaders/Compiled/XboxOneEnvironmentMapEffect_VSEnvMapFresnelBn.inc" + #include "Shaders/Compiled/XboxOneEnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" + #include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMap.inc" #include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapNoFog.inc" #include "Shaders/Compiled/XboxOneEnvironmentMapEffect_PSEnvMapSpecular.inc" @@ -111,6 +117,10 @@ namespace #include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.inc" #include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLighting.inc" + #include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.inc" + #include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.inc" + #include "Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" + #include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMap.inc" #include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.inc" #include "Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecular.inc" @@ -125,9 +135,13 @@ namespace const D3D12_SHADER_BYTECODE EffectBase::VertexShaderBytecode[] = { - { EnvironmentMapEffect_VSEnvMap, sizeof(EnvironmentMapEffect_VSEnvMap) }, - { EnvironmentMapEffect_VSEnvMapFresnel, sizeof(EnvironmentMapEffect_VSEnvMapFresnel) }, - { EnvironmentMapEffect_VSEnvMapPixelLighting, sizeof(EnvironmentMapEffect_VSEnvMapPixelLighting) }, + { EnvironmentMapEffect_VSEnvMap, sizeof(EnvironmentMapEffect_VSEnvMap) }, + { EnvironmentMapEffect_VSEnvMapFresnel, sizeof(EnvironmentMapEffect_VSEnvMapFresnel) }, + { EnvironmentMapEffect_VSEnvMapPixelLighting, sizeof(EnvironmentMapEffect_VSEnvMapPixelLighting) }, + + { EnvironmentMapEffect_VSEnvMapBn, sizeof(EnvironmentMapEffect_VSEnvMapBn) }, + { EnvironmentMapEffect_VSEnvMapFresnelBn, sizeof(EnvironmentMapEffect_VSEnvMapFresnelBn) }, + { EnvironmentMapEffect_VSEnvMapPixelLightingBn, sizeof(EnvironmentMapEffect_VSEnvMapPixelLightingBn) }, }; @@ -146,6 +160,20 @@ const int EffectBase::VertexShaderIndices[] = 2, // pixel lighting, no fog 2, // pixel lighting, fresnel 2, // pixel lighting, fresnel, no fog + + 3, // basic (biased vertex normals) + 3, // basic (biased vertex normals), no fog + 4, // fresnel (biased vertex normals) + 4, // fresnel (biased vertex normals), no fog + 3, // specular (biased vertex normals) + 3, // specular (biased vertex normals), no fog + 4, // fresnel + specular (biased vertex normals) + 4, // fresnel + specular (biased vertex normals), no fog + + 5, // pixel lighting (biased vertex normals) + 5, // pixel lighting (biased vertex normals), no fog + 5, // pixel lighting (biased vertex normals), fresnel + 5, // pixel lighting (biased vertex normals), fresnel, no fog }; @@ -177,6 +205,20 @@ const int EffectBase::PixelShaderIndices[] = 5, // per pixel lighting, no fog 6, // per pixel lighting, fresnel 7, // per pixel lighting, fresnel, no fog + + 0, // basic (biased vertex normals) + 1, // basic (biased vertex normals), no fog + 0, // fresnel (biased vertex normals) + 1, // fresnel (biased vertex normals), no fog + 2, // specular (biased vertex normals) + 3, // specular (biased vertex normals), no fog + 2, // fresnel + specular (biased vertex normals) + 3, // fresnel + specular (biased vertex normals), no fog + + 4, // per pixel lighting (biased vertex normals) + 5, // per pixel lighting (biased vertex normals), no fog + 6, // per pixel lighting (biased vertex normals), fresnel + 7, // per pixel lighting (biased vertex normals), fresnel, no fog }; @@ -240,6 +282,8 @@ EnvironmentMapEffect::Impl::Impl( fog.enabled = (effectFlags & EffectFlags::Fog) != 0; + biasedVertexNormals = (effectFlags & EffectFlags::BiasedVertexNormals) != 0; + if (effectFlags & EffectFlags::VertexColor) { DebugTrace("ERROR: EnvironmentMapEffect does not implement EffectFlags::VertexColor\n"); @@ -305,6 +349,12 @@ int EnvironmentMapEffect::Impl::GetPipelineStatePermutation(bool fresnelEnabled, } } + if (biasedVertexNormals) + { + // Compressed normals need to be scaled and biased in the vertex shader. + permutation += 12; + } + return permutation; } diff --git a/Src/ModelLoadSDKMESH.cpp b/Src/ModelLoadSDKMESH.cpp index 0c7797b1..3076ac1d 100644 --- a/Src/ModelLoadSDKMESH.cpp +++ b/Src/ModelLoadSDKMESH.cpp @@ -30,6 +30,15 @@ using Microsoft::WRL::ComPtr; namespace { + enum + { + PER_VERTEX_COLOR = 0x1, + SKINNING = 0x2, + DUAL_TEXTURE = 0x4, + NORMAL_MAPS = 0x8, + BIASED_VERTEX_NORMALS = 0x10, + }; + int GetUniqueTextureIndex(const wchar_t* textureName, std::map& textureDictionary) { if (textureName == nullptr || !textureName[0]) @@ -50,10 +59,7 @@ namespace void InitMaterial( const DXUT::SDKMESH_MATERIAL& mh, - bool perVertexColor, - bool enableSkinning, - bool enableDualTexture, - bool enableNormalMaps, + unsigned int flags, _Out_ Model::ModelMaterialInfo& m, _Inout_ std::map& textureDictionary) { @@ -69,17 +75,17 @@ namespace wchar_t normalName[DXUT::MAX_TEXTURE_NAME]; MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, mh.NormalTexture, -1, normalName, DXUT::MAX_TEXTURE_NAME); - if (enableDualTexture && !mh.SpecularTexture[0]) + if ((flags & DUAL_TEXTURE) && !mh.SpecularTexture[0]) { DebugTrace("WARNING: Material '%s' has multiple texture coords but not multiple textures\n", mh.Name); - enableDualTexture = false; + flags &= ~DUAL_TEXTURE; } - if (enableNormalMaps) + if (flags & NORMAL_MAPS) { if (!mh.NormalTexture[0]) { - enableNormalMaps = false; + flags &= ~NORMAL_MAPS; *normalName = 0; } } @@ -91,10 +97,12 @@ namespace m = {}; m.name = matName; - m.perVertexColor = perVertexColor; - m.enableSkinning = enableSkinning; - m.enableDualTexture = enableDualTexture; - m.enableNormalMaps = enableNormalMaps; + m.perVertexColor = (flags & PER_VERTEX_COLOR) != 0; + m.enableSkinning = (flags & SKINNING) != 0; + m.enableDualTexture = (flags & DUAL_TEXTURE) != 0; + m.enableNormalMaps = (flags & NORMAL_MAPS) != 0; + m.biasedVertexNormals = (flags & BIASED_VERTEX_NORMALS) != 0; + m.ambientColor = XMFLOAT3(mh.Ambient.x, mh.Ambient.y, mh.Ambient.z); m.diffuseColor = XMFLOAT3(mh.Diffuse.x, mh.Diffuse.y, mh.Diffuse.z); m.emissiveColor = XMFLOAT3(mh.Emissive.x, mh.Emissive.y, mh.Emissive.z); @@ -117,15 +125,16 @@ namespace m.normalTextureIndex = GetUniqueTextureIndex(normalName, textureDictionary); m.samplerIndex = (m.diffuseTextureIndex == -1) ? -1 : static_cast(CommonStates::SamplerIndex::AnisotropicWrap); - m.samplerIndex2 = (enableDualTexture) ? static_cast(CommonStates::SamplerIndex::AnisotropicWrap) : -1; + m.samplerIndex2 = (flags & DUAL_TEXTURE) ? static_cast(CommonStates::SamplerIndex::AnisotropicWrap) : -1; } //-------------------------------------------------------------------------------------- // Direct3D 9 Vertex Declaration to Direct3D 12 Input Layout mapping - void GetInputLayoutDesc(_In_reads_(32) const DXUT::D3DVERTEXELEMENT9 decl[], std::vector& inputDesc, - bool &perVertexColor, bool& enableSkinning, bool& dualTexture, bool& normalMaps) + unsigned int GetInputLayoutDesc( + _In_reads_(32) const DXUT::D3DVERTEXELEMENT9 decl[], + std::vector& inputDesc) { static const D3D12_INPUT_ELEMENT_DESC s_elements[] = { @@ -143,6 +152,7 @@ namespace uint32_t offset = 0; uint32_t texcoords = 0; + unsigned int flags = 0; bool posfound = false; @@ -183,11 +193,17 @@ namespace bool unk = false; switch (decl[index].Type) { - case D3DDECLTYPE_FLOAT3: assert(desc.Format == DXGI_FORMAT_R32G32B32_FLOAT); offset += 12; break; - case D3DDECLTYPE_UBYTE4N: desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM /* Biased */; offset += 4; break; - case D3DDECLTYPE_SHORT4N: desc.Format = DXGI_FORMAT_R16G16B16A16_SNORM; offset += 8; break; - case D3DDECLTYPE_FLOAT16_4: desc.Format = DXGI_FORMAT_R16G16B16A16_FLOAT; offset += 8; break; - case D3DDECLTYPE_DXGI_R11G11B10_FLOAT: desc.Format = DXGI_FORMAT_R11G11B10_FLOAT /* Biased */; offset += 4; break; + case D3DDECLTYPE_FLOAT3: assert(desc.Format == DXGI_FORMAT_R32G32B32_FLOAT); offset += 12; break; + case D3DDECLTYPE_UBYTE4N: desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; flags |= BIASED_VERTEX_NORMALS; offset += 4; break; + case D3DDECLTYPE_SHORT4N: desc.Format = DXGI_FORMAT_R16G16B16A16_SNORM; offset += 8; break; + case D3DDECLTYPE_FLOAT16_4: desc.Format = DXGI_FORMAT_R16G16B16A16_FLOAT; offset += 8; break; + case D3DDECLTYPE_DXGI_R10G10B10A2_UNORM: desc.Format = DXGI_FORMAT_R10G10B10A2_UNORM; flags |= BIASED_VERTEX_NORMALS; offset += 4; break; + case D3DDECLTYPE_DXGI_R11G11B10_FLOAT: desc.Format = DXGI_FORMAT_R11G11B10_FLOAT; flags |= BIASED_VERTEX_NORMALS; offset += 4; break; + case D3DDECLTYPE_DXGI_R8G8B8A8_SNORM: desc.Format = DXGI_FORMAT_R8G8B8A8_SNORM; offset += 4; break; + +#if defined(_XBOX_ONE) && defined(_TITLE) + case (32 + DXGI_FORMAT_R10G10B10_SNORM_A2_UNORM): desc.Format = DXGI_FORMAT_R10G10B10_SNORM_A2_UNORM; offset += 4; break; +#endif default: unk = true; @@ -198,7 +214,9 @@ namespace break; if (decl[index].Usage == D3DDECLUSAGE_TANGENT) - normalMaps = true; + { + flags |= NORMAL_MAPS; + } inputDesc.push_back(desc); } @@ -224,7 +242,7 @@ namespace if (unk) break; - perVertexColor = true; + flags |= PER_VERTEX_COLOR; inputDesc.push_back(desc); } @@ -259,7 +277,7 @@ namespace { if (decl[index].Type == D3DDECLTYPE_UBYTE4) { - enableSkinning = true; + flags |= SKINNING; inputDesc.push_back(s_elements[6]); offset += 4; } @@ -270,7 +288,7 @@ namespace { if (decl[index].Type == D3DDECLTYPE_UBYTE4N) { - enableSkinning = true; + flags |= SKINNING; inputDesc.push_back(s_elements[7]); offset += 4; } @@ -286,8 +304,10 @@ namespace if (texcoords == 2) { - dualTexture = true; + flags |= DUAL_TEXTURE; } + + return flags; } } @@ -378,17 +398,8 @@ std::unique_ptr DirectX::Model::CreateFromSDKMESH( const uint8_t* meshDat std::vector>> vbDecls; vbDecls.resize( header->NumVertexBuffers ); - std::vector perVertexColor; - perVertexColor.resize( header->NumVertexBuffers ); - - std::vector enableSkinning; - enableSkinning.resize( header->NumVertexBuffers ); - - std::vector enableDualTexture; - enableDualTexture.resize( header->NumVertexBuffers ); - - std::vector enableNormalMaps; - enableNormalMaps.resize(header->NumVertexBuffers); + std::vector materialFlags; + materialFlags.resize(header->NumVertexBuffers); for( UINT j=0; j < header->NumVertexBuffers; ++j ) { @@ -399,15 +410,18 @@ std::unique_ptr DirectX::Model::CreateFromSDKMESH( const uint8_t* meshDat throw std::exception("End of file"); vbDecls[j] = std::make_shared>(); - bool vertColor = false; - bool skinning = false; - bool dualTexture = false; - bool normalMaps = false; - GetInputLayoutDesc( vh.Decl, *vbDecls[j].get(), vertColor, skinning, dualTexture, normalMaps ); - perVertexColor[j] = vertColor; - enableSkinning[j] = skinning; - enableDualTexture[j] = !skinning && dualTexture; - enableNormalMaps[j] = !skinning && !dualTexture && normalMaps; + unsigned int flags = GetInputLayoutDesc(vh.Decl, *vbDecls[j].get()); + + if (flags & SKINNING) + { + flags &= ~(DUAL_TEXTURE | NORMAL_MAPS); + } + if (flags & DUAL_TEXTURE) + { + flags &= ~NORMAL_MAPS; + } + + materialFlags[j] = flags; } // Validate index buffers @@ -507,9 +521,11 @@ std::unique_ptr DirectX::Model::CreateFromSDKMESH( const uint8_t* meshDat auto& mat = materials[ subset.MaterialID ]; const size_t vi = mh.VertexBuffers[0]; - InitMaterial(materialArray[subset.MaterialID], - perVertexColor[vi], enableSkinning[vi], enableDualTexture[vi], enableNormalMaps[vi], - mat, textureDictionary); + InitMaterial( + materialArray[subset.MaterialID], + materialFlags[vi], + mat, + textureDictionary); auto part = new ModelMeshPart(partCount++); diff --git a/Src/NormalMapEffect.cpp b/Src/NormalMapEffect.cpp index e90db35c..94fd42b5 100644 --- a/Src/NormalMapEffect.cpp +++ b/Src/NormalMapEffect.cpp @@ -46,9 +46,9 @@ struct NormalMapEffectTraits { typedef NormalMapEffectConstants ConstantBufferType; - static const int VertexShaderCount = 2; + static const int VertexShaderCount = 4; static const int PixelShaderCount = 4; - static const int ShaderPermutationCount = 8; + static const int ShaderPermutationCount = 16; static const int RootSignatureCount = 1; }; @@ -70,6 +70,7 @@ class NormalMapEffect::Impl : public EffectBase }; bool specularMap; + bool biasedVertexNormals; D3D12_GPU_DESCRIPTOR_HANDLE texture; D3D12_GPU_DESCRIPTOR_HANDLE specular; @@ -91,6 +92,9 @@ namespace #include "Shaders/Compiled/XboxOneNormalMapEffect_VSNormalPixelLightingTx.inc" #include "Shaders/Compiled/XboxOneNormalMapEffect_VSNormalPixelLightingTxVc.inc" + #include "Shaders/Compiled/XboxOneNormalMapEffect_VSNormalPixelLightingTxBn.inc" + #include "Shaders/Compiled/XboxOneNormalMapEffect_VSNormalPixelLightingTxVcBn.inc" + #include "Shaders/Compiled/XboxOneNormalMapEffect_PSNormalPixelLightingTx.inc" #include "Shaders/Compiled/XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFog.inc" #include "Shaders/Compiled/XboxOneNormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" @@ -98,7 +102,10 @@ namespace #else #include "Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTx.inc" #include "Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVc.inc" - + + #include "Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxBn.inc" + #include "Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" + #include "Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTx.inc" #include "Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" #include "Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" @@ -109,8 +116,11 @@ namespace const D3D12_SHADER_BYTECODE EffectBase::VertexShaderBytecode[] = { - { NormalMapEffect_VSNormalPixelLightingTx, sizeof(NormalMapEffect_VSNormalPixelLightingTx) }, - { NormalMapEffect_VSNormalPixelLightingTxVc, sizeof(NormalMapEffect_VSNormalPixelLightingTxVc) }, + { NormalMapEffect_VSNormalPixelLightingTx, sizeof(NormalMapEffect_VSNormalPixelLightingTx) }, + { NormalMapEffect_VSNormalPixelLightingTxVc, sizeof(NormalMapEffect_VSNormalPixelLightingTxVc) }, + + { NormalMapEffect_VSNormalPixelLightingTxBn, sizeof(NormalMapEffect_VSNormalPixelLightingTxBn) }, + { NormalMapEffect_VSNormalPixelLightingTxVcBn, sizeof(NormalMapEffect_VSNormalPixelLightingTxVcBn) }, }; @@ -125,6 +135,16 @@ const int EffectBase::VertexShaderIndices[] = 0, // pixel lighting + texture, no fog or specular 1, // pixel lighting + texture + vertex color, no specular 1, // pixel lighting + texture + vertex color, no fog or specular + + 2, // pixel lighting (biased vertex normal/tangent) + texture + 2, // pixel lighting (biased vertex normal/tangent) + texture, no fog + 3, // pixel lighting (biased vertex normal/tangent) + texture + vertex color + 3, // pixel lighting (biased vertex normal/tangent) + texture + vertex color, no fog + + 2, // pixel lighting (biased vertex normal/tangent) + texture, no specular + 2, // pixel lighting (biased vertex normal/tangent) + texture, no fog or specular + 3, // pixel lighting (biased vertex normal/tangent) + texture + vertex color, no specular + 3, // pixel lighting (biased vertex normal/tangent) + texture + vertex color, no fog or specular }; @@ -148,6 +168,16 @@ const int EffectBase::PixelShaderIndices[] = 3, // pixel lighting + texture, no fog or specular 2, // pixel lighting + texture + vertex color, no specular 3, // pixel lighting + texture + vertex color, no fog or specular + + 0, // pixel lighting (biased vertex normal/tangent) + texture + 1, // pixel lighting (biased vertex normal/tangent) + texture, no fog + 0, // pixel lighting (biased vertex normal/tangent) + texture + vertex color + 1, // pixel lighting (biased vertex normal/tangent) + texture + vertex color, no fog + + 2, // pixel lighting (biased vertex normal/tangent) + texture, no specular + 3, // pixel lighting (biased vertex normal/tangent) + texture, no fog or specular + 2, // pixel lighting (biased vertex normal/tangent) + texture + vertex color, no specular + 3, // pixel lighting (biased vertex normal/tangent) + texture + vertex color, no fog or specular }; // Global pool of per-device NormalMapEffect resources. @@ -201,6 +231,7 @@ NormalMapEffect::Impl::Impl(_In_ ID3D12Device* device, int effectFlags, const Ef assert(mRootSignature != 0); fog.enabled = (effectFlags & EffectFlags::Fog) != 0; + biasedVertexNormals = (effectFlags & EffectFlags::BiasedVertexNormals) != 0; // Create pipeline state int sp = GetPipelineStatePermutation( @@ -245,6 +276,12 @@ int NormalMapEffect::Impl::GetPipelineStatePermutation(bool vertexColorEnabled) permutation += 4; } + if (biasedVertexNormals) + { + // Compressed normals & tangents need to be scaled and biased in the vertex shader. + permutation += 8; + } + return permutation; } diff --git a/Src/SDKMesh.h b/Src/SDKMesh.h index 299f4e63..980e9d48 100644 --- a/Src/SDKMesh.h +++ b/Src/SDKMesh.h @@ -87,6 +87,7 @@ namespace DXUT // These are extensions for DXGI-based versions of Direct3D D3DDECLTYPE_DXGI_R10G10B10A2_UNORM = 32 + DXGI_FORMAT_R10G10B10A2_UNORM, D3DDECLTYPE_DXGI_R11G11B10_FLOAT = 32 + DXGI_FORMAT_R11G11B10_FLOAT, + D3DDECLTYPE_DXGI_R8G8B8A8_SNORM = 32 + DXGI_FORMAT_R8G8B8A8_SNORM, }; #pragma pack(push,4) diff --git a/Src/Shaders/BasicEffect.fx b/Src/Shaders/BasicEffect.fx index 3dc99277..bd74c99b 100644 --- a/Src/Shaders/BasicEffect.fx +++ b/Src/Shaders/BasicEffect.fx @@ -171,6 +171,19 @@ VSOutput VSBasicVertexLighting(VSInputNm vin) return vout; } +[RootSignature(NoTextureRS)] +VSOutput VSBasicVertexLightingBn(VSInputNm vin) +{ + VSOutput vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); + SetCommonVSOutputParams; + + return vout; +} + // Vertex shader: vertex lighting + vertex color. [RootSignature(NoTextureRS)] @@ -186,6 +199,21 @@ VSOutput VSBasicVertexLightingVc(VSInputNmVc vin) return vout; } +[RootSignature(NoTextureRS)] +VSOutput VSBasicVertexLightingVcBn(VSInputNmVc vin) +{ + VSOutput vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); + SetCommonVSOutputParams; + + vout.Diffuse *= vin.Color; + + return vout; +} + // Vertex shader: vertex lighting + texture. [RootSignature(MainRS)] @@ -201,6 +229,21 @@ VSOutputTx VSBasicVertexLightingTx(VSInputNmTx vin) return vout; } +[RootSignature(MainRS)] +VSOutputTx VSBasicVertexLightingTxBn(VSInputNmTx vin) +{ + VSOutputTx vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); + SetCommonVSOutputParams; + + vout.TexCoord = vin.TexCoord; + + return vout; +} + // Vertex shader: vertex lighting + texture + vertex color. [RootSignature(MainRS)] @@ -217,6 +260,22 @@ VSOutputTx VSBasicVertexLightingTxVc(VSInputNmTxVc vin) return vout; } +[RootSignature(MainRS)] +VSOutputTx VSBasicVertexLightingTxVcBn(VSInputNmTxVc vin) +{ + VSOutputTx vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); + SetCommonVSOutputParams; + + vout.TexCoord = vin.TexCoord; + vout.Diffuse *= vin.Color; + + return vout; +} + // Vertex shader: pixel lighting. [RootSignature(NoTextureRS)] @@ -232,6 +291,21 @@ VSOutputPixelLighting VSBasicPixelLighting(VSInputNm vin) return vout; } +[RootSignature(NoTextureRS)] +VSOutputPixelLighting VSBasicPixelLightingBn(VSInputNm vin) +{ + VSOutputPixelLighting vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); + + return vout; +} + // Vertex shader: pixel lighting + vertex color. [RootSignature(NoTextureRS)] @@ -248,6 +322,22 @@ VSOutputPixelLighting VSBasicPixelLightingVc(VSInputNmVc vin) return vout; } +[RootSignature(NoTextureRS)] +VSOutputPixelLighting VSBasicPixelLightingVcBn(VSInputNmVc vin) +{ + VSOutputPixelLighting vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse.rgb = vin.Color.rgb; + vout.Diffuse.a = vin.Color.a * DiffuseColor.a; + + return vout; +} + // Vertex shader: pixel lighting + texture. [RootSignature(MainRS)] @@ -264,6 +354,22 @@ VSOutputPixelLightingTx VSBasicPixelLightingTx(VSInputNmTx vin) return vout; } +[RootSignature(MainRS)] +VSOutputPixelLightingTx VSBasicPixelLightingTxBn(VSInputNmTx vin) +{ + VSOutputPixelLightingTx vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); + vout.TexCoord = vin.TexCoord; + + return vout; +} + // Vertex shader: pixel lighting + texture + vertex color. [RootSignature(MainRS)] @@ -281,6 +387,23 @@ VSOutputPixelLightingTx VSBasicPixelLightingTxVc(VSInputNmTxVc vin) return vout; } +[RootSignature(MainRS)] +VSOutputPixelLightingTx VSBasicPixelLightingTxVcBn(VSInputNmTxVc vin) +{ + VSOutputPixelLightingTx vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse.rgb = vin.Color.rgb; + vout.Diffuse.a = vin.Color.a * DiffuseColor.a; + vout.TexCoord = vin.TexCoord; + + return vout; +} + // Pixel shader: basic. [RootSignature(NoTextureRS)] diff --git a/Src/Shaders/Common.fxh b/Src/Shaders/Common.fxh index 7fdb9a96..4ab03823 100644 --- a/Src/Shaders/Common.fxh +++ b/Src/Shaders/Common.fxh @@ -27,6 +27,12 @@ void AddSpecular(inout float4 color, float3 specular) } +float3 BiasX2(float3 x) +{ + return 2.0f * x - 1.0f; +} + + struct CommonVSOutput { float4 Pos_ps; diff --git a/Src/Shaders/CompileShaders.cmd b/Src/Shaders/CompileShaders.cmd index 66186642..89ccfc38 100644 --- a/Src/Shaders/CompileShaders.cmd +++ b/Src/Shaders/CompileShaders.cmd @@ -44,14 +44,22 @@ call :CompileShader%1 BasicEffect vs VSBasicTxVc call :CompileShader%1 BasicEffect vs VSBasicTxVcNoFog call :CompileShader%1 BasicEffect vs VSBasicVertexLighting +call :CompileShader%1 BasicEffect vs VSBasicVertexLightingBn call :CompileShader%1 BasicEffect vs VSBasicVertexLightingVc +call :CompileShader%1 BasicEffect vs VSBasicVertexLightingVcBn call :CompileShader%1 BasicEffect vs VSBasicVertexLightingTx +call :CompileShader%1 BasicEffect vs VSBasicVertexLightingTxBn call :CompileShader%1 BasicEffect vs VSBasicVertexLightingTxVc +call :CompileShader%1 BasicEffect vs VSBasicVertexLightingTxVcBn call :CompileShader%1 BasicEffect vs VSBasicPixelLighting +call :CompileShader%1 BasicEffect vs VSBasicPixelLightingBn call :CompileShader%1 BasicEffect vs VSBasicPixelLightingVc +call :CompileShader%1 BasicEffect vs VSBasicPixelLightingVcBn call :CompileShader%1 BasicEffect vs VSBasicPixelLightingTx +call :CompileShader%1 BasicEffect vs VSBasicPixelLightingTxBn call :CompileShader%1 BasicEffect vs VSBasicPixelLightingTxVc +call :CompileShader%1 BasicEffect vs VSBasicPixelLightingTxVcBn call :CompileShader%1 BasicEffect ps PSBasic call :CompileShader%1 BasicEffect ps PSBasicNoFog @@ -75,8 +83,11 @@ call :CompileShader%1 DualTextureEffect ps PSDualTexture call :CompileShader%1 DualTextureEffect ps PSDualTextureNoFog call :CompileShader%1 EnvironmentMapEffect vs VSEnvMap +call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapBn call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapFresnel +call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapFresnelBn call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapPixelLighting +call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapPixelLightingBn call :CompileShader%1 EnvironmentMapEffect ps PSEnvMap call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapNoFog @@ -88,19 +99,27 @@ call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapPixelLightingFresnel call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapPixelLightingFresnelNoFog call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingOneBone +call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingOneBoneBn call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingTwoBones +call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingTwoBonesBn call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingFourBones +call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingFourBonesBn call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingOneBone +call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingOneBoneBn call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingTwoBones +call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingTwoBonesBn call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingFourBones +call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingFourBonesBn call :CompileShader%1 SkinnedEffect ps PSSkinnedVertexLighting call :CompileShader%1 SkinnedEffect ps PSSkinnedVertexLightingNoFog call :CompileShader%1 SkinnedEffect ps PSSkinnedPixelLighting call :CompileShader%1 NormalMapEffect vs VSNormalPixelLightingTx +call :CompileShader%1 NormalMapEffect vs VSNormalPixelLightingTxBn call :CompileShader%1 NormalMapEffect vs VSNormalPixelLightingTxVc +call :CompileShader%1 NormalMapEffect vs VSNormalPixelLightingTxVcBn call :CompileShader%1 NormalMapEffect ps PSNormalPixelLightingTx call :CompileShader%1 NormalMapEffect ps PSNormalPixelLightingTxNoFog diff --git a/Src/Shaders/Compiled/BasicEffect_PSBasic.pdb b/Src/Shaders/Compiled/BasicEffect_PSBasic.pdb index 58c8d07fd54fecefe94c3bd5e8bed6dd18abf73a..05b1f73771feee482ebcee3b0f237426f630bf3a 100644 GIT binary patch delta 2701 zcmeHJT}&KR6uz@8w1t^nK+9jDokf-|1-84e4dJKdSJPI3ji!Z%Rlx;fOIhgdLXkpQ z6*Z`opJP(mu5E*frpBaYM@@V%1Yc}yQ_|R&m}oa#7^39$V( z_;yp){hbx(A6+*-`=srvk{UfHqz)g4sj|p%#MA8dI4WQ5bhg$xs+v8m-u4cx{kTbHSO-U#uHg|C&5M? z@(#g8BeF#q-qj+60%Lh#xzY02KxIV!0zvO)lid&uYB1zIHi*ieswMMaF4@n<(}Hcw zm^q(jhf|cP^lj^0+M`aSFr9AO44YqBG@TTPk}|11N21&3wy(apO#NnwV#jsiNfK%P zyhN9?3b6?K3(qKDkFWfVXf=;=WBNa$QuG&I*3kDU2IP~;b7?Seg0#)&A^B_93D(vk zW78DM@Q2+ZwH4E(Jx>Uf{E@V;sjHwESM6=ZxlwoC52Oi>~S;do})}FEqUO9TKI{-o#|?87th{t^28LUNdvI>yfdm zX8aYTM$^5CLKFSiTU>ZaV7`NRBsBA`YF|jRaok^lJ*3%Zq5Gg#s{0hJ@-Y5W@&8T{ zY?1%vPVpe)-*<;pP2liodCFnF_jw%j z1*~9K_Q%|t_3=cy&}>HB&tCL|r$3Pb}@z-eF`zy(c?WnsNzpyPloz+Hg*_G4aDtkGWy zW6N8O&*M|cnE3>nH+L>Et&H*h&zn1M+Ow3qoNe&I@;Xon^aE#rZh$}g08mPU%hwDY z7@Y*%fCu26uoLJ4P61_9`1{S=B8-ZG5@0`24paa<&nnr7UHl7``Bba` delta 1934 zcmeHI|7(*+9KL&(WJ&WTeN(lmHqOM>?bS9(Q_;@qOk*or>5Bmw?uY8?($)srq~^^s z?bi8r)KSE3NpCKttai3A*c8;9S_U%dVBqM$F&u1EiW~caFgAY}L$K@ixi`s7^RoY7 z2T$(a&*!<%d%1h=d6oBd%Hk7A(R30aBy#XG6ENVLI29B!Tq%d|QOrHS8G}w&apTnd zK@5Z|P4bZG+JZD@c`-RyZrDT}CBI_Z$`GVl8r!9CC>E8Y-ElI@i=>Sg_|C@mzI-q} zi?Mk23@+u1s0~^gX|QN$qP;oV*B6a=x{voDO<{7|VlFN$lC_Jxrnnjm^o-!KuN4nb7z`b=I z;;*bB{&mk_A9204zkvMrsEa7&_T>}$YpY4eSO<`2#|{-$SE`1MCtI4^Emw<@R z?ID-z-366h6MG&LBTt`JNeZh*glQ`kJ_xA`r^58d>HwlP;+d%;&dnY=@Ady1q`%dF zfoXE^`ZXr5p*qr}@Fy#o=AeBENfCNR9Gt4XmF5vT z1F@D|j&bsBHw^OJ=||R|dTS73%4A%YD{N9h-GqB#-+4Vk)?8i4Sqr&njtnU)wvIrI zm6}_YLr8+9=3l#d(?VIuf)Ece#+A5KU?KCy>)eVLexB6-GWuC<-`x@Z8|RNfghohe z*uI**RKVAL#%&jFZnWLP(!d?jv;=>W%nsWzPre)8zU?qZ%3i1jJ&I?0CD)@dcxdi+`BvSCT$gsUXJ6nDTX(3^nI0eV=9=DM}<8gFdSSYM%8YAS#& zIwAP3$A|yR*(cAg#dVrn&HQ_fHp=YU?ghW_c87brWN&A&?K5{yw_!EoVpD2SU&*6S7&TS{JTCC&LVXE0fOiJA0K6F-;*{UCA6$l~HBU5LpRXS!C=ESiwTbK64jL!Y5v^(MdG z+k4LWKexB{ocjdU(gLCMX$}7>A;coX4{R@ss?19?EK|rtdHSz3oSB|pJYoF3m!i$J zc>DgxmSUFk^}Abp<^-=;o*SX%Q-{#hX|naW2VHJk=ks3saIeiW=pObsN8ue#1G?La zVq!Phym1FRb2w@nNIJB|H1GJ-nmSsE;QyHoI5R-bvPgp)WZ26@(Vi-_PY-lG-C%H+AgPSr2lXYTrD!fs8B{7 zFfHiBsqI5F8JN!k&1&5}1I20KQw%y)3szM;s840MXArbM*bUl~^HF=tgvCnZR@6e`FPbA1ptu^Gbv#@-vn}z%1(?+GkUu9+Euw_z8$6t= zX~IoVoPAXMVs7nkLWy;l)s_E9N>rSERtDdes&GBkY%P5%CQz~Ub?~9?4T1H&sM@lG zIQ5o~gOO%fuo`H%@-rC>xVO(AD2EGN30&qmiBoEn$PNwc@$eF{8Zqd}NRyZSsG~Z};ieli`S1Y9 zeXWy=X)NCfu_79Txp=My-!~ZuVcFiDv|+c=A~;(2ZRvgH@$qehyp40rm)SPA609ie zz7z9xOJ_JjuAngUMO*J?U-I!L=aQY*3++51131T=nQe1BfgM-UdbTDloUQe zXUx~b<9F$Ob&dL^HywL>9+HLj@9TT*8(b(9_?0EhGoN1GA^*NTDqFrbc2_;tHTN7Y z4a|Ne9e}6&%_Z+q5~#vQVo!D_`arxFKl1O(5dSFrfcw7^#7p3Rxf0x}`uEviE(<>~ zV=mpp&Ne&efLU1kbmEjZ?jmFj=kV~wlQS_JPnwMcVsq>yvs_>a$dV5hj{g~6Da_7E zq}Bj&ie)!%P!Kp(yuhTm=HhoW77;N2Y*;Y&(Ah{84S_ncmo3W^@$KkB?GSPk(c|-^ zbnvd1C{~RUw)j=uoI*Q!6~C_4(^M}b-$6xGCshd9YX(e5rC$e@qotA>6|o`-dz*w! z13}#5i!ttzpA@)}*ea21Bp1m}t09 zN&K5W!PyV7XElnoykSCEwP&TAmFN|yU#(S5q9uTIBFB*l#DcJAw<2wDa`l306h}u8 z7ve@dh!+_{jw0>Q^xLHx6ONjZ7UW^XjC3Guoj&9RWE}A?=)a;FFXHGWvEWWDYsSj` E1!OKz1ONa4 delta 1878 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 AssI20 delta 2728 zcmeH}?N1a}6voe8SY4K3*gI{ zq#+i##A)dZs0}g2RA7jHC@G<-ftEJd78?=?wWcpNX=*>1)|6Iz?#@9M*7h&xB+vfl zIrq$&*_k_Mt~?Ydza7|W4|x>;vUT`_+skUqqH#8$GwW1K;4P-!)9V8xhE802hT)*Y z_NJ?|=wRlsaq!RU?@g7dQN~}GWvL5?veOHkWv=Q(xEchY06CuI#N-E6A9{0fOPpmH&NdgZgZ5tOzU(s;nr9E-yQDxQ4eztmRi$ z8VtKDN*vz6^;L;HBQlO>ta^;4@R+xD`y}7%j^T3nviS#8#oKsMPZ1`M^b{_rF2|-l zsQlfajlbJ_5EI$?T;8`n!KZReZ|;M{iZ!o!lVnkioBK_w`2&~t!c}ws``#UlT6p5+ zSRTD0QN5OwaX+a3y8ct9wr<=e4P^fw!8`v5Q+E|!)V1YjoGFU3xvO0T?!yO)ORC)k z)s>Ys?y^IPrFDn>pZbM{5WhR0su~*a==dFLg*oy@GE2spG!u|MJ{|fM<1tOiJX4lD zku?22$3Z(zCz05ACVotj09r7XjWIFiyXByn%RM`5`k_1yK%|IVG3L8Ded^XG%e|m!vjhOq3d*HwNIuOPxFIBkN|Yt`GnTVXH*bT#_>d;n3?%q})fo?JI-=!~|FH`i8uxkbAajHehj_YSYMj4@~Z zq&?`a_Sem9wxqB!{Dk8;|F9%Et*G0I=i>)jws`P{$PHLg+?Z~SG7*Nz6X6Q_3Ct(L zU*w4pfi=W95#q@cArJi*I8KCO1|Dw!cLbr15{S@&UKAukA9*57lP7`!Z=uL1f{i>8 z(#R8Gug;?#uvZ&^DoP+i3wa`RlPAIuc_K`aCjta$^@(63PlP-V1@bgPIe8*9nlDO@IKUNvBdCOBy5_u5)ca!ZPnm=tXLn! zt>{QhVgI(S=~7mhShC-T%)5M9?jIJbm1RlzjZ7*nD=%>;`7L`mE>V=7p$}WVC_I!c z^DCK^b9=FNGY$C1gK@VC6@)UPaMHs^w2uIMi{Md|0cAmnL-*iulA2xAd zT6|(ZK^;XM#|*Kxx&XxYSbRF`!vIbz304-Dik%f?)RU+j)Jv#F)C(waaxq)*s|9%| zoDZ-I^_0?RWf$01#kquyZ+-$J+fW&(OjH(XJ4!rLFS;E<^#clc0Kh%NIX#fBK diff --git a/Src/Shaders/Compiled/BasicEffect_PSBasicTx.pdb b/Src/Shaders/Compiled/BasicEffect_PSBasicTx.pdb index e732c67a76d40345674345c6f47dc2cead4be84d..0f33c6a2a2e98eaae36f1e007450a938352d3587 100644 GIT binary patch delta 2810 zcmeHJeN0-&v-+Ef@0dUf2v~8*0V5i zXr?{<$*Vzggx7o+BE*N?W#apeqp2jR4>9E8bs3p_iWPDc4H0nlEgcNG6>PB;Tzxut_ZwAY@v&M*b*8rE zm{nI{vp3eBNP(HCY-r+lGFEW&dZBMuJtGFHXkd{>|G+@O&3}wRucv`g?F*_=XFf0p z3LmKi-T4eKx+CFU_O=0C7R>j@2@{FiH@Je1m@$PLiP>9W^9W1YlMFyiGT72NxP5Vl z|Hpag&~cy|R0Jl8hQ&)945jSFMNoPk7p@Pk{f)?^*p%Cl^X=>Ymu~N3ZZYPRSu1LFlNkTy!op!d+JZvYMoiUxCz9!))X%6G#AG6 zyxrn#wp;m3oxYw=KwatC|dV-+>p^8K!_2cMNk*#Oz-=-nS{^|P$}9_ZOC05t^4Lz zJy+JYgOJNOM}4Vnv&3STS@&%pPM^FWC*(E~Q(v@IZT2Ojo19})=OWDyOn=dwx2;(AYS<}3$@9mmm|MFQUl%U2)3YsqXj&@Xe!-utiuv7g)E3oU-UZ_p{bMy(A~7#` zr#tO*-SKrkD`xNY3%o;1MW(Jm$ z7!PQc4zk~U1SAVnu%7M5T_8Wh(g%=%akD(N7$iBK4KrD l2vLkELC{M`t delta 2043 zcmeHI|4&<06u%=2wpPk~3<@pF#$x zK0Wt-&bjB_zI(p#(|P=#ig8YJ5+PK>zz>We(X342S*D1YWq!u9%DlX?w?=Ls!k}77 zc&;A)ZoW;t<%m@+shy&+@CU3f@q((Q(c|jzhJxXsKSJhMj2iHfW#Hlm1va;iuK&w#aGS&GCKr3%dQF-Dt0%Qr zD~M@Zt$4f6@h>UuXIp+RBU9h67x#BuVPbAaqSI&zhrFI}_mM7NDC`LZ zgOPC0QRzL_JSj&mpU}v@{B}__beAD_ivzmyFKyTcA$6$Skh)X!2`1)Y8`;aVC(AQY zcmtFi#1%ChO4M8zScJxaYXOexaz`sHvbGnOwO{pCBScN8E!E`?SB~GPb#ecNe1x zEDie9G;Cs%#vG5&>f5gakXJTokk#1Ssx0#W_16UCWUU?lR}YB`8yReq)e5OqY>?BmGnCdr8LIR5^!mbe zU29tmZ3IG_0;}bF1){*EGTPbt>$>!pqiLXqDNUyWKp{X0cqcOlfuLNV2LLL79zeGq zgng`NFPz6QxA{dSR#nm}HVteLBxJla#-UBpl1Ho4;Ch5E2v#MowjT%OAYd5D4yP&~24)Yy0iaiL0z!Z=AOeU2o`#108P0ze PrYGLe7vi53F*o}UbnZ@c diff --git a/Src/Shaders/Compiled/BasicEffect_PSBasicTxNoFog.pdb b/Src/Shaders/Compiled/BasicEffect_PSBasicTxNoFog.pdb index c2068a79792d5a3a23e120899e5b1d6d2e0cdf94..b81dc2c548c388f1ef440692f2e4b2c913dfd3a1 100644 GIT binary patch delta 2766 zcmeHJeN0ePF9@pGSth{BSwR;46BCGyj!qje{?f#t?N94i zX3gq_y_fdACFw7io)xkrOH9`25j547TN~YWm)lzVY`3kW$!fN{J3P)Vn3k$R_oFB9o-T@@pKN)9l7YkWW1-d^EZKH=D^+PjhKj zQG)F4=fU|KHVHP?B6r&q!suDA6gn$l#$sRsm3Py2wjFi0cuM*3CJ4WIHJs!)C*gVC zW%qQu9K1oRYvT)fFJHpzaVR)Gxy(YVd&l{MS#VLB4mUWd$j&v2RE!$-dpMC;wJ_|7 ziIQc0t7CLn*RAHW3U~ly-aUg?qi7Ex#DY*GsEcQA_?>bCA+!TDgl(ucWeGyEm{hgkoCCz@aRER?8%xqNbdr0`n& z6rVf$Qcu@hMJQIm+$fNJUA@fSn(z4|ucvqOK^h&aSN zg8B~Pyj0Lj-e)G(;`1KIzsZO*7f|m)E0x3!Lg;}(PXpTJ7ocRVNHvHSAEFj<0x^Iv zBj~sHAgbW>+C^0tj*cN*2sgrm=tlG)dJ)yI`{!9rIgYUVl1juQ2os_PLG$z?o>x@=+q delta 1965 zcmeHI|4&<06u_dNbw2EVdt%qTs95Hc|E1LI{upB2MVM$X_x0W*s@nw62Ee)r_PLm0f@ zOu6sW%MUiZDjz*`U_s{+w7EZG_)neNo1syaj}2 zo@Rt{*-<6weWQr*;}YS4&V=cMz>n{UPk>dCzb5)4dnd9ix7yfKzl>3205e~>5aYrDaOoVF>K))4T!TLYahw0r!4R=>{| z40IiipGMkw8p+i`Y5K&A3_c&b^W!PvU!zTiVz1Jjdd^~`+W43YUa6T7bY{m4}Vb6 zGdIG0uKU)B5Y4B+H-=_M%kHq_Izw!vulLiPi86qJ1M5!A2! zzzE*cyEv-!|7E`}`zsQm@tq^!QMS?cD5 z@|H~rH(-(! zuUgXYJMHv^ViFpAK_&E&%8ssXPoVPO`Z#G`lZY3RwSsigzUSBM#MZL#$0acB1>^v7 z0a<|el5;Q!?mBu5zyg#2y7U=X#|hTlyEx?3zr|p7D{Vnf02=^X3lVgT!PkxUE81EH z@({WhF)_H@dK6s!02`nW@DiXNKwnHn1GgI40Sy3pN==bt48DqYMVdF^Sn*T9>;}*> eXxT>qen1cqfKTv!oOukU12>gf_~-19llvQWNW diff --git a/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLighting.pdb b/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLighting.pdb index 63949f29fea7bbd1b8928d384345e0f8bc6b9446..0627877d4d0fa35acd0ef71189ad220bba5560f1 100644 GIT binary patch delta 2757 zcmeH}drVtZ7{Jdhk3s2eOOx@&-6Cb>Ra+?Hcnk`RY&xJmHkQ~aSW315Eo%!yCZkix zG!tq0G)~qG#Kc5ng7n5EW}0P*%9LeDB>tnBWM)PZ!gv@YijVJ5#)>cbLkLwV9i0O%)bLlhf7;^2Pi(VlFVX z`ITm>JY{MKC`*>r&?}L}26G;kV67=t5qtb%h+f~#2~Bhm2IYZ@4GOGRZ?aP@28?eFA@vg7rRBRT5!<5o?z&E8VqoDNeldT8Ym87sIs zE#JSZkqJ1;siQ%qy{9AZ<~~5Dmover^gGolbMEN`rT5o>=6p67-3qv?-!Y)cg&9u* ze>Ej?GgjzfGp2AYMZcYBUVcG+k^zWI16vjgH{aN~{@@&RYgmvEN`nW9h53st45jbE zmmu?2@*fYb{Uy+P9tKs)KMKXmyibeZs{|$HlSXr?Q_=v*+s}i&RI?di<6Wd~I|Sc9 z)FFYELKrjVFutOdxV*+@TfH-v3mk&Lsw15hpJv4z$Js5;HoKL}(P$gF46cLA=5#pa zt)E;LL4#x0$dM!%mBhmhRw8gp^#awQhT?fvz*o)pIm1GviMO?k7VCF-c0>;MfwW_9 z_q7mO>x38)H9}3CQ+@9glO9;7%fvGL(YPZ^w_qQ0wXWUYlSwb3cj~Y|m*3pAOHUiJK#Ej2`5mFEc+{1Vb zw|t$IAx~!I>#kq4RvmgkZvS1?UVY)2^nBIduaK)m1sBTz+dBK}qg$F)kh-*Klg_1O*9LIG) zk_&-#K$4Ge{W)&FvLnN9uo9VJQRd)Q-0sG{{k zYX`8hGmqj?!;zmy$Qth9Vf7che-kgXNH>a-?$J7;^+k)C7PQ=BSoPgjh$Csi5%M5O z=M(4dFia~9OVs|h73AaT*B8&r;F0;fvC93-z(OkH1=T{8=!sEqF1U7AV>mDJ1ERw_ z28)A#4+8B^Naz3f=l*@%S2a2&*e}i3ki4W7YN_;x1>8%*KNgcq34$?_mtzF@ z4#bJHA??U1qys61JwH$A3UG!^m=qz!hyf`>$`P9DKBN<&&-5H}W=wa533~x&J$&>p JcSAfz$)CPHX;=UN delta 1968 zcmeHI|4&<06u}Wifg6JZqU+h4knu`71)H(tjS_D3I;7@kg%4u6*o4r z#~g?YnRFL?h7b!ZBt~L3`;r;mqQS&CQ{px=^#=%kiC?m4G#axkVWQ{0wyxz({{nCF zdFS49KKH!)-aYqoxyc;vj%?JbIe`$WVBi6*Uoa~YIL_oTappH1SLEarT^?L~0z)Xc zFnh|o_tU2LUc7l-^OmkbFsgpW`t?2t)z`Fmx_qHvIM@*(^Q@ILvpTlDrsYuD$&ToVYeUh@Hgz z%Ki-UUt?y%6%=Mq=&7)fwuv?%&rh_j$sNdSZXKl$f^Lg~dwOKThG7ZJ%Iav}z9%a~unyH17#8Td8n3x9~q?Th(6sPKJ0fJVj97^n;skp+k2#tWR9(**G*&1Mw z=AK*8e&1b=5T#Hqjb%1ZM&4fAa?`XNA#Exz#I%`Qlpq7#eO1HYqp1>EF@!v@)bwjN zY+W|^GzhWaqg)RYbuY(H?v*|L8Uu z4EOe2-<4bj_?^m!=RVk?zk)q|H>|m<$}F~0|9=qD2VqVv)LlB9 zJ_$T?F80O78u)QyqkBo~f|leN*n3){y>-dGq@`BWm@LH=Te1`{JRWryY@ijA*=W_! zYSKmB;rQJx@<7L>xJhgc|f;l5B z0}TN_0?1)4YlM}GutY|yv$YbWI;pE!bMb0<$(Y@V|4sN~d}yO+H4M1~6`Dcuc!tV{l1C49FUx;=ngfC``hyr1fWL7)KW z0e}*q2hgbpU>++tRabG;YkpOMm1R_zYQcL9Y$q^i8-=@#su&fVzI=qHd7A>4JC8!B z4^Rs@0(b#%7(ic4D+kUxdK5r6NYp6)r~;qIyZOd-I8pWpc=rHY0J;=6AOr{lB7k1N X^Kc7)iRH(jd;A@}3jZpLdfC4LX%{;H diff --git a/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingNoFog.pdb b/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingNoFog.pdb index 529cfb15c60937c3b1c887e8fc5d67e3a8a724c6..1f6f247a5b50a903ffcbbababfd74a9b48a1cc4e 100644 GIT binary patch delta 2729 zcmeH}eN0!5=GUe*28YQ%WbVb-fe4dveww$?H*?*T$Jgcd|8n~ zY^B!ju!4;$oVK<`6)IMAa89O3-rhk;vXJduNXS+P4Qzs-y_ZeM-ezrUO;L@}$XQ&@ zlXjcO9gt5Y!aJac3nOw-l>-L7dU)?!rK;*gi~DGyuIGe9-{5q0w4BO;`6Lr`a%qeM zMmYoT+tbEG4VBc;tTo)zkRRnfMx$5rz@iBoHERm*X#|z`H-dh+04yUaST^k%*B8N} zPtDI{#&7x(AF*KwS29gI@#g14x-JGFB^#XiEZjK1JM!Wj4Cq-p4hfA_lxX#K1zEYDwcIcqa!wT5yc&|qiBTxI@z!)%xzkBw5CEN${ z-h%^IVrae-VnK8WRq@PwKPW9Egl2nVREFJVTf)(XZh6yFkM!*(UBcrD8?d z(Cwefzjj_m$PIK%by3!|RhN9UML9M1w#vp5(u#9bnaZ}dA#}3g_)bUC)kO&*rBTO2 z%$WIhpf4bLGQY%l?M+Ah;e8_ikweX|eHjT<$y`3WFp_&UZj#HIeWj;!zAR#^WUlX( ze^VJ0%`No&uI*`I}RAF4e_Lt?{WXPZa!@{0Cj{R5o z9PP>R=ySN|yZU`%eoghE?EmT!E}Q@5>TxIQ-&c%uQQ*-rv$~$<1I-P<%*{I%$&8X> zLe_B(KgMuEM`pu`wwZKvj^+u?ADXl@VU=U%wZNiE8qeVaA^XV#eA>@HFp@t{Z(5qR zIUvKQJC+})Un-ies%6H5S&SdF!Fn2;CpfgX0bTl$9}y$2D&z-m2?Fbs2*|>R{Jy{Y zeqC>5w!6A~4H+SWP}!uH5*Q5$UmoT{YC#_vD@g+K3IUl8ytuD3E3$`vQsCxc%S7T3 zDH4mELE;hGumF-A+}{N36OmoW0z!2Ma9+k6rJpk6t8v=L@UMx(nNP5%g`c*Bc0%ac zKnp)D=!;OWnx`2=$yuZt89-h@dJ($zL8JnPS1)Nganyyl5I5pMx{)5_G*Sr%ew{5S r#Ss=-QjR=`n2{=k##w_rhx8%zo%*MZGmPX#9KFORt}RQ(EV4fUj?G{7 delta 1948 zcmeHI|4&<06uv#A51786?m`Talp) zk7X=mnH%Mbon#CKiHY*VW?vjJ8W&8AGc}nS{0TzP_$5n>?uTVr1gq!1wyx__{{nCF z>ACOR&pq$--p@HtxU3L19vkEHhY&(M13wGSJbV*J-MTnaz~D6zGk0-3PoXIJcx3r` z421HQV^ts2uQ})6o~duXUp+0BseZxwLLV$OHF#WIzECh6?1+#>jwh|0j%#o5^kkf| zMU450^SFS^q1MT1q)sEF@x_h7o}OU9+A+|HWP!J9NCpsf!tfZ2B^(4z43HVzj$J#b4 zagr`av^=p=@C_!WVH-Iha6_e3b1=SyMIJ0Ao|>(`72^;( z55A`K8s%h0GfXnvxpnQ2-Bk!tWl}C(%O0+*xc!#Z!&j9EY146GO`FX{2{J4^v1b%~ zG*se|HH2J{YUZ_@cdiJ&+u5h*Z&vDWVb|aipPx+qZ5>|sw*`wvTF;P={I+`U zi~-(7G$VT}2}XhqB7#NFft`Tov_+liXUU3vBNr87;M_irYWshoXM{el78^h8%P2j@ z%uO$CX@G;12E8kK?^KQ#;BKh|`x{etMWs~Il9JlGB_*}%$D+=nLaKo5K~+KU=s^6g zK^1kY#_zGB`S%sP+4C%v(9!=WA#!%3mIz7X`v<*vJZZ-5WP8%ZoW4vV$unh;209D) z44{NuWHs2z$r@&ztRH4~(3}W6w!Ue#aKumC-PZaoV7 zIMJ@U4PQ6YTMEo>r_F~(8v+Z3DvdGtkkL*>o66uOgs#Rc3S4C$fW?yl2jEpeKY%7c zUrf~l^^BZ=g8+I_O|g>-d=2l5wJ34I^bC0R185ot0DXWEAPjf~5D`sz%UC%G)7KXC LEdEUyb#s3KGTc4y diff --git a/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTx.pdb b/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTx.pdb index 1220ad5c8185dbd10c7776a9084b9656d92d0439..4c528e31f5ec58d612006f37d33e8df34f5da4f6 100644 GIT binary patch delta 2802 zcmeH}eN0nkd4HUzuiEG?BPvgt++E+z5ZDO9*3N&={hgTONopyrKWs<}<`h$Hs{tO|cjKv>peWEt>Dl^HdSn+q}9y1vl92|4n^ivgsy8i0E zH`RF!Wg}lqo0l7#lEpa1JQFwAgsPHU>tSb|!)YyP=&&_cSxf7j&92rqc%9Qh{ykL; zvE^Dj0tPl}aMD^U85Az-ppR3jw+@h_mh+unlJnI;1s^W!Kfs44Z?U$uG^^BT6fBO` zraGI;Ijl6PE@=pvQLrTY{U9>+BrBFEk4M5Auj*mcr(}!m;2qS%Tel;kiW_U3M>BPu zjdp!StD~jnL<-DAo1jhD&Dg;w7{tLn^^D{gK^@IWhWk2-KH)=jdN~y=+JIBFHuJtt zQ1oym=+CBu#TNy4O*@A5Sui`K5icj~+=vx?#D-hAl3?0SG{3m0Yi9srlA$$?hwHEH zT6=H-JbE4?E-1GSqK1VL9!694;~}X02gT1Xto|j?+CI!l3I8aRsPZ3Y;Tw$>_mfQb zQmv%{;(#?SDfM% zf*?5RTpbR(kf}G+3;P7OkS-XpE84&Oh=p3`p0T5GFwVuoHJ+1sb4@ZCqk}RRFXO8d z2V5aR%H4AY#(;TkX@4&Q9s;Giz;h*t)&QJBbO<$Z%?!Mgn@I?*0F{ys#YUUQ-nwmm z)iZ~>b`f$B=cp~!ZEmqxW!7y^kEKnW;|RHqfvGL(sy5q_4>lRc?zp${z_1Uj+qmbUMj-{3n z%(cDBn?(!k^o`Enk~%BSKZ{#~W8G?|7CO4~Jl`?I+lEV`B>pw&l_dED$G1^0Npcg% zvpAL{2}7Sb97~eK;h5?rNs1)BBuNN)j66slk>o*?DPo2vgT;r2>Yij2;!8blR{SOE zUGD$#6R5lYdNfT^E)4BuaDIoX7);vBx6fr=2A#2=c) z>sd?ZX!_6uq**@?<3IEdS)5~YT*#kS09wno_{s*Z2w1P6d?9P1_;F@3ge5(N|Nmz=^D)W>)Y2B-ObGp$&@To30?b1CN~*R8H7_8gh!^o7 z&mnZ}0;CZ7SH`vN*mEFG#D#PqoybYVjTFKDpRXEov6qMBBab3xq!=kd=w1&XT?l=q Y=aKFS<0U5KMeOy8k-y#z8nSSI0NFxn!2kdN delta 2027 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 W2_NMzaPG@69XxF)z&|UZUj8rk^Fq=9 diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasic.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasic.pdb index bd4de3d0d27d491cff6e4bc9dcf48e3af6e2070b..5eb76676655b887b43e872409fb5189a4086ea7c 100644 GIT binary patch delta 2653 zcmeH}UrgIo6vuzJls{|xYdg#+bl`qP%6<%}ZRtWRe+%7`87V}wm4{Bj0&!!svwv7+ zt7Xd6#B@N9$xP_j#KeCuNPkh|gIV_CmTehXTzoPM8e_I(nG=htkr>Y{EvXOv4Sm&{ zeEPe+=bUd(Z|^y`lj{YOap?@tzR565p9EiUydmg{u9JjBB@vX;Ur3@zDlI={NjeGI z9OTO4`Ic)3K6=aE?p*Gj6Dno*N#*oWG<92D2mQl7zpMMDpnKHmvJd-51K#6sQNcsQ zuc~s!ZFL3H4sPmj!Znm}=vd?7j6$W!FVL(Ji(O8N#q!`_<)ZOXR$iOuvt9NkyUE1$ z`MgJm-2s0>xv(AHKWBgoF{Px-1Cz4`_~3hWY1ffKf4`X@KjJYsyuPu)V|8$=%mT-` zox}q(oKcwGH9|6hY8q(M8y^`c%y6G!(Aj$E)1`w3bmm6}LFW^_V2CzCU#t{Pm8+Oie3xbTpFnE;g6g13Q%n{zuhzBmUF0}JZ7GQWrh9-L?4 zLfuoi399-1!dLP2zX@&RVbfRtBPl^O|AGX*(dsatTAIs%jtW$5JrDL`@1{U@FKV_d zAxys)QovXXEcKa5qV>1(y(7oGgMlV4a|kl;LUpX{BrD@M&Nmzg`aGQ3U>xE0a3QXd zGvQS5eEqouhWxu0`YT~kQ2{qtg~%zjh*Sp;&jeVJSYC(*3Ja7we=rgw)^JLGR|SuQ zGSnWqTtMp`D<9zz>JqpW{n%<|7+USU85=$}$9H-y18tvQo$}){O8J znYG>0b9=F8O;k|GvyCC5fkJZQ34si0Od_EVuf@ z8^^hMFT6=n}Pt(7l2UMypIcYfCNsr~ngNmF^sQ?yvOai`@a* z9yTp?^^@3Y4T*z(wTGq=SPkrUpjI6D2{EC*m=0dzB3-Ci#FoB;JMw7f+_CQ%OeEhw zjc=hUX%y>n^gjg5B*pLg<)l_rqiU^8#NHud;~|Rsd}&Rw@2(0r6Gt^tg2<2}WEX{v3p7%G%~{GdY@wFWeCxoOt9 zI7dXuYI9hBDcf)`=;okhA24WYhdKK4SYng@0oqLBf|aQM_voX(c-rMDju#S@W%&TQbDJs#?> zs-ylrkAsgolPB`Xf6qIqQfAw_V6?u5_Ac}yd1axept@510@-c z(VbV>nL75676d{H_j}VE@vkgwNlTGYU7WE{Y_OOWCmmH z7~{G8aRh(lxEI&WKMdCq!YQ1~bNM5fS2y8aJD$=LV&1HaIdeXjtkOwk$Np)I@lvZ> za)bnNtGUNkJh4_9G7%zSjB|rRGO(6;y>i=*=YL$%|Mb>J^&@wurLP>{cM&p8-BY#- z{!j~C_lZwk`EalGCIrX6bQ%7_KS_J0Y#_1IQ$_$6n>;tMokh;KN?eftt23w0D@NA# z{!2M|s=~#kuPa+}{oxJc&Eh&aj}76vNwjVBnfJfEV?!V7?hSn`Ka&iURq(du58g`N zVoNe0r|(IItyYHmo=ZTZT~Erq`Kz8idALswhe!k+;#wdM^8(aBzgjCmP$=`NaRK6X z+zL5|_!yzb{b(*vr=)SZW{r{MTVG)XZgLI`Uhw$fzl?fG-K_(!=8|UpxKbPD_G@dv z``<7a9v+Yz`U`!WyRF)x2cveaO7&pVgab$JZQnRL5f8zL(@}&0QH&@;e6TskFM{`! zJc&q64y!0S9}YSUCwzC#9D42t%xY%EHe0*#di_+8g2_?y9i0CZV~F5#xV6N zB7iuAcm;6=5kv5Yb2%MA@NVUt!c}Nhg9ccweHt?d5q<>U&S8X%h$BuTUPdJF P<@p8Z`Ci5ui0kkVp(r3S diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicNoFog.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicNoFog.pdb index d2f89e50888f0f59c6f26c87fa0f542a60b74370..d82a72c3b88aa0d3cc37d658a60fa97789eb898b 100644 GIT binary patch delta 2647 zcmeH}e@t6d6vyv-{Mc6BYfH^2FmSJovd4hhmM+A?Rtn6h8KrUA*dJBF0@+}+TU%IV zoiJrFaW=FZjk?ugFfnoaW73zI7-JR^6Bjo}78n1~OtM5H2?7Jf#Srz}(h~fmZ|J{z zlTUkl&pF?B-_1Gac4#GID3%!!`Bw=c`&s0!Wr{|+(bQ;l9rSnl{I13$eeRxCS5v3IC*VB}?{Oj+ z@2m2O+v@5|IJl|9NmobG!L}sASx%)*FHobEi=A4Oixt7a=g7u~`JA#e&vrFcH9dT-o+#X)iltqH$F5_iU?OR==BP4>JmY1I`cz=pngXS7|vCJGopcc%cfC7 zHB3hfrE4Wy*0eGYxp51VC6^Xv{*jcViapQ5*M&OVPZ`}yn~n+;Z+sv8#g;XJ)LE2n zSV9^Z3v$p~3lmN=6R%s&-`#c0+a9PEl1Y&K6)fi!r+9@R2)@ohpU)$h4aP2Emk<=H z1QSjr&*vYr(Ba=cez*v(a0PIa=VY?fB2yhA><{oVv7!_XWMwF~-7_*qtYJ;v&nkEn zl)=4&lNq$$32`DKLR|v4!yj7BgwSelN!svhZOq~<wU>b>zoUA-PO2xLOO7bI#b*FF^nQ9;hEmNFQ&5yu_lFw znW+74eBd?qk;)p=^$VWngO9PXLkHTZxXK?o@tPKgUkp>HkCD?|AzK z+!}lp(lQbrTwHG$i9H#jUSZx*0 zu4Z%1ZbDXY4HGg^gsB{-g_9~2x<)gW<~%JlT4d^|{lWM>4g^k@XdG#-uf*Mp%>nFl zwh70R%;-WX69fH1GkYWt0t>;N4%CVvKO!d7m(#&JT&4-t$k-BBaBUjx2rCZN1Y_ zwOpY;gO-<(CZrJ=LI#l+5&HbShz-KaS9B+E=0p5Q0O>>ek&{ResfRtk-KetStQM(5 l_8@ko0ik={hYTR}okGY<6Q)m@tXFV0Eam<_pAmI(e*uMuP5%G@ delta 1860 zcmeHI?@v=#7(VYU)Ix7di)g9fqyzOTw15V2sMHF?XlNucW`3v!Ek#J6#omq~LcAJW z&=93N;7tfxtuZm(G= z8ZL`Zkj(@>-gAHHBz@_7ZyMGo5ae-&Y$a9xrfEXHFq?E?5ku z)OK`JlK8Iy8QOv8v~5OqDSze1%umi1&=ZlJD1?*i>G@^$q|CO+ z`j0~YqQh~K#IjM-8KYu~dgBkSn9h6`pCD_dj-T>r-g1XBUhMpbRNgMT4od%uNgDg}J*y+6mmcr2SlOl~xKOJ5 zV&w7?^EGgH-V@S3;Gd+odMv=x=RM;fD5D3RTE*YDnrD9e-<%0^j_8%Di@Ou(HUznXDGp3gyv>LSK_?mRWkTCAlQ?|5-zbBj+b{@0EwZ_t2Vy;i0gu&8KP z&F{0OPF05|pvP$&A`Ov_&>}8P&+&`kT_m3)bO{tqtKT_?kW;c<3x#ESFw}`yi*O=35MLv9BiQE5Gpi8m5UgDBjv;qz u;T)`%-LqiKwg%Zs1bY-0B8U(XAw)akD||CPgw(w_?fTK24!>x^b^PB7mm#14 diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLighting.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLighting.pdb index b7da42eb964292a66efc5c9c95a8758c3aa5c5b7..f5ffc45a142ab5b93acf103165c4828ff8cbc6a2 100644 GIT binary patch delta 2671 zcmeH}dq`VX7{Jes@fGh)qEKJe^~M<+Us<9NH>=gCbx&jVXzgga>0)H9HOZ1_t({d@ z-3ndi<8$ogG*}pH44k>FFvci_L1mVTO!ikPvW>DrX*+ST*i!bLJjB6r>-O*V!7umZ ze2??x7cSoXVZF1Mxb^)72iv!&kV?(jIAp!}meomeX@ zT|uRlDvw**!piD(4Ggo2v}n#gwmePDcQGL5s{s?2B3Z z^|<}=nPfQkkrt*WS$E!9_lEJ@?WFVXd#$YL8lf~$wQr>=Fuk5jueA=A_Z<6;>We6u=0MU za3LpgGnVv#6;rsFW7tl#N#Ty>4F(`R4;)1tT={fI=!f&rujN2FC668?4Q@?yFrEJd zZi2$sAbdA<|1W_;c^K6>|0tB8@VzR5A2U^$Pae&sMMVQ-Z$A%irfD-kWG`~J9YPp6 z*TX{R9+)$iF#gIwdRhB1N2{ll4}4f90`i`{ z{TE|strKEKGzc~EEO|e#C?SMadQ(`3k4?FWqlj%~^D9sH?jU3e=cp~!ZIuk{CK21d znWFg*SVFE~U}}rH=B>8mt1ZSE1=mun93gEuM~$g&s|;a~NZ=ctsh3t_38@GN9%9Cf z*ZjSKm_tS7`uR`njr$*yOdfc#!R7Y~E+u@-=PsP-b}sD+`6`*qyX9AF zZb=rGyC0~#O&`7%N><6-vmJJ%4nH>p-`aGKxA;;pFX8!9vx&mplrPx-`$4b~{+Ii~ zjog3V1F|IkXU2?~jr4@m(+*gRg@;3Dy}XQ&`#48Sk(OvgXjw(dh|bZIPb-3!AuU1W znDOq+b(V30kJSVlOO)#^sIOX8z_Y7ma}7^1<7>IhB&gRKX(FDrf!!vIHi=wE^teK_ zIC#H{G$=7$@Om!&`?wQYJrnJv<0r@t=){^HeWifWfcVwF7|0Zjk-eTOqOTUwX~65@ z;KDk)?>7Z*9!d_9fXI+ILX1c)Qis$dH0LLgH<3Q%6f!WU7ns;#9K9_hKe!z~ HW@i5cN%v7Q delta 1897 zcmeHI|8G-O6u;;B`ep5FX)F5zE7H269b3C@uni}!R0a!V4Ku_qiJO^r9a}Qmxz>q; z$=ejNn1!^vz%%<{8?DhGB*VT0O^A}27^gKE8vI4b{1U$=M1CQYxQL$HuF&z&zrdS( z+Vjr&+;i`{=iJW|&+_6JA9EUBBZO?`@CV0X*{)7QiZgNJfAX@5y9OyW&zD>{a^-2j z@UIh=n%NWSoyRXdHU7st{D^GTT?6y#0EU_x+Wb9%{%|DR6{WL+leP#Zp|hcFf6gh* zYQQOtsbQ6H7q?!?qxA*_%_)7W0{uO>^9KEjloD{TS;4cWj0rRCJ5fr-X}$cL%?0d1 z7N=`726`>@ubEBqbICI1SX~ef1#P`O`?{kvR#HwcJ)qU@2?bj+j_=mHskgL(de=V; z)znV+r;*}HnDjl?AvIEJplkIn97t6NX$^89U2c1m5fJAt!nVze0F^+I`f`*|+j>P>W59g+S(TcrE>&R~C}tv?)&Mtb(SyAE_KD?D?^pg84PSvz!- zqc<%fQ|S*L@L<>6`ryXrS66)n)IRK?+eG1T>2kAufk7v>4kHdFD(57DkTLW%p^wG# z#}0hRag$5NpL#0@VHCz?vHaoB%RAs&*nLVxh;cbD#*Fz~lBUDr{dJ@0W2w?BVubi{ ztGQ*@Y+SGe41@^iV_ZKM_bsGG7VmrZnV+Xrzl?uex&P{@@U`v7Rzg@l6PzEud~D;V z+6kK@Jvz|$<)hhcpubxC$eD}f<~i^WUUnAT%D%PRlW||s8dlT%!RpNFZ;JaOiAA9>y7xaWf;7TGoh0&LeXpq#PV(S@PH6)V zey%YgMR^ddxIQ_G_ynP1-KZ2yh2+(*&^0EjSq;pe%hax7-Ens{{F_QoN$b?$QC!uG z7_U{jnf4Y}p$b%W_4EcKRSFTOD7ext&Aqf(q8cbxr1b5$p~;@C7GGSCW*?#ep+l$< zA1&MXNAR|i2N7C?8NsIR#d(5Ut(%8TX+%pndUSiRYZ;fIJR4iksLLPAbS zE*(_V9>mZg#N!AbVi55PB7$Ixv%bN*d0R_%qTMVF>0k!7N`5`0%O68eBf^W=hG1J_ f^^783LJS}dAYR7L=RBx}(0uiMvk|Uq;;q6zaC$19 diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.inc b/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.inc new file mode 100644 index 00000000..22787a29 --- /dev/null +++ b/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.inc @@ -0,0 +1,222 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// TEXCOORD 0 xyzw 0 NONE float xyzw +// TEXCOORD 1 xyz 1 NONE float xyz +// COLOR 0 xyzw 2 NONE float xyzw +// SV_Position 0 xyzw 3 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[26], immediateIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_output o0.xyzw +dcl_output o1.xyz +dcl_output o2.xyzw +dcl_output_siv o3.xyzw, position +dcl_temps 2 +dp4 o0.x, v0.xyzw, cb0[15].xyzw +dp4 o0.y, v0.xyzw, cb0[16].xyzw +dp4 o0.z, v0.xyzw, cb0[17].xyzw +dp4_sat o0.w, v0.xyzw, cb0[14].xyzw +mad r0.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +dp3 r1.x, r0.xyzx, cb0[19].xyzx +dp3 r1.y, r0.xyzx, cb0[20].xyzx +dp3 r1.z, r0.xyzx, cb0[21].xyzx +dp3 r0.x, r1.xyzx, r1.xyzx +rsq r0.x, r0.x +mul o1.xyz, r0.xxxx, r1.xyzx +mov o2.xyz, l(1.000000,1.000000,1.000000,0) +mov o2.w, cb0[0].w +dp4 o3.x, v0.xyzw, cb0[22].xyzw +dp4 o3.y, v0.xyzw, cb0[23].xyzw +dp4 o3.z, v0.xyzw, cb0[24].xyzw +dp4 o3.w, v0.xyzw, cb0[25].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BasicEffect_VSBasicPixelLightingBn[] = +{ + 68, 88, 66, 67, 93, 207, + 195, 85, 100, 238, 18, 30, + 14, 60, 4, 221, 113, 160, + 196, 154, 1, 0, 0, 0, + 224, 3, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 132, 0, 0, 0, 16, 1, + 0, 0, 172, 3, 0, 0, + 73, 83, 71, 78, 76, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 171, + 79, 83, 71, 78, 132, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 104, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 104, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 8, 0, 0, 113, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 0, 0, 0, 119, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 67, 79, 76, 79, 82, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171, 83, 72, 69, 88, + 148, 2, 0, 0, 80, 0, + 1, 0, 165, 0, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 26, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 2, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, + 0, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 17, 0, 0, 8, 66, 32, + 16, 0, 0, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 17, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 50, 0, + 0, 15, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 19, 0, 0, 0, + 16, 0, 0, 8, 34, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 68, 0, 0, 5, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 32, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 8, + 114, 32, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 2, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, + 3, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 34, 32, + 16, 0, 3, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 23, 0, + 0, 0, 17, 0, 0, 8, + 66, 32, 16, 0, 3, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, + 3, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 25, 0, 0, 0, + 62, 0, 0, 1, 82, 84, + 83, 48, 44, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 44, 0, + 0, 0, 29, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 36, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0 +}; diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..69e85f7585be6ee46ceb93811e669ad22cbe337b GIT binary patch literal 71168 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 Q-8efZhOgcW9yBZd06?CBLjV8( delta 2196 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 f{ literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVc.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVc.pdb index 81a4e55b6dcdb4bc0db32cfd7136d4e4540e69d4..7307f9c8a911c47b46a52759401b201979fa2be5 100644 GIT binary patch delta 2900 zcmeH}e@t6d6vyu?<;UQ?wqVAu759pil>uGLj}W1ZpTl1nH0oe~R0IpejZqjatg=C? zGBp_uKMqEX2#h6W8WToeG+CmV`%84o$l~H(WFa$IT(WEnL0A|rp8L2EOza!_uioU- zbMHOpeBb5r?s?Zgp!R>I9x@4M2qCYk@CV!bk|E*>7gXs~l2-kI3r48biM@GCbsYL4 zYA?9!&yQ9FzMuZ_(ZJbTl0Nz_ryo3uu8Km(A$N19+fngmm$S9bQQ7Qn^|W_@?)QR3 z;w*G@$xbJAo^UiVXUU2QPV?G?P|1^gL4s25+_F-x395w{#r%K}lOE#Pj>_Cht5vjj zwjXVFdfY+HR4knP#0(Ro8dbRq{9uO9f7Qj6A8B+S&M|c#aha>zJKGwMWx)0LJm?U2 zaV{7VEz;ob7LFzAXkwYs^29`GNcO*ON}y(qNzhDcfI%FjccDu(20u z+m?_9&v|)hD}ot&4i~g7C+4>tYj5=AitHs|BX5QfeNu=PMX|Hl)79w`bIg_&aj)nV zvqdX*CD-gXDrj==o;s|DX+8}|x_>gr$U*-6Ma&e2%v+uD+_ znry`OPG!x0#1nE2g=sAM>bAy`3tNJd_TG$h3WPM_91W(vt*swLHiYlA#s9DnPDmjW z?&pTfZU%em)lX#=SZ6Vt}A&ExnxT||K^QHGxb2qvl8@sDN zegl^VXZsSkCb-yF|JOdb=>L~%-<`C7U+?s);ETg$$p`6arY9S)?qt4(hXq?f zJ|Sy3hi|G}j^s)Fp(SLaWY9T!cIoM-C5M(9-Ei5%soOl)0h7E*E}|hm<+8tcQ423E z=Fe0;&y6glabsXyn%h&2GGoYX#ER0P1n?50P=%Fz@*O1i?{!DbRxZ@d>K8~^wkTD0 zdT)ZEW##+L+;Xy_M#@UOg1_JxD1OKf01%h`l1jh7==ZNI6o0 hR3dcE&mpIfUZfB4&sZfc{51C7lVTs=j~ur1e*#vvZMy&f delta 2125 zcmeHJ`%ha{96#sU7wv7=va!M_jt(}9&_c%mWw_FfNw%z67h>EG9YM=8ftJyV$UyF< zA~9rXcXZbn1A{J$b4!@L$&AstU}Az|f-(AwYw!^tF|FX zJ>SRqo^#LnJ}O*P36rXr!}t}EqejTY{DRJuZHpGkabbP!1jwkX#Z@|l zd~npvwgrza=LU@k@gSqNJ}&NEPM&C0tv~$BwEEXmpH%dvCiriPfAS+VL5_}F3+Se1 zeA%sg{KC~T%L4Wdf9=S*2Omjh#;uqqAB^uDb7CZnfH$D%?KBk_MISMqQIujlqv#If z8AUemLH#j`8W_(g3NW5gG=$NZyZ|Qh0qE^h2aKY3fOiAWC|Ur%8hA!girF)Y?l7KF zWP_`c50s{;f$@x@0B1-$41l6qy8G%wIw=%u;Av+5pQf2KyA_K;t)i(3qyNZjO5+vp4y? zXv=>jy?BDdwW6THw)b|odECwvKe2 z&t6L_dU?_7E;s(SPBbkRX>gUI9LWu5lTu9ki?tFeU1euaZ%3q3(WnSC6>*>TLH$M~ zT5MIg^zQvro4!#Ud^m(P>IdWi^Z*UuV>SnZpdz6y03E;rpi5g|9WS}{OE~VgpVnjD zR$3@ifMWpq&UD0}+0v>?3*c}bLNlUMkIQS0focS>8{h>D16}|`0CaO2FFOI5dif;G zo5fK*p2H2I&wv-po&d=%fCtbBphu$b83jBC7z7Lfo`=5(OISS$(-+^jnD7m4+|U0F DlWRRR diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.inc b/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.inc new file mode 100644 index 00000000..2757afc2 --- /dev/null +++ b/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.inc @@ -0,0 +1,230 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// COLOR 0 xyzw 2 NONE float xyzw +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// TEXCOORD 0 xyzw 0 NONE float xyzw +// TEXCOORD 1 xyz 1 NONE float xyz +// COLOR 0 xyzw 2 NONE float xyzw +// SV_Position 0 xyzw 3 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[26], immediateIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_input v2.xyzw +dcl_output o0.xyzw +dcl_output o1.xyz +dcl_output o2.xyzw +dcl_output_siv o3.xyzw, position +dcl_temps 2 +dp4 o0.x, v0.xyzw, cb0[15].xyzw +dp4 o0.y, v0.xyzw, cb0[16].xyzw +dp4 o0.z, v0.xyzw, cb0[17].xyzw +dp4_sat o0.w, v0.xyzw, cb0[14].xyzw +mad r0.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +dp3 r1.x, r0.xyzx, cb0[19].xyzx +dp3 r1.y, r0.xyzx, cb0[20].xyzx +dp3 r1.z, r0.xyzx, cb0[21].xyzx +dp3 r0.x, r1.xyzx, r1.xyzx +rsq r0.x, r0.x +mul o1.xyz, r0.xxxx, r1.xyzx +mul o2.w, v2.w, cb0[0].w +mov o2.xyz, v2.xyzx +dp4 o3.x, v0.xyzw, cb0[22].xyzw +dp4 o3.y, v0.xyzw, cb0[23].xyzw +dp4 o3.z, v0.xyzw, cb0[24].xyzw +dp4 o3.w, v0.xyzw, cb0[25].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BasicEffect_VSBasicPixelLightingVcBn[] = +{ + 68, 88, 66, 67, 248, 23, + 71, 69, 14, 1, 40, 52, + 41, 30, 78, 223, 185, 230, + 137, 10, 1, 0, 0, 0, + 8, 4, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 164, 0, 0, 0, 48, 1, + 0, 0, 212, 3, 0, 0, + 73, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 99, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 67, + 79, 76, 79, 82, 0, 171, + 171, 171, 79, 83, 71, 78, + 132, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 104, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 104, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 7, 8, 0, 0, + 113, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 15, 0, 0, 0, + 119, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 67, 79, 76, + 79, 82, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 83, 72, + 69, 88, 156, 2, 0, 0, + 80, 0, 1, 0, 167, 0, + 0, 0, 106, 8, 0, 1, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 26, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 2, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 104, 0, 0, 2, + 2, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, + 0, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 17, 0, 0, 8, 34, 32, + 16, 0, 0, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 17, 0, 0, 8, + 66, 32, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 0, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 50, 0, 0, 15, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 0, 0, + 16, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 19, 0, + 0, 0, 16, 0, 0, 8, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 20, 0, 0, 0, 16, 0, + 0, 8, 66, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 21, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 68, 0, + 0, 5, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 32, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 8, 130, 32, 16, 0, + 2, 0, 0, 0, 58, 16, + 16, 0, 2, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 114, 32, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 2, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 3, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, + 3, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, + 16, 0, 3, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 3, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 82, 84, 83, 48, + 44, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 24, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, + 29, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 36, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 +}; diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..57d0653bbe70542ae98bc731f2f1e22b250897fe GIT binary patch literal 71168 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 KLn29DA%6kZ*jMoY delta 1903 zcmeHI{ZCs}7(VZ{Wfyu|THN?pnY5$m-Jqr2WFXFU3~<>(1IF)I3|h({LW^y!$XdA= zS;(>w>QQd85Li2tC0op9Z?a#A8cd9vHJKkXG1(;3_z@E|CN9eo{CZDIUB}h`z>_@f z>H9wCJ*W45&U2-Cjr98+v!Z^25aQ(U1INpXwI~B=u9O2w0q$2w7ilz=OH)@K2h84U zu32zCcDN&XE%V%0@wyhJy5uJ?ZS-NPqt)vf@`Zxo;6Q{f3nJ|jj6#2_cO)N_m$e|u z$23qXtm8JTd9+!tqKOsl!I6<*z%ej3NK}>SCB1HaVUbqF1Xc0sv>|1pqtr~L1)cJv z#SZL;A}us!Cm1cGf4sF*c{*9k0vn5i0l#H<=+Iz<&Q@-tpWMas-2s1BHgK)RLEYwh z>aMv5T-2KAE+GFkXQfhk#qA458*H?1z7NUE^S$e;OSLVxDt~?2Mi-LLA`w#i>A4;D zg38w9{#(Sr-AA(|iB+SHxvv;!b69$&wgF|M0z%+S3Tt> zg^%Cl=*_Z#(fo}QoG70sCoX<;we&Nf)=4MbD+v?kHPL;HNf9-~i1Adz1z8~E7{)p< z#&U(D6My8nCsz&M4c8OGD2&T;g~L-&H)>xwnA8$tSgVUULm`)B=%jS#u4#<1QkmOw zgn00%`E9GVuax=pga{a8To0FMTS>oigL~?U?-#W{y!L*>$kl1#3(L1Xgs^%>I6rxL zX8VWyaf>Z89UcAj{@gJz?&9w|^WHYo1@Met7K{JP{cR(x`g?=rQ(dppCBL(!??f5y zMIV~_4Me5$$kGNSFtb}=n*CqEc>$l%Dedn(pI5NVom~8Kb8EhZtOu;0OiDA@GbXKQ zd#(peB9#Yn5?ZzABy{f4L|b_|>ulj*-S%*_+Yn7%7xZes!%OhSIJh7tM>w#&y>A%i zIIuy#T*rZjo63gAs&QL#1n~hv%cQ8bO_lLAt9-4{2~`!UV!AD_J6!NzroAX{(STER zVYA-6Ssi9pT+xVL&^RzO><>5otMkeSw4hV3m8ljgRN=PH>l<=Umd7Wc!|5oZ7*T>K zLcF^+$1j3+mTX1v2or)WeHhmXimT)jBzmlKJn(hQN*+Ok5ng1lF^lgd<~z(H#y1g? zlqe8KUKs7jorL774(%Hw~f!NmCZ%+uwoZ4_;( zOJ7$w?DuP~&y*}T^jw}1bCQ>6&d3Qg)fvsLPOHOdu6wP|(%ojRw>rCB_FkCeG@$!U zkx48@b6?28!W{a|oe_uXH4O}Nij3F-6&X^obE{IZ8ffBEB;$R2N-9p5 z!+yeQaXEwXsZ{v*f)+0M<+55E4325x%8$yl+T$J0qXv!pxJ}z+cl30eEQI;=a_ALy zQyYv5I&oxA7mWleS)fU+dt#tCDtv)K=Zc|46$)xs8J-vfHG7*u>nnv8e;WK!zQeCA zgGI;|Z{+RV)QUf1!4z)hm2XEaAU@K(P609tz+S?`-SJ)FA1;7b%Y!l?k1dh`%OCP^ zsqk6c1jR&y_*G!zZ$jZbOzOOUBqb^)UXj6f*(%JZfaTJzVgk9_&x4bis?!6TFk zdYp>3Z?4Ip)46BrXbxQEvfvKSNu1JhiR#e6VHYnEs}X&!ggE)`pLA4*HC)@DsD!6L z?m6ha8OQ1!D<9Dy%*8eD`^0DSBkpBvak$ONu2UuN4nvaq8> zea}pl+`hmOauvdhP7OxuRQ19|-xg@40*DE5or$dS{>f zhni*C+=Ba0wY%x!tKnpo^s)7rJ$?A_5X@M0&$LgbVP2x?&ApUrMXPr_QCv^^l>5Ie zg!q-S)~D`sAaJTscZqSwg)V69AYgiAm^QUi|4Kd$fO@5orQurf>}x`;0P+CQ zqrQ|5Ui1>3szSmRx~D5+Xh-hh^IAQP^(68=}3|1AolwjX1;JNveJXN11Hyh2%jyi`oz{Oz6NYd$ JEYhUM^e=X?RvG{R delta 1906 zcmeHI|7%-S6u;*!sjtmTn$)dd*3Kn1)og9PZFHSoT^iduIvQ3GnPNMtX}T8Lq$aVe zwcTFD&LX2UyR#2wX-y^!I%G2!hEO)CAWk!wn-hf1qM{puia!h)RHx@Ajm!G)yRLWo3`nX5JFr6e&9IFEO{wN3WWm5420hxnWxc|E>7Io5192f z9D4rny@}R^Zw|CO8~5L46$L+oX}up)&Gj9=K7TkA3H3zjl4PT8l2Pie?-P#N~cS=&@Ubl#eKm*TRQOVW(W0@ zS5wdC$H7f4v3)t@zh*2{E-ra+!C;M*cFlGnd1~XrnA0DPI-cWlY*oL!3C4sJWy_gdD?I zGsbu>ceLP-Eceuk;m7`JLO6wUc`kSOa_SD*m-oiCgcw%qV$P7uB`G>CKfGfSW4u)A zfgB+|JZg5^vaQQSemx-)#yHm}#JtPN*Ke(R;kjG$+S|uJt{J#FDSc)Bp`8$3&j{zo zuTO3LR6J?6rY465ukOkm1LJP-i8CK!b+esR6No423-uec6Pm6 zgnKdX(MkXt3%vPG9t%!2NL;l4D>$p*Gdk9E;pMD^72(wU*Bk4zJ>*T`4dq&z!lrR; z4K-z&z%^3Zn$ggTJ)@y>&&IsPWxTbygSVT@z!>vJ5_crM+Vb!oygdSLFey<1%pbJ$ z!;An{=vJx(@Cm!p;o%D0m>flXg3xj`s-08ieRV2p%QZt)g|boIrV|b~{FiUfE1NXn zQr+3KJ#SQpxf_=_(GHwFef@!m^Iy$ZY1M*Gy;h-GC{cyIEq5NuJX;Z;fDWgFhNSKH(TI2zF^mW!_~u+Wcu5IwRn}OZR>nj)3k`}dA5v9MVrDnOgW$(` a3K2m>5w9Q)A%^f>`Xy-jS;iQMEATh3$SZgN diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicTxVcNoFog.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicTxVcNoFog.pdb index c76e13931d2bf7c54fb73527fbb844b7363fe47c..b10bbddb16ead976a73ee0c861d95189495693de 100644 GIT binary patch delta 2664 zcmeH}ZA@Eb6vv-iUI)D`V8+|P-6DlDptih(jIr@PH{yV3HWpJAR%pf;WwwPO17XVa z!%}%UCNo*bTun6d%cM8c_`xju;)q*D78gI61&uMzkcm(X2BQ9-(h@Z39r{(D;z1;<(9+F4u{iHd%V}$)ncjZaCW(RPEq25A-AT@ z*=en}**dH)qphDYYq_O2;A`c+r!DP4-^yhJol|R56trjtcBS}PzjAz|7_S)b7UOfm z{Jy2GxXx^rnjJkSa3@Zm#+yj*Uog_;NsX$;P9qaW`rzAyq?*n)=g}fVU#H#J*yHGK zJDErKl1u26v_r7dxMY&YcG`qsU;+=U)|(z1D343m5%hLGHR}RFt-7Me22s^hO=NTz zQuAaI{ag|=X)LBWN|$eBZQIa_JYvNbZf2EiMa?5G7+w*GQgf)MK%~1Dx3Ay0M8igr z5lty<%wL+GbC{#$PLYzT%yP_gAJH9gs zCY1BB591T)Nz(N18@?IAOCL=D7yx&1-E&_pFJg=repAqf%f^_;EaY3!^3uV9?Tk%f zjr(%j=8=Zx67n7L7R+2wGjs#@eyQow;rE7==hk_+fYQ zt+^=1%7enA!bJ50-@pqIPZX4yXD-?g9e!HnIr4n#`7g0i>K;l-t49S9_q%{gwWu=U*VGRixD8f*V^TG)g3SZ+H%X6L=+B~Bs&8qi%HEEahftC^G z;KCtXM$atlo^CiGOfF^%9?~x!;u~-+4(2vO$pd}>W+;c(Fy#F0AXjh=oYP8noWo^d z>^NuNF`9*NFCAY~rr)I0<@h@Ujr*0)`B{IuqDJO&vVy%*!Db-0OQaji>iQqGc%~Rx zAQr@dXmAE>1AL%gu{=EXcw7@f47d-t?=aTYvN`TEVR9u_{~Z3YcCkr0tNv8{e7U4+$+~~4$Pdu1$sdrI1TWU#$E+gwD-5$ o=5oyTfC{h|RD&8&3;2Hb1Ab3~UVU)|QEAG*e-n%O2zH@eO`m)3TU4MU4VCXz`t{YaoqY7)Cy z8+Rvk78#@Q*j|v@l1wOWh-(h+m!VQYs8-l?3PMX!@dH6caLAyW`kth5S?=~9c;HFS zec$K2=id81=ehE%M!r!r<AFbW_u5dMI4u|{LPG_iUFFk8a( z+J>s>PG$Mkg~h9DtMWDL__p)ABSkgf&$0ZfDCT&QW=?JZ+@|=$SQtJeM!Q{D? z%mkz5^ya&}*fYsG9@ttM4)xa#1qTB$I%VBKuiPt&-J$-+Gl6fnyQrtSfqJ$-0L|2v z=*}bmGh?H2h2{1IBaL?2JKKxorP-qe)#bW9w<>>k&Q9l&&mj>~2k3>J&b-RDn|&P z^S5p6(9w%RqQ{f!t+7WVeqS{3Y+rvQ>WhTKv1oA6HE=wjYV-66=v8mIg^BU&0=-@y zGF5-?1~*D49RK38HRG2+Z71EdU6xK%Zwl^nOgd0MoET3vE-Mltr!m%rF`mmG`|%>j zJ-cD}aj1b1PT^dh%OBpnx}(nZLrE=^bj&hhbJtRd{Yx#Y!)9n z|IrTfGI+5z~ZuoSm;u%g@H|r zD_m@U0?**#;NTmsX1JRf&nx$6z^yur8ON9 z>tM?C!BpCwB{NxN6BCWTO!~_-KA6diE^ZlFT$U`+1&tb)EOTO6Y9z*UOH1lQe?wpO zCZGOp?>Xn&)7yK_?eto~bX*!Su&*-=qhM&u6>4TDr_; z&gJ(V8usvkgmQihynDt7=VD4phZm-!MtJW#by>&3!9c&oFmcdp?D6@>1`jvD^>Qm5 z;i`xiBAiK>-8MopfodA))SDg}C`7o681!Z%xOC~D0iETcLD2qKFBrqk;EI*OFV^Ci zu?3c)Qn*xGx}haK;K39YYpt76iwpM+FA;!>dhj)|aP92Y^)JrBl#vB>T$x`)1NYu$ z;atNLxCyGcy~1blwZ93i=i$`X{v#|WGu zT0)q8C#Zn2U9jM?kVNZ)ik%~eeS>@pmpKHPcfkf$c8ryA9OobA$NgT;Vl<6#JGda% z%$ad2c)$2q0z-jq^ZnIuL7|1KtU~0JT1BeE0Q-1WB-S8=`N9Ha)%PZ1!WzD1TT#KI zpbYMwS}dUTj+KuX5bDBT4}V~{Fbu8s-i!?&8{;m{vc9c-&pkQ0m0{*^jrvks?$BaK z$@+%on=YSGFw8X+roL$F%k^bG%5m22xLxL98D< z84`8gPE4LCc%;c@zI@i(z5j7Z{J=8_f%>C7r57qL4;Yz7G9K3`f@?D<)Rn~9?qDM4gN5poPE zMd-kO#Wdi4%kjAdDMoG})OQNk6@ppzDT$>@^iShYwGVk8IgVC3{HU1L;I)zIze+ooH4eWNN|u2`QYx*(rgP{6YQ#Obbde delta 1893 zcmeHI?{8C87(VZ%9k=Uk*Nz|E=mss@u(-8rN5*s_rEEx8*06+#ei%CJHdeE?v#k>+ zgNw{7bc7J%74QegVdgBFg{)8_fXqPn4YEZ#UD@==?H2&E z$BQQKef`JHw)by6nt0ha9$^*5zkqdR2ve=ioxyM@9!tb}lXOOM(RRrqbvJiL@|=rz=6y6tBpdGgdl4?NpvL zvY#Dp;5SU3Y|KqCT1x-=U=w>OUBv?{4Y6pCqd$D0FG!AE*Pk*rd<M4S5RH9dg^iI@6K1#$@D8ogv?HQ zsllzP>`d=`OpI=LCr6TbHEKC$W|p&|+{T&Z-1*!DqgLvfuA+`j9(KFl|8J1pYq$<< zZ1Ywr+xmMMeec&*tZm?G zaw8Lm9}4tgY1Cr>-V0uo&#RTwpWZ3C3DkMiOSj3=5&NR(KEtF7HN=U-nYwF=gi^y; zE5>+EJ$B$to_l8Ae7C=r5KiG-o>PyYs_vkBt}U%6#JpG+b7nP{%+jOsip`@Kn{oxJc&Eh&afeqoh8EjeTGw*-dt_6L}yBG9v>G@P(bvbXFdhk~A z7F$w*MCQI^SZZac@6&_OuvSk_K2WdPyJ!3UL^!lJM55>s9|qzuEVWHg_94I zqyWhZ+zdH}xQfu@jx?`NyQJ~DCXJP;&9ATmw>bv}-}U(5zpQ#nsnmg2^P1)yd5t#A z4cJzX4p844?(a#|cNaQ2_giI`9*o+x3e|&66AtXSzkK2FL_7o|P6rSML@}ZW@$upu zF9hFIvK}EKtO&kz53ZA#ulNR}I-KJoh&9|m+7U6tA!P6|hF>G@HryD7RuPg`+#=LA z4q@soL;$f3@h0LRB97n>=Yo0$!Mm0BlIN6R5iY_OC1`-znrAVy72!wl?QBOR5J|-A Uh&K>}`1$+-^n5SF48(c(2TcwsS^xk5 diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicVcNoFog.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicVcNoFog.pdb index 443d0c2b69e7e11cf2a19fb21e242e1e0c1974c4..a6dee2456cae18c64322e3ec62f1a743d87d4646 100644 GIT binary patch delta 2684 zcmeH}ZA_b06vyu^uPe{fc1_0Hz&&M@mABd!7PPQIfo;(YXf%u^76nU*8>7Xxu*!xo z1-Ha>yd2|R#xzceU8+9iA?)s|Thy9TFV7-arjl!)Ho=SHdHp z@a-MElECU6D<9Dz%*DIlf8T5(gjIV})P`^C<1Wr(zEv&HKGDC8kV#x)zRb39WMM~% z`3_8%Tsy}RaubD_FWOo*`jU?}IA;~zR@-?(I&h6SGuy^7j3P1NJKgD5my!rEM}>#! zxaD@Re_8fSNrmy+d1piOqq4xEr`uk?9!XS1FP~aGTXZ$`Z6SZ|OkdAJWh7QbZ|qWh zTXRn~zu5Puwy*K6=Of9g=mSTqD}ChPFns1PJk~a)#=M|m;2WwJ3t#>^MO;;X!2RD9 z!tL+8Y@UvsIkF{D^^Twjh%m1 z7pxdrA*#kLtJ6PlAaI&+bBS}sh3{ui^8O58{sc}OZEN0N~f$QFbRY-gkp_c{&Vw<0OXBEozJah(&5@=xi+ zYO3}r{F?;iL&SzwHqyEXVV$0}an_!fpmeoZ`wCiKMfM@}$SGt9=||Z2??tM?zj{gI z#+e84BE3i-avbp?FCjIs=Z`s~8E4o!NfojOu^_cb9m4Y6kFei#5*a`SXN;fFq+y(m Jh&1&9{R_~XQyTyP delta 1905 zcmeHI{ZCs}7(VY^%P#b`w7Bsxm}{kMWzf=YVN9HK1?IAaW+cW;V=-tcgM_x&TM@Ci zi;;zxg;0-jlZAloOh~pEW^ddtWLq#X&Q&u%wrIjabnzo5YSb*t68w5kOI^p+|G<+x z?dkhI=RK$Qea>^G8IAP&hAEr=I3dKz;RlYF6iY!GQd}_yk^kSfq<$`{9%j{;_0 zx352O)IHz25DR{M<<}j}N>$O1VA|xzRC}|}+wYHr#c*$wE(tc;AsB_8W?wKDl$W$% zlTT`(SXjqxQuAn&UPZH&wS|MhaLCa++(%TE=~caMePJ7|hzY9VRVhQ#LNVrcuT8Ir`RQRBQpF}~%`99%KZpUF%xYNC$CYHHr?P?j6q{{)qvcYO%T z)Seb0)qcC2p89FCa=7a}7w>c@yQ{2X#P1XPp6&@mL|-Hvj*9)qGS7Zp`)qU}rdK`X zMui`}!_hk>A!FrDCpb|)?Kdx7xl#NXP|KK;?w5q)m20B=2$MF{5F?Hz>o3a!At%`a zjImt)IDkKL+|#RuZwKlKVHCz?x%}bHt2<<0Ih@cEVpyw-IYT~|r0JM+-<}DKu~O-K za)fyCsJU$`cCM88^@Io*V_Yv6_pGE|{*8O`@$cre-@o==eelMFaNYb(Cn2n!5zdcY zo80*Uf68o4PYexy`cU>573GL0bTQ!E+x=z< z?nS-h%V1M#Pkgaa2~F-3m}dVMa8AHybxPZXXLAacxzlrBZfVZ7koAD|lSye3d&ZfOnQ>VIxks z60)6#y2cSqy@>E2_9I?E3?m{4wmDM{-ciC@mGhNH8JwyD*O$cv@THq diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLighting.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLighting.pdb index 16209a413d3f988695f057bb80964f1cb8e8c208..48e31bbcc1ffff988d038da5bd1147917055b3f9 100644 GIT binary patch delta 2699 zcmeH}e@t6d6vyvPaj!^O`BmFef-)GtabpUNW@Cw+gOw5)qeWV}%9t<( zoh}vFHL|$skSWfone=5dM$NLnw#YIh68|y_G10h4V1MYcFf5+i9|RNohW@KJ`Sjkt zbI$jjzTR{08}v#Bzmkk@#Rw9X4&Fy{D`7a4wlkGLmjS9oxt# zuM_M)^w+bUL4yRDqxtmEnOwr1Ie=q8%?JCa;n#8)Hvti^#$| zX~LDP_;oGGUJImfHOsgeHLq|-^E@UbC5PAxICArYEx{kolL0M96jQRuBFSXwLynxy zeGDFg{CvIe_0;NLgo1fgsk8o(lpsHUfFa+dsUV*mnoEm{3S@3R5AH(KxTmQXLvnzQT#bY6OonI!c!QqYmq!e(Ot=3i1$< zxpxd)jiR-VkO|NL)WtdH`KZ)@5Uup4kPW8wu?VZMZ&~xRyZW{u^e$YZzSOpHq(V0d z`yQJtxIWH8_W)t)3%2HszUZ?J&Z&8~lol@7j;J%WZ5%@&5*EJQm2_<(8llpV@DLuW zy5;LL#6MF|qQ8E|_T-*N81LSvTTXrxOjLm{AD@3C?^@j3eD=%#?uFb$tv)D>wbIE@DoGiORMhDmI)=~C3s$Tu);m%1@`}b5NL$|<$iEG z```C~493?mR+ZL3cQ`$K3Djc#{@`9ODMn}&uF+DYB^n;ItiokPuhE@PD}t8cA|fNQ z`@SWmG`=I???Akee(xuYyU7Hr3AC9Ahh4y4z9J{PSBj_Wcj8m4+1N|etFzl0LCFjJ z4CvuTkp$qF7wJ=Cw!kS}^!K`NYV|nMyT|t=)2|cjee}(OjQYjj0A~GZq8gcNNh07fTczG0_sVjvgbWKzSlmk^jHBbZ80(C$=@Hns&pub}` dFbEt6UIK=u_2+Q(Yp{C#^TZgu96M%W{{-r=RaXE2 delta 1918 zcmeHI{clrM7(Q=Z;jX>?gl=OS(7K|9tz9?V1``>T;b5-Pgcyx(X4-XZX0&r{298zk zrs$%$tRAvU@MACxL2HEd7#4$(jD&#JWMc3K!!nil5fdZ77$sQ*-_x$ranZlPlRUlW zzVCD1bM86Mc`AL9BfXU~;?TW92&q@$54IPXZBY^uDx->-a;^cpsaEF{oY{ZnF~FoQ z9R1kY7J1}7*SW3F_C8@@#hPEiwA7EO`r2l1r@to@4z)+T6({uLCffaW5tUA8*)LWn@E0bX zs7iG(YNmfpu4PZfOL$;uZYUVAc6ILTh|rOO)%431g0MXpXi5dXTj`>8MWwWE<-Jfr zZEtSRBHuh>qf%b}!U5f7cG`Np70FY_TW+f^m8`o}`TLLT^qu%KNQ4g>=&4F)R%Khf z;TAD?&#Nht#H&%`gq|5c^rsfij1%vtIv6!k*ZC4^UF%|3%Ip3KvfnB{12$5X<>~mr&Tdu-FR!UJ>27O4tG4=7U&5#_k==`aOX}}`<@Qv37_oODR#Mv3DN5+ zdfgl}7F~6N8&$Kc@SD$P3||4Y4Y=thN!(X7FSRc)=|JglVsyOhqAU_}0AuwSm?+v}WdJgO!{KVKJf`fM&q(gA5n^$^B*spNtjAzoZ+ zX4++IX3c&bAtJ^&*Q<(oW)p*zxlca+)0q0_H_nyqni&$mw*KHFgx52|>4D3`Yc2?f zt@h+lZ}+A9)62kkg|I$;cD3muc>69pa&M$R+X!=kmQddQrkCiMfO}o*5i`!kUVkkt zvf!Z&B3JAG(#=RWu4S7qJeSd~tU5M!wXimGczpNyNpcYl<7shG^=?k@J{L#9wzPQW zoN4i#dNk(Av+y&`Zv33RbXdPTal@>M`81;{5GL&c%z!1b<3H|%Jg9+cdTE74O@inl z6P|V$6~PW|@+uLgi*X&~WyE=enyXT2oC@o!S>SKnUejKfJ(jy(>GFfF3ivm-9+Q{r z!L7KmDN`;~hPemlm!lh$w|900!sQAxr)a$LHp87fS*8ZaSCsT@`F(MEhXwp_Eq1#R zxd;tn5#rPNK0XNET5>l+K$sAG=nfnwvI@;K#C*0yTE3n52krx{AC_F+mwJcQt$@d6@>*p1+mbN%2QC0h}w5YmWvSdNS<;wvox diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.inc b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.inc new file mode 100644 index 00000000..bca3cd64 --- /dev/null +++ b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.inc @@ -0,0 +1,446 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// COLOR 0 xyzw 0 NONE float xyzw +// COLOR 1 xyzw 1 NONE float xyzw +// SV_Position 0 xyzw 2 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[26], immediateIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_output o0.xyzw +dcl_output o1.xyzw +dcl_output_siv o2.xyzw, position +dcl_temps 6 +mad r0.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +dp3 r1.x, r0.xyzx, cb0[19].xyzx +dp3 r1.y, r0.xyzx, cb0[20].xyzx +dp3 r1.z, r0.xyzx, cb0[21].xyzx +dp3 r0.x, r1.xyzx, r1.xyzx +rsq r0.x, r0.x +mul r0.xyz, r0.xxxx, r1.xyzx +dp3 r1.x, -cb0[3].xyzx, r0.xyzx +dp3 r1.y, -cb0[4].xyzx, r0.xyzx +dp3 r1.z, -cb0[5].xyzx, r0.xyzx +ge r2.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +and r2.xyz, r2.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) +mul r3.xyz, r1.xyzx, r2.xyzx +mul r4.xyz, r3.yyyy, cb0[7].xyzx +mad r3.xyw, r3.xxxx, cb0[6].xyxz, r4.xyxz +mad r3.xyz, r3.zzzz, cb0[8].xyzx, r3.xywx +mad o0.xyz, r3.xyzx, cb0[0].xyzx, cb0[1].xyzx +mov o0.w, cb0[0].w +dp4 r3.x, v0.xyzw, cb0[15].xyzw +dp4 r3.y, v0.xyzw, cb0[16].xyzw +dp4 r3.z, v0.xyzw, cb0[17].xyzw +add r3.xyz, -r3.xyzx, cb0[12].xyzx +dp3 r0.w, r3.xyzx, r3.xyzx +rsq r0.w, r0.w +mad r4.xyz, r3.xyzx, r0.wwww, -cb0[3].xyzx +dp3 r1.w, r4.xyzx, r4.xyzx +rsq r1.w, r1.w +mul r4.xyz, r1.wwww, r4.xyzx +dp3 r4.x, r4.xyzx, r0.xyzx +mad r5.xyz, r3.xyzx, r0.wwww, -cb0[4].xyzx +mad r3.xyz, r3.xyzx, r0.wwww, -cb0[5].xyzx +dp3 r0.w, r5.xyzx, r5.xyzx +rsq r0.w, r0.w +mul r5.xyz, r0.wwww, r5.xyzx +dp3 r4.y, r5.xyzx, r0.xyzx +dp3 r0.w, r3.xyzx, r3.xyzx +rsq r0.w, r0.w +mul r3.xyz, r0.wwww, r3.xyzx +dp3 r4.z, r3.xyzx, r0.xyzx +max r0.xyz, r4.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +mul r0.xyz, r2.xyzx, r0.xyzx +log r0.xyz, r0.xyzx +mul r0.xyz, r0.xyzx, cb0[2].wwww +exp r0.xyz, r0.xyzx +mul r0.xyz, r1.xyzx, r0.xyzx +mul r1.xyz, r0.yyyy, cb0[10].xyzx +mad r0.xyw, r0.xxxx, cb0[9].xyxz, r1.xyxz +mad r0.xyz, r0.zzzz, cb0[11].xyzx, r0.xywx +mul o1.xyz, r0.xyzx, cb0[2].xyzx +dp4_sat o1.w, v0.xyzw, cb0[14].xyzw +dp4 o2.x, v0.xyzw, cb0[22].xyzw +dp4 o2.y, v0.xyzw, cb0[23].xyzw +dp4 o2.z, v0.xyzw, cb0[24].xyzw +dp4 o2.w, v0.xyzw, cb0[25].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BasicEffect_VSBasicVertexLightingBn[] = +{ + 68, 88, 66, 67, 200, 183, + 37, 62, 173, 71, 44, 6, + 138, 168, 34, 168, 14, 249, + 48, 84, 1, 0, 0, 0, + 80, 8, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 132, 0, 0, 0, 240, 0, + 0, 0, 28, 8, 0, 0, + 73, 83, 71, 78, 76, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 171, + 79, 83, 71, 78, 100, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 80, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 86, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 171, 171, + 83, 72, 69, 88, 36, 7, + 0, 0, 80, 0, 1, 0, + 201, 1, 0, 0, 106, 8, + 0, 1, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 26, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 0, 0, 0, 0, + 95, 0, 0, 3, 114, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 1, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 104, 0, + 0, 2, 6, 0, 0, 0, + 50, 0, 0, 15, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 0, 0, + 16, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 19, 0, + 0, 0, 16, 0, 0, 8, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 20, 0, 0, 0, 16, 0, + 0, 8, 66, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 21, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 68, 0, + 0, 5, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 66, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 29, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 4, 0, 0, 0, 86, 5, + 16, 0, 3, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 50, 0, 0, 10, 178, 0, + 16, 0, 3, 0, 0, 0, + 6, 0, 16, 0, 3, 0, + 0, 0, 70, 136, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 70, 8, 16, 0, + 4, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 3, 0, 0, 0, 166, 10, + 16, 0, 3, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 70, 3, 16, 0, 3, 0, + 0, 0, 50, 0, 0, 11, + 114, 32, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, + 3, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 17, 0, 0, 8, 34, 0, + 16, 0, 3, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 17, 0, 0, 8, + 66, 0, 16, 0, 3, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, + 0, 9, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 3, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 5, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 52, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 47, 0, 0, 5, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 143, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 1, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 50, 0, 0, 10, 178, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 136, 32, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 70, 8, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 70, 3, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 32, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 22, 0, + 0, 0, 17, 0, 0, 8, + 34, 32, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 23, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, + 2, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 24, 0, 0, 0, + 17, 0, 0, 8, 130, 32, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 25, 0, + 0, 0, 62, 0, 0, 1, + 82, 84, 83, 48, 44, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 29, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 36, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0 +}; diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..1adb094f1445ddb4059b98f463f6e5c41337480e GIT binary patch literal 73216 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 literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTx.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTx.pdb index a206f6d6f0570ea1ae0ebb783d1da15da80fb283..18aeff4d7e07f9c2d6fa8ec21cd243a93eadc5b6 100644 GIT binary patch delta 3557 zcmeH}eN0tl9LIm>ctM1F;7Tg5=7B&j3Rf=RD8LsGO%3rbU$E^~8eqNx!c|GJONm-J z2KcaW^ZF8$nbibN<=SY@)yk>!WxDDQ=cr}N#neAsvqsqOx%Z3F8b|BjdbaQVobU7e zp5J-yx#vE=r`~6&@3A!7wI(7eQ~8729wQ<6tkSL8R3pN2Tj>tASfcB)?vyAzcFFaP zmV4&K;t$q;`T54UI5Ofx`;_>mwLCOC$Gx9cd-bN$btUe?@|ty?$|`Z#Y8QFG zM?_O;j(d|opi~BIahD-r<~_UEX^n^)K0$Vr+1v{QW^?VLSPL_q->8L69OmBc!puUa zQ+HKYt}QS1)O3fpj}{$oIm97fxLQyl>i0Xuk)Lgm1#4E;EYGlSUQ^*HuB_g$a(#-p zG%ib2>2XShXx7t>rU|PQOti^~`N`=IoM<%bAM>PrQ-mwQKWRlm#sepbS&uCejWQ<5l5d_#pT!pUe83imK6yy z!T5(?hjwhy{RD&0BI%)17)|fjTE&K3(dEiey7PXCp0;XztWPT=DKCVhkekgmXkbO#=!G5li51%UK8JV;C6L0SzDQmYpotpQReJV;-_gVYNT zQa?OMc1vJEAT5ChsR|w>Zv#3&It&j|4?IZU!h_TY4^jxfq4J4QJV>4JAf1B;sSh5cF~RtW0;D|n0QvWKqXVQm_Sg9vfYgj}kUHT(x(E-_ZFrDu zBLn$B3ZiEyj+O^#e7JjYh;cXanDzg9>py7xm+S3~q<>#y?*%~ZUvQO3vS#e~UlO@j9l7F}TrZwo#^Q|o2!yF;~ z=U*<+V&QL@T?O-$z5PjwPbBwWo>a`Ke5@Z?PEK!@fDh0nH^?>_^PhjG{ylfA!>J5+ zs{dMyA4oSlQONVUXdW;>S6>*2HO(>p-Z+!-nI>a)(Z~<<qU8 zXT8jt)i!;Ea&}G*U*@v%SkqbgtOC|-Rv~K+YcA_a);yN{9#66AS+B5OWi@m;JCvZ; R`Ra`mql1-OBU@b7KL8f91V8`) delta 2790 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 PZ3=8tV4DKhkpll8iL7*= literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVc.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVc.pdb index c770d9d78bea6590073398ab3bd2d745c023af91..8d4341537c90e3c8e7f0f9b8b76dfd3283b3c67e 100644 GIT binary patch delta 3581 zcmeH}ZBSHI7{{NpE{d=VD~<9Z=7m5P#dR0fp#T$beNBNWU-&?U0gkU=uo5A*TW)14 z1A4N>B5<%NbZks+<}{OI&N#&+X};8_rkJK_bjFkqPU8oL`k&ngqiMKWU+c{L_jms1 zJmL#GwHGBLD4(jY))u)-&rfrcdI*7wGAPm)KDIAm96jH#$b`rmcP_kXp;6>VHsUzTNW*jVEzuC3d; zZcB!|JjE@yX;VdwY}1^2>-6=42inxY!gS|-2kLFwDGYjhwk%Bv4XQ}Vy6+%a@JNYt z9GW9bJLBYS_k;tEY&p=Cq@PWlcrTZEO(mvqF4g@Y**f$=`}0D|gc-6n(<(21FgbkV zn)ErW($*6*c9M8`>!?+BWjuz55PNK~ex_&WFNwnQC`?cNN2&DKW6zr8)ua^6XNHxYdNxiwFoEX@+V`M)L1Tfe1toi|(Kmw;VkhBa!3 zHA>U8x@zzCx*9FZ;asoH(i*innhRCE=E^4~Syey1yDV9ruq4WUtHtOwbsKyjcDcf9 zH5zQ!Tf7nDY*T-73MW3~L;Xu^^5H8&p4;P;1&tQpxpC^#Cn|;PkP7r(ZaJEpMWjCb z67B=;m7A!I#OAMkW?9o@qE57_Sk*VWBw}$HiQU`RiRA}CfFvV{Z)~0NUZOgS^nR7Lr0GP^3HoB?ceXV z$)?`r`wNp+sy(C%lGyELKaC|DC1)Pd5ZbWBg*L%ZBYxDzHL_8uHnn2}pib1)CTH7U zc(;4d67lC@S8d~C9414DVeHg$BCoN79&*$^b6!ddZPq5O&eSw z$Dl8C6rTI{+;2KuVyq+ncL%2lr{U2;9o`SN3F9+14(UmTS%TAqm|_&Mz^KzMTfElb zSs^TouE*jTqNGBRP!xm(h;~2|Ayu#fQU)G#G&l*ufJbvja~o`K*TvzVQ}8(nWePe99|*P+)SKcr^xIJ6+xViqS- z8c}@_YJ$|nnxUQ0OAuCEDhSSx5Equ^qM8TgL-V0Rs0dmJd7wqmVrU7p6j}zUdszX! c47~#Ff?hr8>JkxqP}_TYQlz*YvA@*v2Wkla-2eap delta 2796 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 literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVc.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVc.pdb index 0586e425fba9a0ebd91bb302008ff4af0df4c91c..8b42a7e56eade5cb0b7f9d13515b12f26f0f44c8 100644 GIT binary patch delta 3597 zcmeH}ZA?>F7{{Mei}G?W6rzZT^MX_hLTv%V1~?0%Q>WN$Q%r^v$4gXR%AhcYy4DR8 zb&Tqfb#qJ%E}I$`h3jz3wir!}Y#5zNmVGdrSr#)BrhG7qiN@_Yy$_6K;p+BvyUD-5 z`#bkPpx}rrJ>q{yMi}K6rD%`Fben_(L zoZlm2pd_oPJ`hkM0$wdD)dKtr8ME*fDPrpQ88WBp4eq$i^afjafgGlrfVatEv&Z@N zqWtuHyIpbCx;B@Uxa)euyCeDG!&csPFx-$=&AlI3`A5H+qVhIvs9T$6Y1mY4EpXLV zZKzD*SE4g`jWV58bDv^U+h>+D8fX#&bIrC#4pe>0r#R@qT<(ky3@VOKd*mSQn6-*q z-%I7rgHilW#-x4Lbbg~NRy~stGMdY{rUa*OHX-A2vURG%mRA_(F|)ZVMdp`2o}&G5 zg?p?rHysHdKgm>n`>4#jlAgjvh&Z-H{p!erza-M;k!w!)N2%0^W9tq4T5LSdXSSG2 zalA+{}!|72q}e384qo@L@sTxC3Ww~ad*CC}Lj;?)OmqAVy8=)Tf+G%F22y!flA z4>5WT;oV4VPT@<-nx+68#5NHt`o><&(OK%`Qkm_ zXcINDzU_l=CtnCYpd=2oHq>0n*2bFH#W~^E9k&ga2OA!m8w%ciS(~hh-7j0`if&oa z%)cnJJz0Dx3g^YEnzKFU0K7FgEhP9fdWmq7JQ2PnPYf)T7%!Ggj2G)IJQ3o^6Tv~A z2&D`>fdP0ENYF|FL^w&F2;Y+@!d>!2m~7A{K!hCf#K2!6CMf=vgdy@oknrIod@J$apTBX2-sO99W0#9lMQmr>2{3n^*n|Nx=L0;z zHryQp$6}xnKg3Zsa&(C{aoUJeNF04bz}v&`cMnTJe-^*uSRbdj3>3$Ba`TlB(tGlj zvV9K|StmC?yf&u*lXaqQqU@MlF9BB9I$w~f(-$a>=lwnReyg30SMqY46|i}1X=`w6NkNQ zZW2RC@sQnwOmS>KENnQ&ootHHU}9iGvQ05D86j#=V?x9qh`|t@&*^>G7*+oQZ}RkW zzR!8ib8pW*_dG}bL@%Gw`)wg_0l;1z{#-j0#d=v+S^AL9tWz!ed8Xbq81ykCC+|GZ zu-`s5n93C3jAF-Lg{| zwJ@8~VPclq1E-@)6d)$zz&%*0_ zW4YWPrv4IdXF{lQe^#J@-U$BZN88nx1`>tC8sha-#n;vxscz!_n63QQMx$}Rr>ZpI z_-<1w&x=jwd7HMd44&}r{uRM@`x3Yu75(6V`jjMId7%=6M=w;Y$}T7Fyr22|;Uxav zz{?oOJ}Bmcnf4W#69$U!2YMcRI}jv`Y}~AxRP&%K@ZhRh?GH52YvHM5i9CLLs(L3a z@19frHS-2j{X6zZLxsP`@SZ;+)sl)~T~}FNUu9fUV}q-_vHFm^s-dyG!Ru{mtT_^x z{8jJI#xEZW51QpH)!4eI}XMeevK=y@sFP`8=g= zx?TDvezpui1+C`rEs-$3TCE@$rkFZMBRuXUmi=6?6{Dt%|=`w@6AUe~e9_aT5>j~S8R*C-QVkTel)ktV_%X<}g3L_RTlB43CTRc>=13DkdPut=5mHDKp^P*UYDp78_K`!@2$x6`VVpD(rb!cFku(vkdYS=^ zkWZQjwWNvQYbOU0&X6X;b<#wbB29$fNE1PiAB1=XM2II%gj~`@AGpau1er7ux=9n^ zDrq8&lP1C}X(H$!rU%jpDWo-e0iGcT5t>L7p_?=ju97Cg6lo$XkS2n44Zz1ZBLS)w z|9pt*>B*Huh4{Z*ESHOmVQRsRSC;FAqC3|+yFLd$$iO9bJh6LZ6>JSSG){F>=jw zF7RNzzT$AR(pc>-CLVatZ@)C~4- z2c=$RgPElV)yTkkXnn9-9DkzIu>7VSuBokRO#8>vjW9JT-f3= z;=d0=)}w`>g`(j%0H0DD0r*kEqi9An3z`^u0LMvcM(9mEA10i(GUH}Zz5TeO`H<%^ zLR@|qfGG8%Dz`)eoK@^rmYgMHR~uR}+LLIwk;5BkN72O1#p1!D2)Hz$1nnubQl-_( zF0)+48ObJg??%rav^=zYGzZ!fXyV0+wNr#99&<0+YiKQKucNi19lPQfVTR+_I&sYs K!{!ZLWzydSBi#7_ diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.inc b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.inc new file mode 100644 index 00000000..6386195a --- /dev/null +++ b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.inc @@ -0,0 +1,462 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// COLOR 0 xyzw 2 NONE float xyzw +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// COLOR 0 xyzw 0 NONE float xyzw +// COLOR 1 xyzw 1 NONE float xyzw +// SV_Position 0 xyzw 2 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[26], immediateIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_input v2.xyzw +dcl_output o0.xyzw +dcl_output o1.xyzw +dcl_output_siv o2.xyzw, position +dcl_temps 6 +mad r0.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +dp3 r1.x, r0.xyzx, cb0[19].xyzx +dp3 r1.y, r0.xyzx, cb0[20].xyzx +dp3 r1.z, r0.xyzx, cb0[21].xyzx +dp3 r0.x, r1.xyzx, r1.xyzx +rsq r0.x, r0.x +mul r0.xyz, r0.xxxx, r1.xyzx +dp3 r1.x, -cb0[3].xyzx, r0.xyzx +dp3 r1.y, -cb0[4].xyzx, r0.xyzx +dp3 r1.z, -cb0[5].xyzx, r0.xyzx +ge r2.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +and r2.xyz, r2.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) +mul r3.xyz, r1.xyzx, r2.xyzx +mul r4.xyz, r3.yyyy, cb0[7].xyzx +mad r3.xyw, r3.xxxx, cb0[6].xyxz, r4.xyxz +mad r3.xyz, r3.zzzz, cb0[8].xyzx, r3.xywx +mad r3.xyz, r3.xyzx, cb0[0].xyzx, cb0[1].xyzx +mul o0.xyz, r3.xyzx, v2.xyzx +mul o0.w, v2.w, cb0[0].w +dp4 r3.x, v0.xyzw, cb0[15].xyzw +dp4 r3.y, v0.xyzw, cb0[16].xyzw +dp4 r3.z, v0.xyzw, cb0[17].xyzw +add r3.xyz, -r3.xyzx, cb0[12].xyzx +dp3 r0.w, r3.xyzx, r3.xyzx +rsq r0.w, r0.w +mad r4.xyz, r3.xyzx, r0.wwww, -cb0[3].xyzx +dp3 r1.w, r4.xyzx, r4.xyzx +rsq r1.w, r1.w +mul r4.xyz, r1.wwww, r4.xyzx +dp3 r4.x, r4.xyzx, r0.xyzx +mad r5.xyz, r3.xyzx, r0.wwww, -cb0[4].xyzx +mad r3.xyz, r3.xyzx, r0.wwww, -cb0[5].xyzx +dp3 r0.w, r5.xyzx, r5.xyzx +rsq r0.w, r0.w +mul r5.xyz, r0.wwww, r5.xyzx +dp3 r4.y, r5.xyzx, r0.xyzx +dp3 r0.w, r3.xyzx, r3.xyzx +rsq r0.w, r0.w +mul r3.xyz, r0.wwww, r3.xyzx +dp3 r4.z, r3.xyzx, r0.xyzx +max r0.xyz, r4.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +mul r0.xyz, r2.xyzx, r0.xyzx +log r0.xyz, r0.xyzx +mul r0.xyz, r0.xyzx, cb0[2].wwww +exp r0.xyz, r0.xyzx +mul r0.xyz, r1.xyzx, r0.xyzx +mul r1.xyz, r0.yyyy, cb0[10].xyzx +mad r0.xyw, r0.xxxx, cb0[9].xyxz, r1.xyxz +mad r0.xyz, r0.zzzz, cb0[11].xyzx, r0.xywx +mul o1.xyz, r0.xyzx, cb0[2].xyzx +dp4_sat o1.w, v0.xyzw, cb0[14].xyzw +dp4 o2.x, v0.xyzw, cb0[22].xyzw +dp4 o2.y, v0.xyzw, cb0[23].xyzw +dp4 o2.z, v0.xyzw, cb0[24].xyzw +dp4 o2.w, v0.xyzw, cb0[25].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE BasicEffect_VSBasicVertexLightingVcBn[] = +{ + 68, 88, 66, 67, 191, 181, + 184, 144, 253, 80, 148, 110, + 137, 247, 56, 197, 19, 46, + 239, 61, 1, 0, 0, 0, + 160, 8, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 164, 0, 0, 0, 16, 1, + 0, 0, 108, 8, 0, 0, + 73, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 99, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 67, + 79, 76, 79, 82, 0, 171, + 171, 171, 79, 83, 71, 78, + 100, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 80, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 86, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 171, 171, 83, 72, 69, 88, + 84, 7, 0, 0, 80, 0, + 1, 0, 213, 1, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 26, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 6, 0, + 0, 0, 50, 0, 0, 15, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 0, 0, 16, 0, 0, 8, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 16, 0, + 0, 8, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 20, 0, 0, 0, + 16, 0, 0, 8, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 21, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 68, 0, 0, 5, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 9, 34, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 9, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 29, 0, 0, 10, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 4, 0, 0, 0, + 86, 5, 16, 0, 3, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 50, 0, 0, 10, + 178, 0, 16, 0, 3, 0, + 0, 0, 6, 0, 16, 0, + 3, 0, 0, 0, 70, 136, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 70, 8, + 16, 0, 4, 0, 0, 0, + 50, 0, 0, 10, 114, 0, + 16, 0, 3, 0, 0, 0, + 166, 10, 16, 0, 3, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 70, 3, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 18, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 8, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 16, + 16, 0, 2, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 18, 0, + 16, 0, 3, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 17, 0, 0, 8, + 34, 0, 16, 0, 3, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 17, 0, + 0, 8, 66, 0, 16, 0, + 3, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 0, 0, 0, 9, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 11, 114, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 4, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 50, 0, 0, 11, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 5, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 16, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 16, 0, 0, 7, + 66, 0, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 52, 0, 0, 10, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 47, 0, 0, 5, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 246, 143, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 25, 0, 0, 5, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 1, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 50, 0, 0, 10, + 178, 0, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 136, + 32, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 70, 8, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 10, 114, 0, + 16, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 70, 3, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 32, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 17, 32, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, + 2, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 82, 84, 83, 48, + 44, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 24, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, + 29, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 36, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 +}; diff --git a/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.pdb b/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..afed2405e130bb9a4ba5ba20a874dd8abb9f5047 GIT binary patch literal 73216 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 QCEn$fq{Ow&pFWrLH|QtB5dZ)H delta 1730 zcmc&!eN0nV6hHSpgtoj_ECwj9v_-&_iKHDeCXz)G!OT!cRDw$y3~5X0Y~O=NVbe@y z8Ja9Jb8uZoHsgetj0H9_UgF|{QIkcDE^5qTu$^@ynTd(}Cd>R|x^v6JJ=*N=o#gk< zJ?H%H$Ghj;Gx!ZZILp815@i5bAoxL%)Y9y0WQG$tGN=;ncQTWmm1UhhoM>l+kXy|E zO*z_ps_oqEHy?nY+Ds3L<=id|ZK?Np!+u5Xle=Ox@6Kis0`PVX1n%deWMkO?w=Zlsi&xl%=3E5)O68 zsK?%5cv%XzqzvL%O&>Yd7`r+neZeZHr;@I;+e}Z%RrK?rEqP1qW+m7s1tV0OloM0> z*&Ov3=T}7SD1Rq+#{H*N{c>uGqk&Mzc#DnRjN9pngphtAuHw}0VJVcl0sYTXylGVo z|H0Aw`I7mWc{g!m=9=4-Yv1KjbL7QCM|hTJfIaATp=OkU^~r5xD*&A6^J+21S(3Xr zSmHLccf7Q}0N_LPF)oYgWe@i+xA@s)zF!2eqc62C2km+;Y)5Np;e$JR7x)qYR%ndO zVtPsH4t!v|>dFTKz)9`ENiy7+oRO~ct73;Ay%p>%dwi829UHxH_GdgO{h_z0nEl#H za>irWIC;L(a)o&Jf9o*cD>lTvq>88cJ_dTkME1dJ~A>_ zP9n5o&dYK0G&UErwcs|#5Z4iAJkPQ7W~m%9PUFH5hg@7 z;<7eI1^Dp6g2+LvK^PD|oF}Lr(+x7*Y8^=$D#|f0-=p(2)U8Nhvat<-br<$(SxXqB z>yzs$_F^Q$qKH=!VT2#Swyi;IKy0G>k{^>=T6%A~_Ib4H5HBFu5wK(+fCwVG5Z#Cn MLN8I37@m-S0L3NLa{vGU diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.pdb index b6e076dae06328ca24c7fbd55b1724b68656efbd..c9a691bf0bffa7f49927027ff79733dcc1425c7e 100644 GIT binary patch delta 2338 zcmeHIZA@Eb6h8NsuYTOFY+xy$w`_G~V^F@vESaHfvgsVb7z4zH3`^^P(qb=k#94ui zAN-n@v$&ZoA(>lZjLVR#Mlx}mMu&>qL`ab6Mocu3EN)R_bS|6ch1;w@%8iMCJ;~Ga zo_o%D?%Vsm=bXV0HG?ynSM7oX0Dp4yLlTs&DPM9EyufoHbNsK|L`qUp*2|T@H?e@J zS=VIhp`U8cb8p|d8_JR8T-{AB_vt2b?Q*)Gk-Qn`m+bebT27AzAaG5<$ zci)Q7!+eL_?TT-F&W=Y7S?0BK?fB9+>s0cqRdWvrdX-!|jtTmVMDHFoirFVV&_G1T zL*zXkG8Qy&$*KX@BoB)yJB>jtZfrH<`N%rFXug82mkQ+rhnJIc!X1H&0j3~ z+WeBYSga_j5p)qjhf!N0Hi{O$E`Y|NY+Ux3GV40pq~>z_gDe({)&hGn$?SB$LoSY^+0>(4XPKS)hDRs z%VWOZcvH>~4$eWheIzw29rI^7w01eLw$q@!&9e#txQ9cX8wSQ{)yypRC{DIgl$~rw z6FF5pecS-BM06~c`Qqi{xLC`U>+3xNK$xDfSmukD*N7v=`*Zh0&dW>508c8!%o#5& zWW<8galYtgJ^%}0#4S>08Z4Q|C&G$g}QkO}pq_do{hU|JsNImh!Ce?*7$FjLJdN* zGf`)WFVF3IdHj_Z{#$V#=im71t!zGA9d%{zXZM!fS)&G^X(zy~#{vGf($SO9fdadd zF=2HOs|ogu-8goISxvEeGDTgL6Q6N9j?ItNvQN~fV{PHlYew96t?Hfnz1-;RChj!a zX7|$@uy?k9Gn-9k2)77Mdd1p2wW_Uy&7rk(?MSnxJfZ(sNg21+{JepAa}KqR#Kt4O zKBqRu>QwV-#1)oGAy28V!|#4a3m_XHMONJt}$kl!Ge>BhOyg*4lxHZ zu+{1(PdC9y=pu9yY6xr(m4qscER1PAv}z}8$GmUPl~vHHn!uPJA+Y^;2|mK}gbu<% ULQDcOw|HM8n-*_tqK&4100L~cN&o-= delta 1698 zcmc&!ZERCz6h80mzS`b)Uv%wex3kyE+ zsz6LM!R{r2m<1g12MNQ)UKPRl^~1Of<5$SC#nKoP{b7tBftU~#eBN@0O&flDlBZA4 zInRAR?m71)ztAOTb+36$3K9Lz@B@peuCmK4Et#aWbd9CUN=j_AN51P7+0%bCzAzK@ zZvCir`kS94HHTEY;TKl@;ZCGBcl7my2I9(yGMM0s$-}$ldO6V17r7I3A^7T|O)gUY zC07#K#4?@XzSqq;o{BL49j)-oA(9U0zRK}Z(Nx$I~zV|AR04BH1@7U zC(J~jx^(2fDAC+@wZp9F`L~CDEZrB1wr*2T*^Fg;uj3q-j=J?qH0TV6hK3W|*VI|@ zSTxw3bC{!n-*Bwd5AF_+1Y4ZG)x4_7Znz_E;cp$@T)C{?5)Y0(y)TQguHYC3H zHt)b=XIkb?$V8{K17}&vpG`;i=xP&3ZoCxSz3S$??&Q?TPcHt7gYvPMwO(AUioNHn z*m&;a)zx#X=in8O{w7x7=VMmZ#6OE|8h@WC`7*Wy(>uTg_!`sqny)ea4gV7I8j~CA z3twY;1pX|1jj2!bHKtP9P8Qk%?xGd6L9jX=pONsUxOenkK~LpKO^zOx_)d#OjnsCQ z{EzK<%%GMZkLCK)e!nP=sI=$;(E*|mqCk#y_@X*)carF^r@N4Zz3E8#>s)W(31OnV z`6l`UVya5{=hO4dU`ad?y4~7^^Fq#VeE#B<^*p(-;_ZjRY+}L9!n}E*N6Hv^Vqw3% z8|xhdz68uzyl^GVsJo1#0%cp#*XP)w9B=ipyA8&(ym8T6G_o-MRuu-@`9F)s!k~wD zE!7nVCzq_nK~u=YZ!O6WUpM2Huxeb?2tEMl0RvD5e6IZmq0^uP%7K+Y1t7XoR(*!A zSn6@xM5dzIjfzYn_#Aix1j05xNhF4e_(;VBnBr?QYnt~U^Nh#>Az&Cl1LU@C13v(4 n;s-LP**fmJI^$Xoza0>(iX#jF0U!tr0fQ-jEeoqGdrS8(v6#rU diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLighting.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLighting.pdb index af45e9919dd53fe81a40289b9831d4fc1ec3c390..ab6f92fe2e7a7d8e8b03e135a49c5cf1de32e7cd 100644 GIT binary patch delta 2749 zcmeHJdrVVT82|2VVQpz^VQP7Ei&P6%C=VaO=m5pN(6EgKjm*eO8ojTmpTePh}3{^QeeX@N#}{;n2JbG^$d zIqO|shgB-h-K^8J>oly_oXx7G6tTk1^e0osDknrLhfA?tCr#`|zn*2}uEL?IR5uq3j~Zv-Am&~(c2cPd4#$~@7F^^bi zYca}#H+Y%$LF?#QEkFp%@mTI#XkRRdP05=~vg-f>c#p?&-$FZsHKKKYZeCe>JroB} zMTNO@q3uBt4Nhd==FVgS@DN^jPjC6%plepO_jJl%m-f7xa`j8~pWDaBLrMTXCxdYD z*q!dY>#Flo&e(}S>+Q{v#~6h1HTsFNU&UK@0`um;uKu?p^D+o?j<;G?9=kq){s5@C2ini!P$!TAh{!AhDKYEVB$KQRVIG%*aJeu92t z_>43$$X$nzia1H8Y+KFA8Ya1>Z8%PzPWoK=e+yl#`!8&v8xrKPW zVqjx$dFoEyTX|}Tl^kxHN4I69>IH_p|`wb z@N2E+ncY6pq8Hm#qb(d;FnfKX@RRaNp>Hxr7-HthoqTopCOg;glf(tYLqsV)YUw&< zG21*pG%THKVR$ged&Yk{zff4}lyjG5glw^P4St4U=R&d08Wl0~@f?y};Pu!GoQ*Dr zx4<6bxYT;j7`qg{-O+p6%1{=*LNpB`9?^wRBe>zV0Y&(B6Oa=T&mn$9@YrmG3ULDc zTDed&Ec8vO%zN@EFpn4?4`S8+@mvh2D DvEm*% delta 2170 zcmc&#ZA_b06h80U0xh(KvcQ-tP*^c#>sTuyA43$Ko0>8ayAWpu2^6T77TONo0s}Wj zNL)7HY9y23Ap9_H@q;&+n_{fLwhTWPewc`aR3Mnl&n+ekar4~1hox!VZ*TJSxz9Q0 z-h1A@?>V=BLD9dU7`CWYB1A?|%1fLRW<;GREJ=d+r!bSKRA$Yd__1C<|Bbq9#{&9+ z$A-qgF59&#UX%>U*9HCO4s`9QaMrk+{l0*&HON9go0(m+MblE@?6_;p)0)}Ist|WB3y+!+_iL8`F)|q>biNhwf&+9UJ+->ba zX3MEmJ>zxRBSOf%kKM}6SGP8K0xpZuR>;zF49RzcE$o9+dr~)|_xfD{ugk+|QBu%< zh_8`;H-0Ke4W>6zW~_f_NuOLeFS3@lhAF#&eYc#$##c14|A?9OE@|Wb6-n#9A+ptU zuWoDDDp>KQxepA^Eu=D?r>bvIA;08CG@EhCL%Me^K0TQLU_@ID+PE)z{Dfj7wz9tA zsUsNxXVAuDxi5M&;zzU*yJh=gdb1WF2W^pkMW~OCh5e{Df{)g9-Be@)@UwX^_eGDz zsDyi`ELYyv08CKAi^53t;*9q%)eFHBw~o7-w%xv}7@HgmUHVN_F*r~!V?xBxPnsB}QLmz(7%q|~25I2%QBkZt z$doCf*&Cywddk?PF6v$%o}UV_ns*DwY{+DP@)sd-IKQ;W+VaMt;J!ROp<|J{Il zmvrpp(k`Z7*rfDgEBv^+RTvGM1P?0+*XSNU7`;7vwkU(W6>c=x(Rv#34MK+p#@!Tl z%{{JRqp%Y_U5F~g!w4V3i)csiql*y_A|7SEYwrpr ztl*aqOCCa9iYP;rBk&Uf?4wYL;AuUAa3fwuyn^UJcqBo!E+qJI8o=otK}u8oA^(ij G8vX@W*gXmW diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb index a87bdcd663b58ced26238bed1b279f1efe41d373..53bc8ec7f294ae0c310a492f0ca4afeea9d85249 100644 GIT binary patch delta 2859 zcmeHJYfPI}7=FL6fV8w7w^_<%d}UV3)#;o!!OBP`o_d|4SbBo45$SO=wf}+uwcnSKR_HEW5(3tqwlRP}< zIq#*1?>pc79{;SuzoIx{(hLAVx`=;p9FYwPSA+>sD+(YB;?KfFLR?(Nb7jBQ3uw(3 zhJIM8c&heYuxPt>DnPes#{9=qGqwC7Ntt+T#quiewx+ug(T>S~>> zqNy)rvvJ#zrZ%z#=1uGsb%t)^SQC5sn@us|%VWm2Xp&;Yn%KA|DSf@)9@QSmx-=<5 zpBBJ+Q2_C*2+z-p(1!Er$3?kYTcKoIn|17imo~AFbk|t()jYZ7h2{7xZ@a6ouG`(! z>NHD^R;R~qmP!kDYgETHDmG%wV^&Eo*0`8llr9{QZY{1r7O8|(!&?TGqu@@@JTYUIgL8z8|_(8 z$2<|u4o$3hdED`fn4C3l5iEGzKRb6{3fpp1V1`Z$tLjiIf1;0MjUDeu^9AtKHz3v! z(PKM$nQ(!pId;Z8eNqh&#B|)3+oH$EQNH?ZbE!5BfEU-eFSkXHS20H<@AqAIS9}tT z2iQ-ExiNY)qKG)BurCW%wg7M!p15(O`qqR~rAiyq|8cSLQT^0q3Py*VJ2TYTlJ%O{R{7!(OY-wY5XtPV_u!$Wp?jwU!nm1Q?6T@i%d_2&PlTd<5av+9T(!>ylkCOWngPAljG>|5SLDIx< znlv#?ioS3{EE1s&1j&II{vu5b$%?Q)F_=jc!+z4laELT9jFBdWfR7deVTR916T=E= zVgP)({0R_)M4A}NNE5>W(!}`a!tuo5dxsW?VTLp@d`FrXlJT&ra0A3}KWSoUL9IqR zG4zrqhIlB0bSRCmob^na0v|H79KDxQLx^Pm(ZP6mIrYQ1|I71woh7NdaTnri1ozEDBqCl!yIL+*1%%PXMB_m`5i5wx2;N8dxQ;K0H)7trp54s*&yL0I zMh{wg5mkr>5pKj`L??ppqYSZ=9bX(*w&Sb=v5Og&&IzUL#!_z11E~3Ksu4~^7s7?; bL3GPP;;Inehf}Ydvb?I0rRAVv#A^NryG`GA delta 2214 zcmc(ge@vT27{{M`%a2mt77FsC{Ajxkv`B~4GM80?5^>X|ATbzb(l8e&&{C&{>-(K?V z=e~E(dw1{kz30Z(RbvaP;}-2p03b{FgXMs-Dd#eaNjfPe{l;QBSy|yRfUx;cEBv2K=M`{vh{jE!-&^XfSi~`a!ugb#hmqz0YPd4+s2FU03D)HhfDR zK<5Pp9ZvxqTaus;>#mES_;rpv{>^K@WFPeS8ak9y<@q^$*mRal(V9HJ&u#X41_p!N zW^7hJ<8wRXhM6k(Ez{<_{(at2x7BQ`K{9%0z&+}7dpSLn8w?x} z&nUl|FEXX4W;{RE_(!?&;YaUCyleT`mu`NEX1l_5z(19))9Da7>rm7l1 zd~70E^re=?lm#C?ZJmEZ1~^3vUSyN4i!q-@Qye^c>s9x@EgPS!re~)wUATb@<<+4w zgLt(<_JK{k?1@c75!aWre62VHI2z$sA;Rtym%#bI- zoD@k6IG5;vs}w+lJLHK_h#!(z01>R@iQptpghBE|m?BSva}jDdmmpjrPlR>yM1ZWs z0*GKHPlP7&MCc+<#H~v_PlU)BY9PWF{fjvp3@|9whbScCe!}km9i9;C+AIaujB_+yGadX!Hn4TsyO76@^JU>-EEDonQ z=^_h=3?L4oIH0C&0G~P_o=HT8d43mmVtLy%*;;B8-TkIF@DMyXLQd`?zuny=YpXL)o@U0Z{H z#yV;oC9U~Z`Qf#<*fw5! n{XO;w|L(fUAQtdAYCq~llo#bg4Jl0hC(9niYEaSNxUKpR_qISM diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb index 84aa03b2f6ba9833a9450c73f846914f853ecf2a..57149b0308802ff3989f491ff5f05664f8f03832 100644 GIT binary patch delta 2801 zcmeHJZA?>F7=CXH*p?OxL&}$Mi!>IjP(IWR;>L&5%mE?U79cVLt8D~I!M0Q~>B) zbKj49dhWUJIeoM8zGeBKQF9ys5@q;|=IDb#X+-6N|gj^#V*2E^R_iTUMM@qJ> zNyo0gy_wz6-DXXmZH-@KTGEXpa>s7`29%xlPEwPK2_ z!olKBrLrZ9c1uNTi>toS_#}(RGJU2o#t|&SE@gb2`owDz-OlcHN-Fm|tuBYv{%~CGPSR{tB#l7PCL!Y^p z$nppG3l8bFzEJJ0)%o*&Pu^v-cec2T!YQPBax|*r8kH!DPOH1y=@1L^%r-Gs>=Ad0 z1$fCmo63}84~)t#A552rmWq+hY19$lSl5C&;u~+WX(HuI!?s^#+O&DIV8->l>5sB_ zmT^~L`gSubYf~$KqOV|;^|w9M>%(PTk61;lwH+8`#2dWKiOZ(R^J;(qmgBM9x7Kd1 ziA~9!OR#7FJa~`Ca^G4zhc&`=f9OamnFvG!R8e8>Tx$&|!ol(E>zw5b03N~%H+akM z`|ZCd4-KXK^=ZS4DdS%#|J*k{9f$(p|4A#1_TM|5JE6EJW>1~;bj_589-|eex5v$v z{V2P0&$DXq)LeKi^uM&iBkQZ3NpDsSu}DACOQx%2MA?!(VI?A`fDXOfDD`FLK*%6B;}`L1^8g+nYS^bDwk0 z{e17acVI<1Fs~f8>7N4todQ2t4oD^Gb1baLQiK)PSvXy#GR+MBw3nf4YUY#R8^8JL zhSyv=WgafEN`=}LW}In2*UqX&m!~xt=nk~^@Ro>;@4jNvLt9m&?~b)ZZ{x2mnsh0l ztGaAmQsm~8sQeuPpD*AqZ}00!={CRhUtdb^+akKW#NHd*D%zY*OJ^_;&U#P7FC4y- z*6Z`;`m;-;#o_EIQ=Cdy_-t~fmZ};j#uPDXe z1ZYO54Os;CZdiC^G7Z3jHW&FsOuYPzm3VCR-lm89a{-Q`O~eXcVrjoi zJ%cx2cDJm%eO5U(Id=MsYw|=5?9-PnzP|p9`l!V^ceuCn{8o9fXm_f&ocOBDILlo9 z7j2r`a-Rma>V7JaH&}a!pK?3ye|jPZ7r|Y9TSF=a17kQXWcXO-0b-aXO$<@e#GuAD zqCGL#NfSdoX=3OjO$-wZLa`385}Uv@1rWnLX<|^}zKa2g!A_bO_K_xrL!^mef;2Hq zD?)OI)3O6DQvfmCB25eiJZxeD#9${)47H?*p@TFr93f2%Cqra7DKnfSO$;lfiE(s! z0>oe;O$-}J6GH=OV%$2pJu$eBlYtn%Ax#XwpiajX6T>a?6N44gO!#9go$s&E@P^!6 z$#++^>VLd*hO|<~L|5$6DZEc4p2%X6;Uc?5l8NLqR|0%pB`1!!J)YQwPAqSmM{4p) z#2FDqq;6snxsSnM7^yiM{vk&@Qm-BTQ7u_7&oge16er(loA_AdUOp5p_-MyIHX5}u zFE5R{vR2nVQSZ_7zn63m-pGP@4|>QXEIqtl2X#5e|svSkl|ctFIJ zEbjYBzG3;EvM%%l5f31?AvzHOga;vpu0U)=)bNALZ?Q^Vdi6uLiGP39Tp%W}9q|m} YS%eqiNBAVB{*$G3W3@*zURzcE1KL>x#sB~S diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb index f2117fc8e780aed7b3ca339c06a3512adb6869ab..ee9a0393d09685e9ee749b67c5bb6f49daaec0e0 100644 GIT binary patch delta 2618 zcmeHJYfPI}7=FKxi@jUeX1Vi~Sy#3K<+720Ov>gKbrKSzKx72$TDg?MdK=M9x@1O^ zWsB?(2Z;#_YK%XOtlwgy!bUVvmLYRq{vi~@5+#e%Y%$Rp^gZoc*B|B6#J`^8>2sdG z?|Ht5y@riiN?41OD>iwV z;Zz=5cN(`f^>+K)s;u`$@myvuwq|-`ChU!(_ww#VZBoD&Okt@$;B)!CF3-Pl*2bM< zR;>AynOzw-u)@;qcxx(o_Vf{fF^j|nn>}qw+-r;3!u~X6NYzq&wA3J_zV+*ot*qkA z0l_OTnyYl9Ev88MuQ|Kjp26-wbz%sq;ZnWkMZHFnB%dn~^m(PKa=TmFDGf_yQYCiT zr7Oj<_TUHN)Z+zdiKViv*D21}(5g;x#yj15rSbBl`?hGz|K2XxaXn{G*t1yCR{}Hl z+gW3uPW?0Of(>?}Z_CIuF6%bL1|qrb!YnKP!EKID+2+sb0HSEeb9pSeeUg-$yK_0) zsRsz*e>|7RlH2R(k?{R-;DNf&qZt5)$e0I{TRVzGau)lx^kxwNPvOSxqmGq`XHm6f zEcf>h+n>mt{Z#$i{)L5TI>0nr4VZGdsZm(iVOVPXNxb$=Xu}d}9)Av>f@K9wLWq?H z>qqdZ!{cbipZ;Q;!^AL8ni$qd6N3u<`FLWmktT)~(!?-Kni$RtFcLGsPV5F|D1jK3 zNE1UkzDj;UVz7}WhBnf~aFR4JoF`2TGvY|xa3&srC?ycXAEb%Fm=@0`1{-N&I7FHl zdPoz)7-?ddJ4}Df#TkAeO$rd+alnyq3Z&YOz$ZXO=22I2^*+~|U=vZLgT6^| zJbna}RQP?)3U{x^<*#rme5VYpnv|{ZmCmo~9*q{`>%*o&WFk%?)Ck_Nrb89JSuJuF z;y%Q82%cMlP$6E$xK6IrObch%RF-FP4e-Kr88M7e-mc+9@gt0v{TH_J%3Zd$%i_a` zAMprcFXAX-2+@b&_fdn`%}%UMs(Y~4i`c`=H{KVj+4URwg}4-BchiX6kMJM{5Q7M> QEU0b^83F7Dv3pne3p$$qF8}}l delta 2042 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 QN@V^4FB#@<^Qkt&e}3HML;wH) diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb index 61a3967a0fa6b7280eddb5fe01ad619c54343c9c..7c5f2ae02b04b018e466c28e788e76de95e407b8 100644 GIT binary patch delta 2383 zcmeHIeN0~kt~R8YGh=%IV=eh-H6esWN}1|Q5Tu#wy#;2z>A6hdXnEe z_uTVw?|t{&b9z5i_0FhHnRyWa{$TKfKg|gr3slmyr z+J~p?llGUM-@o!uTkf=!#oc7Go~%dJPFvFf(diSLb{^_+bk;ZRa*CaPZ#U6@S)C3J zTT@R&>7dGIo7!aMNZ3pUwCRSmoy}xHyUwt-f4QP>3$Ib|HIpG;vwpR;2X#W`foy;v z$3pNN3rq^YMWYI8&a<#TO|t2{YO<->K*odX$OXd{(tI&bYB{=;xG~V~DXR7Qx?0_Z zf~(anItzu;{7Rk+@*D}7@<^SK!P-4U*Oy6_9QqCR_Exc>#C+F_+7e@~Imr_VLSD;x zH}kHxQ1JVDRtc%z<8z80r~BVT)ZFh)JLVnK*8W z?X}KmB6kdlLa7k-7OI5Rw|?#I^`y9e595)p7)!LFI>Ttu@9EoJZf~o)~s$l?+Tgd@T>!HPrj(PXZqd1QHs{Y%>b3r#g6m0M1ccs*9(WF-9!zPhDxYsl`NqeR5!` zjHgBvV#XJD>8Vy|}NRj5{qAEw88I z8Aw-m<+1Mpde34+JG}6e)!~g9q zpJCtl{GCiTP#&tu+)LA(rnpW8P+tXbYcIfUBW48>UK!8~juCw}u_r|5Xx7t=r|G&v zCZ{WgKjXN2nohJ-tXA7&r36a>dEyJ}`!&0n!P(8so5VExI4(o{v%OnrLwgHx3t_`` z){axHSZ-+VTHDu5us;>tqd#3_W!7r8H%NBaqEx+TDsZk`Vm}HG)ziq6Gi0201oZxDW9Sg4*UGk`eSd zYb7f;!VJzQn-1ayeSkCL$SY7w=_+291?Ommdu{{f3E4Kk)#ye|7s7__IBG-eAlYBNXD!81If6!h5JC6jM7R*oAlea!5Ha#d%)%X&q+eK8h3fSG E07j(Bt^fc4 delta 1738 zcmc&!ZERCz6h7~5+1l>5Teoa<*!5#{ri?LK1`f8xqzNBtI$RJliFG*F+pXC4j<#Eb zSSev!FcMk!lDH5u*uoDJh#$Rvp%^eRfiOSN)UCtOA4dIUlmue35Ww@cci6P@+mk%^ zyyu+f{krG8C;p8heo--Q*NOmei{J+(C|OHpNs`lYN$xgDmME2mi=#hxvuI=WhJ9Se z`lqIrKI@+UH7-a-%^yVnc`@&*G^hN3Ac{_FUwY;~@6MX2jYVGt`+Q1hv z@ABn^%+^9yOCiI)vQG>K#Za^FwSnTz*ADPC`I~#ZEncV7G8h&obe2__JpeHc2eFSi zcm>B_Sry>Az`=Nx)TR^F^vBnKTQTepHSd(B3}q#B(0q<^V>Y!I5-b6K|3H*FO&zLd zLxMYN5c4X!WUg2HdIJ%m$>Ll?D@;bsLvj;+Z)9uvGJAVih=hayl_!-(!$WM2^q1vx zBK6qbDoZ;4Hb|eIKhIHbf6t8DNUx_&^wa`h_(SY8meLme6iMs9&C%a0L%PR)aS#XQ zY;64S>|#091)e-KreNs>*o$sEYDO7emw9G-1%L&8opOwEmgOc6mbo3>Jx?F31~`d6 z#$~a5*~|UQt!>Oy_Gtl3=*zClL3chEcA~Ys@Eg1K-%->7uo7cr7R#4R-hpE?O;_LH z0jA^wXGp@8NrozwFGfd~jtIT0?_X0)PETIG@MrFz737n{ska-is7_jJvqy&qe`wEL z7X41umUEZZ=&zE_gDJcEes0YQa#wgstQmEW&@TkX=9kY@;w5M>+QMfVMSNT%m7dt2tzzQ_mP=L`tY}!lu)MK+nm6IQ zYs=+=737{B7(_X1PPl67&fp9ttQzu#l@pbDdmmhDPV&MmKJ99Pu4Oho>p(QEvVbjjMp! zQut2m>rON~$)g(RyRN z5}0gx9>9S<_NrOSn5OF%*Ea0K$g3=h@FNBgSOVE?TTpLAw9^BNr^zO2z4^ZN3A9@g ZY*luIK7x$gsX}KB$9cc_y-Am=AHlm diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMap.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMap.pdb index 4a76bb3e88349b5fef1769d4f62f5ae5bcca9bae..55cefb6a1f039be06aec379ee5578579d008754b 100644 GIT binary patch delta 2561 zcmeHJeMnnZ6u<8!+I+mE(Y3~JU$j}HO*MX0i`K1LYuBz7p$wH~qDzxijfu@y#a2|- zGE0jro}%3tSll|;AEQ~`C=78O8_bqEi=%@v;s+LlN?G?s$L4T5SA8^p=-Xh7{j&o< z?#DUjckjFRo^xJrMAjRTycW`AVDv2uB0chS#v3@W?6xTcVe z`3}GS&HHsvlFro&sj5dz>hU^M9VoTFr7>&bP4(5wjtxJ3Qt1SR^-eM=<#OwgoJOZb{#M5Ere(Yk|L)0WF05i<0U z74o!QO2}%|!`Owb@Tq?;&q)<>P$8r4~iisyNc-RJkX_<~%EgU{hR z`Q3azcHxtW3_*S9COdj0RVF^0Sq&$7dmVF})G*bS;h~p<#m$G1CEcmvMZ(YrGBV-=ws4dk+%V$xx zNjbCeHVq*GoTIi>7cE1`A@V+KPbi(3k0IpfIx$s7O9Ku><2d*_`%yX})Pxc@1S{sk z&g(Mf5WMFu;tn#s{jo|JQ6_7ug++HrcH&CXZyz_jm^A*m^4F@#$$2>;^jmez&A$5s zITMPv_#Joq10B<4Ys>4H$(`EB{_og(_X8`&K+V-x*1lKAEZbjpCtNss9>(mJy-nBR z@!NzSye(|cKEjbQ5<~u@wg(rci$`xj9EhC6>}2D@}D zkqPl#158!|VdC)?h+K!ah`^onEli5H?up;>wjanM9S{WgA<%B#wOvthU?+Aqk9t}uQXciDN0-d8l zOaquk8OA@HA?W9Hc zI^r>+6#1oiupmpU^OrTXcoS}G)s@_QX0xA#IY^teNF`+Y8vt+4N|o$NNq;QonR#B1 zEzi;7w0rYx5`P>Wb9!kiJn7qW+`;(_JWdo9A{KETp+r!@j7$pfq}ABQA+{i95Y#pk zp+NMbo)hv_A!cwvVLXACwHM#a4Q#KXmdZW6I9h;c((c-hZv}QQ>@uE4jR)}@0v{OZ zK)4Yt2)d6V#2)Bd7*W28y;F!{Fg&=y6vFfaecC=8)7?CeXhpOkoCp`9U0@WyFfm^2 K`h>W}W!az3^USRP delta 1981 zcmc&#eN0nV6uCw*2noGmQn<8Djd~i}eGe?FGVfF`wDUCHhej6ce zDH1nnhLvRD@Nap89=>Lec*;;9Cw|iz!c1C}0`E3^J$?OQ;wWoUJj1)4sRcHzA$Lsc zmAzfwklSWuEHY2Z934gYq$uZ zlVGD<>XS+*)K7+6S{>7Os}U*#Tk2c}?U!=V9$00_qk99l*mVfe*py6tQi(|}JThmy z^bUv6sg(=I(ivWe^6#_wY4Sm!j@yODkII!SQm#?&7L$Qb*%!hSciwb&RouJGPR~wX z`0{!>2QB{WjVqJY7ZoSXmieQD{+}ODzXz~86b)z2SLrTc*YFjq@?JWe7XR&jQ7E2p z9wuMA?OR?tt%v-?n*$zZ%#Jv;3FV=Oq{kpI4KBSvW}VUh=LJiofir=?Muee=C>y?u zBdxNjLt5r8BkB)LVv`ZRw${4b*s7UlZ z(jOsJh#B<(+!?IA~|XMlhIhCdVkw?e$dtBM?B1)v&|tq6}Mn7sf@dr zr_PgbJZyBrsV4wG05lL{)tNAzb7o9x4zFSf>e?Ju#a=-Ow|U;Kap3>@C45NMCG0u# z8fJe*wy~c4lPJhGTFK7k;#}j*a!IaH?NO8a%iQ)`8pskv2ZK{!h`CO1?G z;PC^t0-69kzz669(9pGjI>3`;B>67hOe%l>#PJxc>j7H;4FD(`1k)#Vr6)l513ZA2 d0bal>B39hTc>#C~in?nzSkZhf&PG~o{{qe_=@b9} diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.inc b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.inc new file mode 100644 index 00000000..880d71be --- /dev/null +++ b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.inc @@ -0,0 +1,384 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// TEXCOORD 0 xy 2 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// COLOR 0 xyzw 0 NONE float xyzw +// COLOR 1 xyzw 1 NONE float xyzw +// TEXCOORD 0 xy 2 NONE float xy +// TEXCOORD 1 xyz 3 NONE float xyz +// SV_Position 0 xyzw 4 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[24], immediateIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_input v2.xy +dcl_output o0.xyzw +dcl_output o1.xyzw +dcl_output o2.xy +dcl_output o3.xyz +dcl_output_siv o4.xyzw, position +dcl_temps 3 +mad r0.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +dp3 r1.x, r0.xyzx, cb0[17].xyzx +dp3 r1.y, r0.xyzx, cb0[18].xyzx +dp3 r1.z, r0.xyzx, cb0[19].xyzx +dp3 r0.x, r1.xyzx, r1.xyzx +rsq r0.x, r0.x +mul r0.xyz, r0.xxxx, r1.xyzx +dp3 r1.x, -cb0[4].xyzx, r0.xyzx +dp3 r1.y, -cb0[5].xyzx, r0.xyzx +dp3 r1.z, -cb0[6].xyzx, r0.xyzx +ge r2.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +and r2.xyz, r2.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) +mul r1.xyz, r1.xyzx, r2.xyzx +mul r2.xyz, r1.yyyy, cb0[8].xyzx +mad r1.xyw, r1.xxxx, cb0[7].xyxz, r2.xyxz +mad r1.xyz, r1.zzzz, cb0[9].xyzx, r1.xywx +mad o0.xyz, r1.xyzx, cb0[2].xyzx, cb0[3].xyzx +mov o0.w, cb0[2].w +dp4_sat o1.w, v0.xyzw, cb0[12].xyzw +mov o1.xyz, cb0[1].xxxx +mov o2.xy, v2.xyxx +dp4 r1.x, v0.xyzw, cb0[13].xyzw +dp4 r1.y, v0.xyzw, cb0[14].xyzw +dp4 r1.z, v0.xyzw, cb0[15].xyzw +add r1.xyz, -r1.xyzx, cb0[10].xyzx +dp3 r0.w, r1.xyzx, r1.xyzx +rsq r0.w, r0.w +mul r1.xyz, r0.wwww, r1.xyzx +dp3 r0.w, -r1.xyzx, r0.xyzx +add r0.w, r0.w, r0.w +mad o3.xyz, r0.xyzx, -r0.wwww, -r1.xyzx +dp4 o4.x, v0.xyzw, cb0[20].xyzw +dp4 o4.y, v0.xyzw, cb0[21].xyzw +dp4 o4.z, v0.xyzw, cb0[22].xyzw +dp4 o4.w, v0.xyzw, cb0[23].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE EnvironmentMapEffect_VSEnvMapBn[] = +{ + 68, 88, 66, 67, 0, 122, + 185, 40, 167, 186, 46, 188, + 170, 200, 236, 197, 63, 193, + 243, 25, 1, 0, 0, 0, + 40, 7, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 164, 0, 0, 0, 72, 1, + 0, 0, 84, 6, 0, 0, + 73, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 99, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 79, 83, 71, 78, + 156, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 128, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 128, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 134, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 12, 0, 0, + 134, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 7, 8, 0, 0, + 143, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 83, 72, + 69, 88, 4, 5, 0, 0, + 80, 0, 1, 0, 65, 1, + 0, 0, 106, 8, 0, 1, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 3, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 104, 0, 0, 2, + 3, 0, 0, 0, 50, 0, + 0, 15, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 16, 0, 0, 8, 34, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 18, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 68, 0, 0, 5, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 29, 0, 0, 10, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 2, 0, + 0, 0, 86, 5, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 50, 0, + 0, 10, 178, 0, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, + 70, 136, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 70, 8, 16, 0, 2, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 1, 0, + 0, 0, 166, 10, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 70, 3, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 11, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 54, 0, + 0, 6, 114, 32, 16, 0, + 1, 0, 0, 0, 6, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 2, 0, 0, 0, 70, 16, + 16, 0, 2, 0, 0, 0, + 17, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 17, 0, 0, 8, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 17, 0, + 0, 8, 66, 0, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 32, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 4, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 17, 0, 0, 8, + 34, 32, 16, 0, 4, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, + 4, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 130, 32, + 16, 0, 4, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 23, 0, + 0, 0, 62, 0, 0, 1, + 82, 84, 83, 48, 204, 0, + 0, 0, 1, 0, 0, 0, + 5, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 0, 0, + 204, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 112, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 168, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 196, 0, + 0, 0, 1, 0, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 120, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 1, 0, + 0, 0, 148, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 1, 0, 0, 0, + 176, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, + 0, 0 +}; diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..9ed87aab844a4ff13ed013e40043fd5017e218ef GIT binary patch literal 60928 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 literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.pdb index 8d50d1de14bd7ae8aad8bce164732005a77ac5e7..d4dc93b4f491c4fc1a1d0006061a7d162ad59973 100644 GIT binary patch delta 3283 zcmeHJeN0nV6hF5VY|Cq{Of6sPE81AJLIsrt!iI>tImbx01)R))wM3+r+Lq2Zv^CL; z#Q6c&__1u!IG6Z`%dpS5Yz#5mA7W&FY%WU{gt|zg#!MHD$);gDx9>1X2F(%^|JqG{ z`Q6_=_ndp*yZ60wBK=8`{-k{ly;%eC7E-J!7gtwM*8wxSFbKE8KymV6%@)gJtR9 zDz0sb8(qTqUhO(EcE;>{kCbj1-`UP1gA*;|`xhnjtuv-3@U`uqkQ?ef0k=ag%q=k* zwi*q*-Il|v>DwA`7vHJ#GEdmZE4CJVv4ciTqxT4lBIzbwge zp{#n#rSjNYzZ#v)^Y<)cUgeUtKx(hDMDre{FKqBM*9QwnTu5!sH5%SG8f01ayMrx$ zuUwGlY>?;3o8@`(eC+bG7iK7_%g<#JpDBd#zg+gk%k8v zbJnj;=ES@GW9X5YPyc~&Ym<|gZIJZ$>5CZV+c&%r?!+rzgBV7PZgX*#9S201t;Za_ z2PJ?Qh7)szZFKu~)ZC0Y18FWJKnTagTwxpC4q%LtxVJY>Ej}Mh23Sdfg>iISg<@p# zB>q$G-RS^giU_=_eeqz_)1AbY^RvyR(oz;_OVKBRKGV2Nnc#avyLx}dpI@zdEu;H8 z{T~&5eK9S7cvdqzv;EqhIp=jB$+IrDg?v{_)aA{rZ?>tw>^IHjYoTFVsPfQS^?A+g zvHRWTsXJHh;9YL#i*-lS@Y(pOU`eE zQ2d-YJoZ9j6VGKM?~L=L&$sXb+==8cMRp~su>DiL&LCvS%pU%{T zirN=vt`K=ggr^;Vp9Rsu2ac&!U9oOW+f!5ig zw)_ln4^fPZjvuEiVKE@e$nkyc981N#f7$ov&1d7)zJq*P%$caZ5S1-I97|MzmM8Sb z>NF=m;CJOWG+x3hwygK@9)^ delta 2690 zcmc(hZA@EL7{{N}7HG?DDHx!`0^J6tOvYL_#$YfcGI0|&HZl0Z*d`RHmX?=}Ou}f5 z+d`rlFUQ1XSr8UtNJi9glNoh$7(a}N@4>`GBm}`=vgnM<%)%T#r}tqtt@~s$Px$k@ z|K~jC+;i_eJ?8{w)PWgwU$#!Gf?)BrP8uO(SKU6cU|E}x6 zd;7+WrEeD>T`3#+vsAX|ud(>cRajM8P*dTmYxA~y8+?4iCT*OSw5v?-$7aa!H3#wH(kq!nuSdYt7! z!_rgut@L%ehQsc5XSUUm#Z74z{oUkj{?4h=xYg{(+nntlr<+rw7+>2F(MJBw`XQ5R zGhT}wx8F3&?_V5K@%qNvbLAHP^+FmyyC{Xfh}`g3Ws?oAKUDnZ1ds8-c{{V?hpMl4 zPR+z|qkD({q+0o~2Qh5JOOevCad!7`6o3_D6&MqBq2)(3tGR{MwYxeK0nT7d9&zx9SX6+qluB#XMxG8;1BW9PCb-;@9b zX~46rzhrjYb6L%v=Fy}^GO=an0dLZY^5gs? zr+wR@p#*$5exYN#KL8Nu!QmodRAGP!ljMo8M4kv5e2M`65y4EJ2wTV#;TiHo=wjdx zc7PYb0Sr+B5hlqK;W~LDNcerk0Em!Ho(NUsiO@x!2%{>$(!r=w0TYx!ggNp=0Gx#4 zhD5NECqgNCA{-)51Rr@K^!X{!rx3=-6XA36L|7tEgxlnaV9_W8B!Znh5h}?O!QVmw zA{-}Agc0&Ym>^GtYvhR_;mFJpot(&Kl5|0A4`)P)5+2wCIyT%|G=Q zX`FRO+~Wa_idQ8j%FPcHYW~L^rB^S<47LWh6w4!GaTP1ISjEK(E*4U;z^3N{d{Uq+ zf?^kVwhSw=jHLIMB&7{u3sJ=K99qQs&Va`Sz8IfQ(DzsB2fo+J8M8AirM+gq*Xw)A z)fn8S!?xnByl2kN1M}t!JDb?RdsA$wxx<=qH3m_g9gIb5uqH3_6Bs=t9;cPVzENL?{ z@Y_`3JoO_lVS*_6PXmZ!f!J=vUOvn>Eqqd+P<;RxZ zV!1r?mv?iwqR&HZL*=7z>HzMcP>2%4Dn_|bFQQ&THKW`z(=M~9HoR=d%M~V@wAYn? I{gsx#0T@MB82|tP diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.inc b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.inc new file mode 100644 index 00000000..a1ef64e1 --- /dev/null +++ b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.inc @@ -0,0 +1,418 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// TEXCOORD 0 xy 2 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// COLOR 0 xyzw 0 NONE float xyzw +// COLOR 1 xyzw 1 NONE float xyzw +// TEXCOORD 0 xy 2 NONE float xy +// TEXCOORD 1 xyz 3 NONE float xyz +// SV_Position 0 xyzw 4 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[24], immediateIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_input v2.xy +dcl_output o0.xyzw +dcl_output o1.xyzw +dcl_output o2.xy +dcl_output o3.xyz +dcl_output_siv o4.xyzw, position +dcl_temps 3 +mad r0.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +dp3 r1.x, r0.xyzx, cb0[17].xyzx +dp3 r1.y, r0.xyzx, cb0[18].xyzx +dp3 r1.z, r0.xyzx, cb0[19].xyzx +dp3 r0.x, r1.xyzx, r1.xyzx +rsq r0.x, r0.x +mul r0.xyz, r0.xxxx, r1.xyzx +dp3 r1.x, -cb0[4].xyzx, r0.xyzx +dp3 r1.y, -cb0[5].xyzx, r0.xyzx +dp3 r1.z, -cb0[6].xyzx, r0.xyzx +ge r2.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +and r2.xyz, r2.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) +mul r1.xyz, r1.xyzx, r2.xyzx +mul r2.xyz, r1.yyyy, cb0[8].xyzx +mad r1.xyw, r1.xxxx, cb0[7].xyxz, r2.xyxz +mad r1.xyz, r1.zzzz, cb0[9].xyzx, r1.xywx +mad o0.xyz, r1.xyzx, cb0[2].xyzx, cb0[3].xyzx +mov o0.w, cb0[2].w +dp4 r1.x, v0.xyzw, cb0[13].xyzw +dp4 r1.y, v0.xyzw, cb0[14].xyzw +dp4 r1.z, v0.xyzw, cb0[15].xyzw +add r1.xyz, -r1.xyzx, cb0[10].xyzx +dp3 r0.w, r1.xyzx, r1.xyzx +rsq r0.w, r0.w +mul r1.xyz, r0.wwww, r1.xyzx +dp3 r0.w, r1.xyzx, r0.xyzx +add r0.w, -|r0.w|, l(1.000000) +max r0.w, r0.w, l(0.000000) +log r0.w, r0.w +mul r0.w, r0.w, cb0[1].y +exp r0.w, r0.w +mul o1.xyz, r0.wwww, cb0[1].xxxx +dp4_sat o1.w, v0.xyzw, cb0[12].xyzw +mov o2.xy, v2.xyxx +dp3 r0.w, -r1.xyzx, r0.xyzx +add r0.w, r0.w, r0.w +mad o3.xyz, r0.xyzx, -r0.wwww, -r1.xyzx +dp4 o4.x, v0.xyzw, cb0[20].xyzw +dp4 o4.y, v0.xyzw, cb0[21].xyzw +dp4 o4.z, v0.xyzw, cb0[22].xyzw +dp4 o4.w, v0.xyzw, cb0[23].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE EnvironmentMapEffect_VSEnvMapFresnelBn[] = +{ + 68, 88, 66, 67, 94, 45, + 195, 35, 242, 254, 111, 182, + 225, 224, 98, 229, 11, 18, + 185, 236, 1, 0, 0, 0, + 208, 7, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 164, 0, 0, 0, 72, 1, + 0, 0, 252, 6, 0, 0, + 73, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 99, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 79, 83, 71, 78, + 156, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 128, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 128, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 134, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 12, 0, 0, + 134, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 7, 8, 0, 0, + 143, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 83, 72, + 69, 88, 172, 5, 0, 0, + 80, 0, 1, 0, 107, 1, + 0, 0, 106, 8, 0, 1, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 3, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 104, 0, 0, 2, + 3, 0, 0, 0, 50, 0, + 0, 15, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 16, 0, 0, 8, 34, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 18, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 68, 0, 0, 5, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 29, 0, 0, 10, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 2, 0, + 0, 0, 86, 5, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 50, 0, + 0, 10, 178, 0, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, + 70, 136, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 70, 8, 16, 0, 2, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 1, 0, + 0, 0, 166, 10, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 70, 3, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 11, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 17, 0, 0, 8, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 17, 0, + 0, 8, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 17, 0, 0, 8, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 128, 193, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 63, + 52, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 47, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 25, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 32, 16, 0, + 1, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 6, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 17, 32, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 2, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 16, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 32, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 4, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 17, 0, 0, 8, + 34, 32, 16, 0, 4, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, + 4, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 130, 32, + 16, 0, 4, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 23, 0, + 0, 0, 62, 0, 0, 1, + 82, 84, 83, 48, 204, 0, + 0, 0, 1, 0, 0, 0, + 5, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 0, 0, + 204, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 84, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 112, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 168, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 196, 0, + 0, 0, 1, 0, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 120, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 1, 0, + 0, 0, 148, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 1, 0, 0, 0, + 176, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, + 0, 0 +}; diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..6629602e3dad4183ca890ea520b91bffa486805e GIT binary patch literal 62976 zcmeHQeQX@Zb)O?;MwE39C0p`G6lYA!_DMeT+qNuAjwl`_Ud=D_PNW>uk&bsu@}lG2 z_4Y_nag)kO0vMuA}@bd=zrt7?n!oODm1-|}zc)gh^aL6meZ)Q@wDf@m6_|FlJC^;Y^ z(9aeGx))woHwBun?(T)XTZIBocXUVI-}mZN1m!;S-H(5&Y5Z%)KeYR~i!UAOc52c+ z3g-2~Bfb7C^LF_A3ZcMjFTeIOF)}rUKLdxSPuW(*o*tNA%$}Q?PFVK2YNiy%!_5h}%hhv$YXh#W;94%+g-qFU;BFAzRJF30tu9t98%WM? z6iM3)ZG*TClol3B#m&Gg>p}{`>F?gf*ziluZ1DpT_Kmxm*cTsX|VP3+EdjJ+e@%zpawCidi?McAb;F}5$##6G>FiT&WGcpm&ognjv?2>Y8Go7mnT zH?xoaq?x^QTQj@)Y%}{WyP5s-C!1LR{s=qxy(abtUu|ZSl_vJ{Z#T2KPeoY#ht2F` zyBYhPzmBkf_-He`;T6bX+Z8f+t^zbWJ9&C2nc@Rui9y~!n&8RN6Jrx2{psY`C`bPI z#MopqF__@({VAl|`BXAJGOmJfG!&XqbAbnOld zvd-D_g?#Z`=R1e-H<>tkU-!ND-q$VKR5h{{D^s;P7VKP6RIrNooJw_Cxy7t#wi8jN zP@3zsGYjQ{)oE8t*>h*4wzH!<=wI4eCVkbDI5Jx(WvYD-an4m9eu?WaFrLfXRjU%K zb{%-osWY%RV>z|Fikh2sx~Wcdhs2@6Qv#RDO5nBtu8RR6G`=ouz_S&+=#K2nA{2Lp zk7p{G1q=AuX1g<82ckQki0+_@dQ|1vfUOr3$EN5ZJ>tnr-3q0}1Td~jAo~q{Js%v_y-M^x}!3)-S z$Td`a4!XRodKT(=nNfoN=t0}~U@}*!?y-BPdeB@kNPmt7Tv2VGLPn9Z# z9KrHlz7_>lse}}_TIourXqQX2wE|N?9jBht-elf7PYWcsO>cWWf;R6H zgG(rdDU0Vy#k;B;g2SuxP%{u~Jv8EcX0a;SoG;GNGJu~Kg`sH5`GUpI=d1H26hXxW zsHWR<)@;6LaXm`LOXo4ve$&)V{SDnQT`X}1vfKy(qTAtwN_V*Y5U zvXCkGGzwn=i~5Umpx#lCz8W(so3#Xsh;$VT%C^YMrSq|c%yO)o-@`LAcFX~DfCv)j z9>fmtgMk_dK;I`jHJKV)tfE8dWvMiE|71$vjZLPKMU)y{NG}8NqSL>k=vtgF7W1?C z$!AKX0*R2q!o87)+AA(D2(sEPDRcu)^GgsTr^|w@edw}%=DZCuEi4w$-(rUz{c$-+ ze0s$pBx*?f^6#}`rqZ}af$Uhm@LpeKgY=&2)U@ub7}5TbdB9auLRQB!`3f(PW}L9> z#X=R(l;}tr)ZlmApprueB8t=L@lSo+CX>?@V&g5r# z%w;Gzr^YcCu=VilsLai{J@m+6jgD#*t%7aU2kM=9t zSgQ<_N|hWckyPmNE8pri&W)kmHhXG)Zn2*}Yj zuEt($T#l~s{IXRL(gDSTfmWu0R%2wjLr6i+irN0CUVwGT)lW<?vvi%VH00}V4+ zQQRsn;rSml@(QS?yyUS%f0Pyt5$z?C89&`KVs(gI62F?`PL?tR-CQWHX|OqvydCh3 zFqfhrs8uP)oQya}r$7QCcbrRT^ji-yry#%EPb58JK@0`MrG^?mqP9DL@Ju&pRjSr9 zm-{e>`Ao*nXR+FNOwHlN3_Xp+5{sFFdJ36H9e6ytW5paZnL>y0fZ(6i+%ct4@QhXs zhV)5XC=4mam;7? z81xZ(R!Z1LNUdgs+PzyHWm3_a;@I5U9D*yn-f+76I}k+nGEE0khtWc`aY6UbBU;`) z`L$W01>IAe)_vyE3_}Auf`LV$-tZ{kEO+XZ^i0j>n9>>~WmSFE>6yg#VCHC1F=4M* z>~zPu{IBi|&^##@IL<7uXMP~V_;G?Ix z#0L6*_`JVENc#67a=uyCY`CwSyep8J|Tri)fCei z1WZj$dX?a;59+VaNK_RdIbQ-2CNbmvh6X67HV;^2iA8MC(!-sj>(B0lo}RSz954IV zUoICeV1q=i3*>CrL$Q&t&XJ@U8;&Tg=x98xle-NL!}40!dcMKvS!U=F z>B*G)360HBSR>FLr<_WhT?$MA>Vd&k>OsP*cjvGzuy*zDB?P~F-BRr7yhoHhceaKs z>*6{(tDdx0U+ULmzkb%Ly{oigDWJ!fH&O@`T{cS`6os~2D!gR!3&mCNx_;BU5WfFc zUq5W_`~Te0p1wm5^gJLQfHv*@zkf@P=jk00H;x|BVpJya;49uB`5%k)WFeoObc(k9 z#B;s3@?^H*>NI65B{`tqgCEARlHsw58o<-bYX{y#k8|<`!C{^rJUuWrHj(J6*}!`6 zui3=fdpNqV_8#_fx#xz~4&!_bj^Yg0=-%kUdb$@3e?5I$5C2way(aC0gp=NlZUF^q z;;=p%r8C7j9EjX3K`@X|kV#I`{i7!bN7E1#=YGv@)F$O+hpN+=KD^3RXKPl|DLpkQ zy+Y$T;0;<4F%7j6P^8Bw(p_U{rk8u_NahwH;^1mf3r*Ei!8C-XEP7{-6J}2s($mNF z%upNI^^Rr2a}mcA`Z!M(bNQ@glL#Ll9vsEFz(jIjFhvU8=#9eADK#~iJUNthwLVRH zE2c(liPxJO$HZ-ar}btw8drq#p`stv-2x;62CkZHI5Z$OCv|$IphyhFl6cK%XsC_0 zvQkxVw5R5fK~Dq6j4MQqTTBK_E`D)bmDH=~twyNk zmgzBj>k*9gjQF0d8uD9(u-v8lb+AAjik4458)1Q(FNLa5@8#+~NveIVnmt}+s#Ld0 zP&{i-1-35x4bVY#{R+-GicRDZ3!hr^w}F&1d%FT-jAnP4p&pH$H(qrS4{U!;4R|!U zpZ0oM@aSkyUu)=S-*63996_Y^pyQ{z(J@mnJqWqF!Gp91p&CdxG_f>*^c6j01of}( zRIthj&=TrlfXPUAM)UB|EmHSM$QdT9>GvQs-8O29lUt-QG*;2tL0I%T=jm6YRSi-Z z`r0j__28y&<*o~0xc_?v?f;7XReh=*r!UlbYqjlKR-fpsI8|xWIn7MfiqTgOx)eTK z(BIgIll1D?^inCGAO{4k z3}{gj-65OL<@9ZmW|NK^WjbfWGZH{;Qf1J?hmbI#p`f0i<3W^>lR2qV_UA z{OHC{7fZDg@Sf}nn4-^=?Z9UNGqcxGGG;C(?nnYtvk3Ih+n^Q%Z?60_Mts8|KGA1;#2LJE*mU;IrzB0I7Kipn4(^`A!dU z1Gv!(a3{-YTAy)~C@RL7=K_tdn}W|S@@a4P1Xb`jeN>#jqpv)OO`cMERiuijq_>RG zD>*)J919Mpv8MFk0{qsGadgLOlR~Kfw?zND-~WoONjfmk?fjfP zF>hmV*;T%fsb=T7_;OEvTA43$D}yZg&2OCJ>qlh*0pI%-3Vg=GA+xOf0x-w%E#~Q& z(lS3kZxuPtjBtDsoWnM*{@8D{35&ec%0C?V=W`2Yn?5M;|?t7#rzNj-E*k^(RneVr&c$2C!$Fs#)XY;MmAu zdg9Tw)EPQ8JRDU1KwP3VaC|a`Z-&K(g1W;anS5~~b=CGY-cDSENseqKU&fcQ>C6m1 zWsLFE#3X&{%|V(P1>`r}F`Ei`DCYTc$j4c|hNmXG0Bdbo(LrqCVre__*v-tuHMqtH;WpQ#ijd^DTQ_x8N$uq;r z(ZPO7j-MGHOOB>jRL$ga_?XH*h00)K`qaeWnf^qA43nH0815e#uT^1ktrezfRq*ND zRJoF`TC&RlGIzz#%yk8VCMY!!<6KNvjq~2ed1ATbek~SWZag2d-h^7-%kf$|-<)*C z3T3s&mhk>2Q6PN&+mh$MtvUbc>^tEs6q&p5ZaMX8lM?1el4pC#-A7UY^uCL-kfAoh z40{VI$1uC#8c3*NVMJDeJsn~7!m(0BdrEry$6rKPB&vB|Z>a?T%uUcfltg9239G$7&d5gV8*yP|j2#Fi*ws(6h} z;$eWH{l9yBwN}{Q@KzgA)eMvZYbb`03A0}QUaL}~_F%HCOlF3tdG|{PjgvI6Mbwn# z4~lYLLASMuu%nL69snC6D?Ql774_oIW~;D}METSn;7FVVrG+6GEE-`$Ml~RB$}DZy zf^Z=k^nCVWldG5MvSE4Z553a;)=T(VBzC6x7Vz0<1E6XuE> z#MM@}Z`W6Cw0d)=U`6V#v48tR+)1-xXt1 zxCafJWLJ)PAsR4}T^rqPmvn5@v=FuH-;5W7dqT*$vu&+Ja#Q!`omtC#{opxH;GM_B zK>^>ZlU_QH3Y%04KP4G*^Te0k$g2}i>v|IOO0K8KDubfdI~EU&l|x~DA|MH&w1j`; zkX;~?hYp2Mz9@_Uk!h~RY->3(a?(F6luyD|W07aD(Voo|9DP_NQ-Q)3TONyxVzq=4 z*gBy@|9A(P$y$6))SJ1$?ZwJ0Wk^o&OfjcRDr0vLb22(NBOBLN?nHYs%hARPl+2w< z`SYEFiLPj>F{9cx#lZ*5r+#%`0&2Lec*o@o-rAA{KJbCO%U}~pB;&fb2OcD{bC8tY zXJB863^7|de2rOJ(8Re@7nVGd*ke^$ohbtB6Z$UpqEut_{k3THeGd|3v1H}#vt&}S z9q*c98_r;xQo<6pdaFpI!b55_r7#ufYMfn$gVz!$e#rJ>np%SMAU8Zc`x z?`>Fa+^Dha3f@KGb(pYk9b}by4Or=Q%VyZh7BixePXJ#E^!gdN2EZsA&zctFro_h*tX3{CZI(+}1~^^>jKi#L7b5nn?ev$i{mKCm#jWrO@D%bQ?9)M2*+KTuu5BpO z%3x4T)UN$!FB{(#5#EiqDVVY)oxhE_`9vR`zum|u6m|YiBOl`HXFWCe}1d7`CEVbOXBh3j0@uO`r^&wzgn<#qlc zBR^r}A2ITWjQnFp{;-iBGxEEP{J4?dXXJMo`G<^rlMdX--*1#B`e^)v_(J^+;tS;m z@rCkDzU(vLGoxK(JM9L^6~PITE6VrF)tzi)*CoK4CZPnM-@;nAMQ^#5Z#%M`wO$*& zIdbu-o#e;sA;`hCQVyie%C#_G;VZp=ZDY?N9bp`QWj`pN`l0g)6{0KUQ$KV*jgKZa zy6dwF=l@1VMB;o+^kmD9<|EOOmTfzqtX}+l^q!X1<|i*jA8cuAKHJ(FO}6ZAF1KD2 zy|-oiPJZ$0E!&#=qW8D#*?IBeJo>pmIvBb59BQ!ETcRgW;qB330cf~&Pc$wdwYEne z5U_5F9&X-`0z-f}+}$MA#8xzo%`T@0SamPjWE{nK+9AT}U)(nYg!wH(z`ydRt3Nb0K;= z7&IQ8Y}v8%;xqfe^y{O2ktfS7d%*M?qMV9=d+nl7H)LsF^wiFHS%6Y1rJ{k`31p4k{#Km*kG>Ts6i{@UmR-|(2#K>pZKTq_Z#^%wsd|B z`EI*v0~&etF0;QwqTQht{nhz?xsmy0(O(+VClvp_1^zW_{`FwQeIOBi1Y_~y=ZI%F zM!O>)c>daPaO@6nYF}$x^guIj-5GrV{2JfMhlKne6G%HY_3L#(+>`wP13(YBEfTtk z=3K&y^y68`)vLgZ)&kIv*F-y7ns)LJZUaJ450MXE+Q~&(D&GVzhp(dUG6F$ti#&bv z|9<7shj0GsH(LKE@%-~I0@kx4|IeTN{)Z2KbNeUx{%=3ERQ|^YRSj zP2c(c(rb4tjecTAu3g(AzqB4N?fua32S4^#R@b4kpN4-UTBo)}-gD_^zdh9V{X^IM z_)D`7f1%}182bg_Z$~?HMey(QYR!{I`d8@RQ;0vz*hLi!{rVB4pF=)k_9GczR59Cz zj?jG-Gq_z6X%(|$Dy?FcR%sP88mClW#f-)VrB%#mOi)_IjK%_`Rm`@bpOjXykXcHT z>>_3)OO#eIn^$QSvyZ5>irJS{TE*-~Dy?GnE0tEU(8mOy^fI+adYIBGX45LIVs=rb zRm`4IX%(|)Ra(VDw-P+kr39a3kkTp^yreYol{lwSVitpZ5q>IWLn^IeHm}kuW>2ZKirF8lw2Cq7-^KQ@ zI}zWH^~!y})|hbkb>gwn_No4VLT08BFs#HHuM5#T=r=Ag(Ib8*0>qx3MWFjMhthA- z+jNmmrt5wgv293GIXo_li+z+W!cwSV6oIYh_+w>uDypd;6@*Iy?(y#6}%O6msE z4_H>QXD9>LUiLPJW^Ia8>_2|-iq5B+I~6I+eB%FhncqYC4=LG`MAxtIm?L{_Y*f6} zp|T{8r0e!EZ3K?J(hhl~wzST}PqrVsOOE#>$T4=age;LBe2=F+udEXeZHBDt_PEiW z9uqO9jeJX7scs+B_>ZRuU(AYoFkP}1+|ySAxJk=D+LF1H#kZi09tX6Cb0bpMAlA6+ z@gl|!?$MYanWl0(5bs4Fh5X_-m6<_MM5CiaKd zGxo)JGrNg|0r}ze=AZz*)bx6)3q2#^aAfEi5pvAc z+PgFkwYyFedsP(GBG+r&xq>dyR2{&D*c+* z^Lre6My%vkE}NZ2bDvtqKp3$_eK|O+^!s6QKB)1^za4r;)Zd|QWGIjzxb;KNh!_X! zdl0=WN7M$m+u$%<^IA`=O7YRA^3>~D@`aue@hIh?h_LYZ29jl6T<4)@#Q99ls`#IL zT)N=bdfmNx#NjgWj2M3Gwk03CZH*ZiFl*APRITMkoHvAS0N3Xw&b2R(_v3*cehfET z%6dGuBs^C7ont5g1`edjSHF)aXU(BKAs{1k16bF~W9SA@+8Q7+4c!3BgI@uDG4vZE z8c(UoGdgJ+E-;3CtugNwsq1w@4gAmzV5aI)EP$q=8$fj!u)Z%LlGz|{Mp}p)bq?ou z+he#(s?~(^cFZYI(_c&gfAyoGYrn-m_27q)6ig37u5R!k?a?0_nOGV?`ih=0g8CQmxTDU~ ziA6`y($N_KT0%VxFd126CFK^W`y>>)0VE^0m@A~)R+pGs4~BNeU?H$HTg8FhO1T7Y z9QjhQgZIPTQAPNrhwT#Esw`Q#4mvU+j!h`5VRNO9g*@38MD31jX`yrWd?8;v*ZIz2 z{7r7n)~k4+an2TN7j1s?psvwH_4Xz7z$eaj(7{S&mRKESllEz}q07(%A3VrmP7gis z>FMig@W2$%175)^tBa?vP$Y=4l0o+!>K8qi2yOw@T}>+G*N$q-d?R@1dy3z*)GlG~D&+p<7#doNfep9$crGKE(x2ZUz^1q_eA6M~js(4V{M{?cQ zMPJQhzO+uFso;wgnEyhb>s-(>b+6U#*R2dU46EGV{M%$Bnv9#fm(0=W`sC21HXf7D zmYWdvBXl7gK^Q_vBb-GjAS@$%5Fxy_jsmx`JA}`@OK2hz;Fa$ndt}$mka8M2ZCDr3 zp!>2GEB4qGN;+83U%goL$+77H+QBJq_Y2BXdUY^l?jq}&leK^3D8*D)M7Tmv0 z;qqN|UzkkBJ)+-!b+0WV=@)2DSy-f4An7hphTn-uftJM$vzT)YAxpaVtdA_wfLL}eC zc3j%czVyuX>{{`V$&m+NDeQ9wKj@+FW(4!nx5;-Im(#a%yNSFGwaVnHSZa_z4D(vy zsFW2;MT@a}{<7nh`f!`z-;J(_(75!A+TX4gFj`0`mcCwP%Tp-#M+h$?97Y2hlw$8x zI5<0txd(>bHwxBkJbt6l+a@d%wQmoJ)IL%^m6rFch5ASP20lOjy-L;=IUUE*K&v{n%tBY#zCJ{)-(FBdWZ@VgM9bk1N?4KfU(h&b=IAYjazE3!UaKv9y5ZM$irN$J zX-XY)-S@t;IJfKJ67F}U*m#o`Kh%z@JudenVQ(nx-qSPe>2G)M^@jV027_SvzNwIS zT<+l&rH3hxxw}`Du^AbjH>&y`5lkw+GK>qRjoH2(H@|Lx&7D@b zJhBcxvR;GEPs)`erxtXZBE5l{*1^y~m%mE%b@{{IDzUy|r(irO7$Isehc?m1wFJO? zrU({1mV%bvuJGYHdCiO2f>b8!11lu(Qt6vTYuYMtC^Vdf(y%||4F|mbf5U7_F|SZT z>lq0?8#6;m#b!KOo-%p1n*!KHwt&gA_ViiXBs(lybz;4k@)mcC*^mC!8ymqfx}OG= zYf>E_ZL`K}ekc)DiN)Dlt=LN(U~|#`*AV#m!PemfAAZWEQQVX5hYQE9*6Lt z!uk)j{}(~F`pqnY9VR6PNB>(1T;N{$@~t8+(im+nI>@qvWrkTpNc(O=7VjhEFDVsz z7GM_mw6JVTXCB*Qab=0ZGM8noCEDCD@i}k2tskd~EL+=47a;P&0?dp1*H6rdp+>LM{ j*tsxgNe`kI(TDIO`W2eDOm#eC^(Z4 delta 1540 zcmc(fZAep57{|}q=F8^Ybcs4^ZqpQIzT`49%_70FVpfL!oJ^~A`;GUi;9iV0BuV8Z>C+5W0b ze}z7#igP$PHr;x(CUEhT8YbFzag#aIY%u6*ot#H;O-f$1dk0-QmY*x zqLYbIj;mhis zPK%4R*vZnM5Vy0Qj^U?u_c33d*b(N*_^#pyZ(SD=b9H&YQB7V78ghPu@jtPiG>ypv zPR+}0-$Z0;6{}b?nSnDPDa{@B5pOtA*tZ=&A*Lxrr~=%2XsM(jP1w^Hgpdw=MN55D zvuxw=vaHQ3E#KW3h0rRh1ke4fq!36`@jJE!qoT%M&*j*UgCI z5TbX8ifNy(2|gQc>Q5ay%OG@dX~P2U&KErFAxWgWZMM}?xprw66 zWG`^{epSz8Xi_5NC;}?9720+XP|G=p5G`U_9JKQKNZMpdvIBZpU<&|O0oj2gfCZpS vX9636t)yx463!w?A8r~p!FM*W8OQo{O@9 diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc new file mode 100644 index 00000000..4cecddfe --- /dev/null +++ b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc @@ -0,0 +1,270 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// TEXCOORD 0 xy 2 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// TEXCOORD 0 xy 0 NONE float xy +// TEXCOORD 1 xyzw 1 NONE float xyzw +// TEXCOORD 2 xyz 2 NONE float xyz +// COLOR 0 xyzw 3 NONE float xyzw +// SV_Position 0 xyzw 4 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[24], immediateIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_input v2.xy +dcl_output o0.xy +dcl_output o1.xyzw +dcl_output o2.xyz +dcl_output o3.xyzw +dcl_output_siv o4.xyzw, position +dcl_temps 2 +mov o0.xy, v2.xyxx +dp4 o1.x, v0.xyzw, cb0[13].xyzw +dp4 o1.y, v0.xyzw, cb0[14].xyzw +dp4 o1.z, v0.xyzw, cb0[15].xyzw +dp4_sat o1.w, v0.xyzw, cb0[12].xyzw +mad r0.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +dp3 r1.x, r0.xyzx, cb0[17].xyzx +dp3 r1.y, r0.xyzx, cb0[18].xyzx +dp3 r1.z, r0.xyzx, cb0[19].xyzx +dp3 r0.x, r1.xyzx, r1.xyzx +rsq r0.x, r0.x +mul o2.xyz, r0.xxxx, r1.xyzx +mov o3.xyz, l(1.000000,1.000000,1.000000,0) +mov o3.w, cb0[2].w +dp4 o4.x, v0.xyzw, cb0[20].xyzw +dp4 o4.y, v0.xyzw, cb0[21].xyzw +dp4 o4.z, v0.xyzw, cb0[22].xyzw +dp4 o4.w, v0.xyzw, cb0[23].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE EnvironmentMapEffect_VSEnvMapPixelLightingBn[] = +{ + 68, 88, 66, 67, 187, 8, + 110, 161, 160, 230, 220, 54, + 91, 121, 149, 220, 70, 48, + 161, 254, 1, 0, 0, 0, + 228, 4, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 164, 0, 0, 0, 72, 1, + 0, 0, 16, 4, 0, 0, + 73, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 99, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 79, 83, 71, 78, + 156, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 128, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 12, 0, 0, + 128, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 128, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 7, 8, 0, 0, + 137, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 143, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 15, 0, 0, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 67, 79, 76, + 79, 82, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 83, 72, + 69, 88, 192, 2, 0, 0, + 80, 0, 1, 0, 176, 0, + 0, 0, 106, 8, 0, 1, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 3, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 104, 0, 0, 2, + 2, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 2, 0, 0, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 17, 0, 0, 8, + 34, 32, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 17, 32, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 50, 0, 0, 15, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 0, 0, 16, 0, 0, 8, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 16, 0, + 0, 8, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 18, 0, 0, 0, + 16, 0, 0, 8, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 19, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 68, 0, 0, 5, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 32, 16, 0, 2, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 54, 0, 0, 8, 114, 32, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 0, 0, 54, 0, 0, 6, + 130, 32, 16, 0, 3, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 4, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 20, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, + 4, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 21, 0, 0, 0, + 17, 0, 0, 8, 66, 32, + 16, 0, 4, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 22, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 4, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 23, 0, 0, 0, 62, 0, + 0, 1, 82, 84, 83, 48, + 204, 0, 0, 0, 1, 0, + 0, 0, 5, 0, 0, 0, + 24, 0, 0, 0, 0, 0, + 0, 0, 204, 0, 0, 0, + 29, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 112, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 140, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 168, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 196, 0, 0, 0, 1, 0, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 1, 0, 0, 0, + 120, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 148, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 1, 0, + 0, 0, 176, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 0, 0, 0, 0 +}; diff --git a/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb b/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..e25f9c5993ac0b5a9ff2b403a895e2bd913f9fae GIT binary patch literal 60928 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 XxYZA99#SBrKuCd*0wD!%NDBNv+SgJi literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTx.pdb b/Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTx.pdb index c444f4faef6385ed7deea21c79f0a4d10be693dc..67c9a9d9695ce480f340378a0a5692d990d7ca2d 100644 GIT binary patch delta 4404 zcmeHKdr*|u6+ideUEIapWkFb2SYVfjJme{85HJBnJCtDY-5DVR!tx00E@5{OiMnVs z(bOie*F0>T=s2cLTQZ}3O6|n4rpeTFQd<&C2UEs?QD@q*saV@d>m>Bt-Gjkt*i75} z*}HS@@BZ#N_uRYp^_|-{uIRg^=ug)@2>=!eGfcg*HRL@uB!GZOf2 zDj;$SpbE>m^KfhMG8?KGYoh9_qpXq39x5J_9QTdfAoe4UByKB+B* zhvDIH4eIwpDebsL_H6!JyPkKphs2s84}BP+CLBNoO8niz0WdHF?{7DTo1qBRndm}7 z7aHgpD7W$vySDnI->UTATF=xM&hn~8uQT<+odj#bB^DU{82)96o1FJpgdEkmMZv=O z6RwLY&;uysZp0QM2W7;!@X9uf9puLyes&WGTHkV2dg%7_y}EpbBF%fJh-q5~`l z^iP=JV&ViB%OW};1U2p*!3iOYI3d&^e+Bh~;3iH8{lp33gyaP{jtx$r0ue?6*hdJr zh!f)a1nddHOq>vkh!a8+aYE=PP6&fusu&C)Tp&&elCQGU9}MdV5J!6-2?e zK?Q5U3RQlLg&Nev$y&)6=-UF-L;w2no(FoRIVTzQs(Tz#_!NiP4CEEj}{QINJH#v%8Av`CGf= zV#BD%sTKzHM-_14CA|D&0sa{y>-T)h3p{Mk>$rhbDqQg$ zJbYw6&lW;tbME#9iyqV+%E@PQ zy_G-W@e_GLo}eX3xvs9p+~&3pn=7|*&c|{(ADxH|;wGJ2Cyhb%?UT_#^}~~V0c2T3SmH;W)pw0R2kS~)-T4D(%AFWZFYqXJLO zn~0}TE7D_|@gss(;wd7Y7~)GUqI~fxNI`xAZOpvm?bON&to_^)pyr#^zEGL&)@@ee9c#0Kp| Wc>=|S(j_zXCrs6Y#qC(U$NmL}hC?C% delta 3393 zcmchae{56N7018#*#SG)#!lim!8SN`Xib_Bn{_GBb|es5T7JkaV@wTYuq2SMBql$W zb|}maOEagx?_8KWalR# zxye>!Yg)ad{Xfpvrb6;LTcK@E@{$K) zv7W81dyURHlPF3$D)-&L5eO!MhbINj=WFQc&`|Z638$on=%BzS{{+g82u#k`@a?|{ zte6JQjGFMwizYZe2P)pv&=eD>pmzG43Dy}62Vd2YoHU_kLSQ4ci)JV-&eL`K#F%rH zML)aflqSn=t=6{(!a{CY7PbZ|0xOmUssa%`zHGbD-NEJBm-wYScvfy)zFL+CYIJL8 zP43wFrkr6%1r5127XG|Mzx!9Cnrzy;^TZ~f{ANoaH@SV6?K#Pn)6;g{*_zg5x}YQ3 zX0fbYS@7G`!uNzMdo(O-+icdO>Up5@2if0N7$2h62BnlMt8AmF5NYq9!=kt9!hOf{ zfMW8gSk;$Z?jBHx*<~9&uCuYF6&F?)G}?h8avB%rXL)wOc-ABi zo~S(gj13s!NsQACeVpt#rVZHjA9o}*=L&qyr8((^KwGSFciR?O))SQ9>a?$#q7ed* zh%jBY7*Q9H2Qz(U{kLWLEm{7RdR3=aXqNf({jZkPMO+v`GzI$Cb_1AhE zOu{bx2j0&6I^Bn+|MfsnCA!@4n{IN8f2E?*&x8o#JQx<3}sr zwmcgsKXH9?hUH9@sfDa}MBYbK(kW7N+?4{IidSTk`_ivyI>#7XKP;@u1rOiZz6(vOmf zXTrytiIuFGXkyL85Njqzn8!a!h6u4{ zBFdVH{iF}lgfpby{}?&GPYx!|kp3QNCN8mN0`oKRO!!C}8ORWKvSy-*H4{fz8;sIJ zcZM8l0!*YxC+Lp}izTC(s3hG_E+%SO8+M_N#d_pnD;D7a`EtUmJNgd^Q7?xN zdHuWSD~rffQLCL=)M&Xiib;R}&@Ey(`irE+ECU1KcmV}?put6SKorpX0730qq5~G^ zY=4o_?{TX>la{^}_-rO0CGKLUOFZ%VF{?kw2k!K%O`1zf*maES(67a(S0g z@1D4Y+CQK=AWu&$QIQjM!_oZYMT=fOnG*h{=C1A?*+;`UN70b%ySz{yxm+z>m)z!# zSV!~ex+amlQZ8EL(kpAMhiOMv<)m!C@`UdmYW|d$vU!DvVCOVA!{dV YqgVU7$WzCXZff2Ty3>-*RJ6?e8|;|<2LJ#7 diff --git a/Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb b/Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb index a9ad9c02086e95d2f8020e50e570f100bb657f82..b0d59495df1c68f884ac83efee65aced0001d2d4 100644 GIT binary patch delta 4193 zcmeHKe@xWp8UMWB13cgk?*KV|9C#<92N3}ktimj(XlslPR;ODAMv5TF&vJ)?s7KSX zlD2MgFN>rhsWWZYWF`Z?(V5Ixw>4=u7Dwy~jiX|*b=g8Y=uG3%weETE9=gj~Zdv#5 z-pg~J_wzi@`@G-p^Sq46oqfrqN z$vqqH?H6S3GgMXm}Bgz{^rYd9T3VF9BDtXju0laQT7(>-&JXPk@{o8s4nXkVE~sF$1FKHJrSt!GG6) zq7MXiQ9p5>GHV%e9}%OLO-A|FiVS(>=^|}wi!4vtEqli-@mm|JJ>Oa9I@-{(c28@2 zb9Ga;Eb6TiEpo8;w!AcEO$~9_TitTFw#B=)v+HH5>Bw~yP*>kQd`Y7y%g^tyONYrRqi>qRZ7SI~Z3?r$3&V}o zfAsign!nCy^!&ImUS`}7(s?*vme!ekbLwfNwwJ_3k~Whs{`&dfe%_k_DAQwXBlx1- zquzpV$^HX7k1qpWA)WG7w$S!G1zGU@b92%gw-J%6pg6IfyYLsRwdD3V^bgVf=JUMJC!4_<>Mw7h{CA_nKb|hD}G$y+3$fxm1 zD7ONUh@jsr%`9NYh7i3mME?-!b10rh@uJb$?{>N|`gFk~t%u7VzQw6o5Jkp)#O2V<7Qr0<{2YLL+Sp z#Tl`NIU~x6KSg#%c$qWe40A@jr1^knX~0WlAjEhOdl)gxoRJb9^k;;fIU^oo&WJB8PP_( zpT-A~)_;f;^kVK|#AV{Ai8JDT=8Wn{3HUR@PCSr-AfkjhBMvcV#PiGpsE(S;q)->Y zh$-RGQiJb>~WUE9qSaAFrCQGryH>p$!|Ekv12?@mis;g*xArcR@Sgo%n!Gsx}T zzZfYm6De^pS}bI>(Ka>{X28CzG~n@B_eNi0z@j06Fb=k5>J&B5a{zoiAA{s&NyG*H zRNofpLsNcgzEHoE5WmzAKNTq^B%VFQFWmyEpU4$X`QC};B2$W!cl@VJky+$2E3Kyz z%#;_E8yHE3^nz25h?E$Jcsd^f_p9zqo$5BazF67e+a==UFMVmLOL>m@!vY6iG~n7< zI$%?2kVO~9kAyxKzcX^7rul!}^!4f{-Fx=V|4=R2qa!y4tCGF_?t~;&5j2rR(1CZi z1UR*mo-${@JISePgN0gvRxnU-s6ylw>fcjK+V6f@ZJG#L^Fz{lJwa`8C{ddxSr%N+ zOpk|1A_5bsgRg(gr?So}tFEVsWqQ|jkMNJX)OPwBBS&xKM+lm1B2A>p-4mJg|HMRQ zdIm*{!h=8q;bYa!ZB4c9Sb+-baydeN4*B*(rnFBQ{gZaFLZ(k9KEx-Ynp7zcM!u;hgDphnY{?W8i?!TEo;&u!F)JkzqW=%b88KRm(H7}ic zbk0J0r}|cZi#q2>{z6hniC#Qn;2SQ?j4r7@)549XZ?Dz=vJb2+5Q}|O-jwOL^23zH z#VhhW?KOFI4NbM4yqZP7DqZreTd85fxTJGBDXhJ5+7{M+X*y;5Z9bG^D20?-DtlC= z7;Gxfxs=veLMl1cYlXH$aL=jAOO1Jo>?XY+=A!V=7&q;sCtxK#7q1ZxkyW(=RBY#y zmn!X5$*x|Hs%lnM_M`L)P=3kMJ!8u{O1)zw+eo&ObdY#ST1eEjZ6GO>r)Qo^KTN%P zk_M6^B#k6$&ryMiBAIgMC(#AeTSu~9{^ri|tS!`gn52}%O``6kjHH#MjpPXuk1p>1 PNkn#1w~Nl+PsKk0GqD}B delta 3245 zcmchZdu-EH6vw~!*KV|<-CEYQ+uE^0Q9EUL%6&%+X!)8*>Ovb81Gz?H@ypx4s1r1Le&3s$ z_t(@d+5gguUoYE#!l8TehK2oy5DhJ!Q(x28)EViDtnQZkTK#gF#bIflQ{Vnq=j+3M z`G}>^lI8jEcLifTugvz^V;w)%%kOH6w6{k(rmf!Cnzex98zYhK+O{>R!7&SQ#Pg@# zwtOkzivxF_7WgnvLwARU%I^(0BsGM#3w-w*a1X`Bb3)*g2Q}2qGvL5^4MT4m(099l z?R^8jd>k;3YS?mEL;SP>cfX-wDYa*w5_-X|^y76`joF4%PiNCxZoShuZt`y0hEjKRb!cD z1wEb@d`m7JoI9b(3OJ}UbzpvWFHAU|v4|}PrXG2~0`&1Bj*H&v!Fb1`+OS1G(D9&V zn~r&Q%?6kdjx;rfZ;+MUK6zW0Rod3)mTnXQI;ayNJCFk-{f6l{0vm-4talnVidp*X zb#9?K#_2b8UaeU*QDfgvGiK2lh5T^+ufnFkw_&A0SY^egw{yOsZcYBU>2Trpt*1BK zV_GiMwnu%Gg znP_IsL=S5w`lH;@pC(>o%|wDV6F;+N!eLA=hzUPyCKj`1qJcFN(OulZL_cdLjGO?I76Ai4H*vy(4MGto{@hod5-eS$fN!Cmtmv2d$@Uvzj#F~kQD<{B0;*9 zG!seIDavo7ORTkUV+nFli&EUE&yDR7;tF|mtJ~T@hjWmrqDgVjOL3D?dbb6l6X>Jl zf(AP=AFd)nG-xNE0KOm1LvfLVw4k4A7p27@?=Al#O;*V4Tv9_^&ZMdZqld;@hCZ8j}iSpxA{R`DzS$4`NCd=wn z-E!&@YVV^raylU<)z`K*Hn((k)n{f{W3sv#a_=`m8SQY&htG`D z4-Pg6X*}Zt^sZz%=o#kbH(}LpP^4iB`*>E5`J)-PYJ~Et@hAzzZTsY#)?hLnDTvc72O;xMg z!Yy4@&0~|}k&%)mXD?2N!a`R(o|@h2>dD?9%VVRcr3!skL5Yd_szIgaDyoyoOnNZy z1A2bS;z`r&a(W0&^t$aN?xI0eBFljQO;8!vrXoOPX(~xlN!9K`dhE%^A*++F84+r& zC7Vw+kF0~Nooo%6S_Zubm`+wrwvcQQ*q$M9w;DcBY!T&6E^>SG}RBe*z5+;r;*s diff --git a/Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb b/Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb index 6c5a6039b8d04fa7dcb49a6721336a1f049b04bb..80cbe56def1adbd718e370a64b322560156492e6 100644 GIT binary patch delta 4186 zcmeHKeNa@_6+idwf(!2AE+5MR3+(ct3lqKsNfcs0F{y)CXsC8Z$bh&AvMiKcaMkFp zQ<>VtNdlJ)OowThG$zh8ol#ySW^{~+>1c395S;{9_E@>=_AG{srLF+Zrf53=s7NK=u_0F4jnpjs3ZC4MfaKu>Yh4{kJtx z{CftK*pHpZRW+U{-^E6at9ATpS_(gNs90L(=GEpZ-aBrLUf0^_`QA!LPpdn3b4OQu zqbrLS_trBvAL^aqW8<=D$uGxeF7c{5{;=LE+bn0Lg)y{S znsAhkAAb8kjq)_FKYZ@L9Esa3DZIEZPc|myuyA#TeENlaDXWD0$IWuyi*C&$)jEm) zY;cX7*Vp~%urekW4IE$0#=V1GydvvNU-jA1>@O^n1Nd|uY9_s@y95nC;a10`uTpZ)c#&)@A$0T8BV$%gQCyNA66 z-_otmZQL6N@FwbnudoHTBba2t_fPHS3o~H=>rf|r(I#H_e>Hp&zIIN?z7gGI0C1sB zI15{Fvj_R^fBmtGgL;4oN^IxsYD!=A2mLK?u(#!-EkBj`M{PqaL#}r{BduNzRi2s?&q4gbXR z-(l|EbcmmJ=0DLe5{(aqw|h(c?*Rmca8iiyj*0<7xJaB3ZV@L`HkXLUbyVVGRSXb9 zK5;_WM4S-34E%5k6JST6vU-Ax)e>Ah1Tg?1{GB+V@<%1?;txyQKpEmmI9y+(~E1P5_Ks3lGa0pf%(>?g&rig27bA$&}n z5dKJ<5VTr#0)${8P6$QB389)eA^3fyAcSG!gm8{HA>1NP2zopV#0nBZ5phDOCQb-0 z;)H$(kb)3Kh!es)#0lXtaYC3QP6(E8bwY$tMw}2DkiU-;RuP~75mFGsG34jbfe=2T z1cY#lI3eiq2vSx+MJOUp2o1EfE_9!3~C?|s(Fbo zN&bm%J7X1`?M+G+M@}k=XyR0AK#Uaxn?}yso5T{LKxZ_fDIPRnKuiH^T$wQQ2m2oP z$0`;HVi2PsK2DsU8r;|bpUp>tCC-eT;ZOAAl|D$qPYf39mk{Ka80051MF!=w2Kgl$ zfy>Y5FgySB`Baw9+5VgT2lQc?=yHdf4#XG+Fj$BVWmqma@C-|c1Qv}izH+nT&ct~h zkMmo~yZx0cihtlwN?b-`%FzRlE_!3wLPhics_C0mO|p0J z=KoMDStG(8SN<}fwy!+KENTH!7ijTByIl%!U?ac__P%nnT~q}NRRBIgrPL55$eY-| zCmv~E`BAZHwD`<-aMPt2vBg1%*fbVia49`G8kiXg=uxfy@xy!~=}f%-QWA@k_gwO@ z{>u)roxVZj=#?UEvIS$8z(Z`HTx*>^@$ms^P-9BsH52K{Dd-Wd*i@fq8{0cw&Mw6x zmG@1gGaElSkC5|<8_6iXXXF{(|hZw@Z!Qba5h&2+D@tZjVmo3~KMOCPjnC{x?;ezODCH<# z6b}lPkILMN5LfXZ&Ayzl6MHQvtth)t+E835#XRBWTM-4=TZvN0e|a-Cb1n9sLMcNL fcd#DCjnaYAiPDAgeLQdfz`}N8*C(59-`D&To7y^G delta 3239 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 ya}l)`lPrTO4k+9h_y@FB%KqJ zCX~LYvLiKAg0?h15i25vP}YHECM^gMu!Ro;Qz4XuDorK_5CwrK&#|9? zWy1%)aFXZz&i|a}oO|x$d+&Lo(}rl=aN1|R4}ejlib|JWp8L8O(QKMX=t7$nBe_On z@jrXt-yvu;yl2YukKaEMd_i8kcw*1uZ*+Iww8;Oofrd7$Zme%>+8^!;@9mZkwff{1 zi^I~qy0QJc&X=cs@^MR{CCl^dl?9oeH)MOAw9e1;^0}JA?d{=?<$DjdW^JJOj&Qhp zTU$$VFk>T*nC-fKTQ>t0G2p&Qfp_vWba!Z2_K5-KrG|!Hfh%7FV)o}EA4Y5fBY9|CXQ`<31p|KAK_lXhvDw96C z@Vq9=e^ssT@cMXc@-FiR^hnhXp*t&r2BNLy%)`ILGRsQg#Pjoy$;(H&^drAGuv~za$$ao=O&D$ZQ|&;>qh@*0s46p zW1=s3Db_Kl4OsMZ9gk`D65AjSToVUnu*9k?qFhoH4`tfW@4N*6Bc@1RRo!+Va-GXYbHXhnGr;}gNZ@bOgzV$ ziMLrZkzmb4ac*iuOw_SvVi)OWXu~Pe?|*_jn0T7>U&(=qfAIoLjI(CKGLIvWB5GJO zv5T}?kBMWXhe#)>J{3dU!NeHpVRB&NGV3JeBaw~PZ79V?9=Ly#kp0JR5f=Hu@zPo= zFRbp$Mr{`im`_{;x3i8Ws3m4w1Og8OZ;ol`x{G@3x-k7;=yw;sZ~VE>VtwcN3(14n zT}wMlmeW+LQJ=z z1^X$QIYtUXtIUrVst7@uieIq|#4F4TA&S)81+p_y1RML{;tOK{4FDATq#do4#-G{OFlN0JG{P8#HK1mt6Va* z);&narz+j_I_Kc)Kc`fxmOb7QIdqRvo}K!gdlU6NK=vA$nWCL>36;S9NUoaYsZ!I7 z&N5H`@__iUy!lD#nf7NVU6dWm$EUN>+;!QW>t>3wJ43A&S9RC^rs}yI&6&yf z%uLC~&wh~#g@x{zG7)sEyC-{vERT&Mmn`%J1|>V7?-W$}uOhpc%%lhM-l8YQ6HAy@ zmC>W8j>Y4|K^jygyp=vtG(qKYhv}1`azB-NsZ?!CA-&AxQ!IlC*UB)p?jc)CwuY>O ztevcdOl^bS0IVPjlC2|KPqslGO*|;BmrG`!GS`q^NmeW0oh>U-8?7U2C2J$wM;0Rc Y1HJawgt3#FGI*#=x0@0oqoTX{7Orsy3jhEB diff --git a/Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTx.pdb b/Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTx.pdb index 9cd7c0e59ed4ad14d127e1edd515400ee04ce73c..df662b584e821838ddbaa3d3d9b4725fb9d12bf1 100644 GIT binary patch delta 2287 zcmeH|ZERCj7{|}KT}xNmQ8w)hlyN($w8Qmf-6mV7u45xEIv{Lpe&|TLOW*7pwzp$$ zfsH7c5+-y9BZ(g*OT-U;k=`&(T+l@mO*C=Yi>Z@forwv?C`RHJ6?_hBO_$J1)UQ6t zujlmqpYxoPd!FZ<@mb0EHOV=%>KH;u&cF{CFBoN?;S8f<7?cw*^9#<%%F1+O4Y&F+ z$fg@}yUPzr_n)0;AIi$EoD>X-AF*Mz52QUUoKO7Xg^?ICaSnR@e3C}!OkPei>D3uzi1 zz%g=RG)HFUHg73%==H_|z8G&EetyK_QYpy1*0h0N8zXlH3<9gW$`sZp>*HXR`0@Ss zTV*d9IPu{>T#2x{YSJ`e6VzMluxxFIpQMOO-H4s*5eCS|2&i8}@ch68HV@P;eDVA|No(=_qd?gR|F55aS3d$j`Q3l08bi7C z(X~YEO}nc!Gzn-zlt~c!z7?SpT?m~vrrjDNO^3qq(=?$6OmmOsCCy27+WqGA$I9|` z*ZsOW6ua3w=Qoj_dHZE|C!Si^fiDu%LN_c(_=OjD9)#!@fggZISWzqvJTGGPOy~Y)!32=&gKtAd`TNu^1(Bc#icDGVa&w1tP$12%UV%= zW?A2v+Ya9jOaaJ%F`yiv2KNQ3gU`AV+ReZQpazfwS%A)Y0d%F{P+Y-NS-GhXPUcBS zkoTc|2~=u_;i9pF7roZ#b(JG^*aAu6^y&d80O^W$1I<7S-~#BL9|uCfvp^Vts|ZB|EdL!#6VOcxc;${n JP_O)f{{jWjy2Jng delta 1496 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 HXb${88~lit literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVc.pdb b/Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVc.pdb index feda8c50d377e9ffb48ebba9b21944d4e80db1ca..6e98da9689dc0772a93b4da99a4ad2fcac081bb4 100644 GIT binary patch delta 2675 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 F{|_1}rquud literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedPixelLighting.pdb b/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedPixelLighting.pdb index 60c3fa2ea60c13d8b5b2c6fb570b6564da4f12fa..d6de5ba0699c3bfe82bec355690ceeaaff2bfa93 100644 GIT binary patch delta 4076 zcmeHKeN0nV6hE&ZAkcyiuttyvlvxmg@@2tK&=8DFLEUh(TR<#=lviwN?dC^I297!1 zluNc{Sr)=#Og1y8kGUnXk3W_`)J3;A18RURS%!<*)aaH)v+UgWPF0-k68zVj{QA4U zd(J)gzWZM9J=b?O#CI*^pi#RM01`F$gXLv8CG3oFLZj1Y;I1rat_vr^LPPc5f?G8L znzw##zBzRFuhQ2wo}>1|R}FGvKjl7pW1W#Bc5R$X&(k#{W? z2UVN3LHZiyLz{&V-JG9ug@eSzPnds#oFx`cPMs z4e4G!bS|i zL-jutY8|%uLlxDm^%aW%7)kM6C#P)vC2~`n`PhZ${uuqpb?Evh6UWLvR-YkOIN5&T z&CJ1w_e8^)E_dtqi_|&93TNl(t}OpubMAuspLF+{cQ>og5i8uWzGzSAtn6T?thwge z-kAW6tj@8>n=OEE7Y>OGy(;^NVSqF-oJVa!e`2^xni%vLgWHKAi!?D*pw2-%F>DdQ zt2AJRGkC~>7};TCCPhzO+>Q5lS+ ziNU*=8i-*dX=3n@CWcBuvoe_hLG%@s$ zCWZmh#4v%H2PB5*Fn}V|#9$^(3>MU8w5uEg&`J#o%ZFXNF{1)z@H~wqS9n z);vic?&U5|(g!7Zdy+o*(=(nvOe9V{Wk}4!eOx)4KQm*67u?4Dg&&&y0DXHYo>HsT z){?YCr3p#=WcHuZyq%xI{B-6g|2nou_jljv=n(a4V^mU+0JjIc`WP9e8*KH(!sF!? zLieyic%P*YKZEgE+puq56$bnOF@ea(0RqP<4wBNSH>ALQl^c-hQTCo}lMv`;H_VbQ z64=o=|ktTiCEA{r4*h;4{wgblHf%^o|l z%7nE%L_VSb!9Uw#LMT?>SS$dXemi#m0hQf{N8(%4)>l=WsX#mlzkPnB~ z2M2W7Obu+lPsbE5F2{74tZ92~?X7hdZGpD+DU04+!EVKTsjNP3vU1DPoe4~xkQ3+$ z)eW|=^jFS!!$bYm8zRZ<*uYEPC=-%=!)jf0h|SulwV0Y)I$2?CuJSQ!qtR_XVFos} zHDbLbT{dieh^g8PwlATUZR{mOm(CWFr1hR&-CFGJ1xNR<9aJUeuQxuT&)hf+yn(;% zLC0#fZ+NeR52=nG!=Uptj_|xUG}NEK=2OZxM0G4g|E4#CeLAwSaiBc+`qKd{*HAu@ zxf~}ipM6JU4W^^xdo}EkS+nW=$Ge}P$=aOO)ZGI9Q&3(t3knty9mM{OY6(yH(I6Ob zW(V(BnZ2xL;nqU?FntM+;H1{0c*;)+Ul>1(2jHPH6p#6qDseqGK4l@QJ`5lN>v%4Y z`IdR?WUb%c@zj~uB!B^||vge{cWW_Vm2;p|)5nIej;|X@Q(U4O+8ijYu>U#3*Hvt^a;^mMq>Y;-O zljMmokN!616X6bdBE;eC@i-Au$rGU*{Vj|Wp+NwDRA~?wtVUj!%E|Dj~4e~@#2GA4n5cK4UV9%!tA{-)5gl_Ug7$r}H8S+GMpc_O&b^A3q11>r;zz(Ir@@x(|hC9SFvu`S*n9 zv%4I{{4%pPZLmrEooN}u-Ohw#Eb)rL|NP}X`LU5Jp_>DE(2Gs)Xs=IiGFcis(*5^q zRv73uh=^ywh@^UXqiBjQH2t~G|LQqpE6^T*-KYxfs1*0Cvd`Zqw z%?X41?ipHACMV)s`W*EP>I5e6@;#n?4VcJJ2YkaFW4o5_%WlPp6@?otbN?7mG%R(00dF^!ZZuHrx`%yTZAP2Pvm5a(l@!=Jsno!NC7L*xf RLh)jgBd=dm$lB`>;$KnZJ;DG0 diff --git a/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLighting.pdb b/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLighting.pdb index ae71656f2837badae39cfcebe95240a9c5e59233..5745b938742715d80c728b0ff71f73a92c0a7944 100644 GIT binary patch delta 3396 zcmeHJUrbw77(ciCU12i*(lM( zsWA>d<9r}yL6;@EjKD>=1f35)xNNXaB-&I53;ZUYy@)Z~3R(2lmQIe)l`) zeE-fp_uSui0vDqKvr%UZ@@_&%v;-g6e7r991~Vp+OC)5GXCzC^SZs8(y07$Z6NBmp zcP8E&{Y`2<|KqgkldBaoyhi#5qZvGes(qE#=Y0;Z&$`d$x3@Q0YaPD!PR~&onleE3 zRI-}bE3N*Jft?z3TU!N#nxFyRlqIXg0!+#hRbu{$@QC?VfTC8X?96uH*Gn-#rru}-(g)@g#~&h3!>QU?5`ye;!OI{jXb?eMz| z9Gvk_!M%y3xP$F&oS~}?j`gO(y{u;#4zy|)oL8oUr&|wwsyK<6gI}_9;oONN>afe) zX7e2?K^Ly@fXCZmbLUpcrE)2YjSG$0$5|mLmoH4^vqo6TvM?O4RVx`9CUwPRB@*a* z53X52-n!(an@PSL^T_>279>)p|CC3pX*wX-rp zrZFtFrMlJaG|oqCfA2{9c0PuXJ%TOj6sv8?IP^PH%3K(Nh8kZNsuAZRp~{=;1G`y5 zFjC02k=Gr*ADz-!F*5VQou5DT4=i3<7%_i_?*IjERXWX>#7yo`%M;Nn*&8B$ZSMvJPb~U(`{A#fd<(=P?xgX-|)Yzx&8_$rcqa*MTi64i&;JDvp#o zO2rGB&C{=@1b@sB&wXBj9onM8f<7q$Q8M~q4+3v-%Jnxko zh)4W@pg#S);?@K+I31t!93F`;(fTq<7iwrzyhsSGx3p5xf;tZc(>rw@)X+jxh2Rh! zh{Fh)zYI|hZ%x0Wdlh@l2pggWVMnwg90(_37bw5KP-etl3BrUZMbJ~c8&Qd%>#au6 g)wCgwAl!&{o{4|J#2mw}H`L{m;uo2f$ABgOU-=g<2mk;8 delta 2306 zcmeHJT}+!*7(UfAFOj%(I!+}a*t|N0UVH>rjv>mjjEijuc z)Maz^CvojNW3spy@PZ3BfA|vhV(Ppg+p=genwVg1O=qGP>V=79crknreCw~%TQ7W* zhd1wep7VZ(bKduyMv{`qCCNEnd5jS9BZGg?yu#-4o6J0`WSQFn!~V|9mrJGfpPc#b zAQixZ>_%Jg^`6*I-^LESbm)$tQ~bhIIc!Mnu?`J*907mO?+Srk$wNO^%{i?@FDy~HNE2l11b|}@w%GOdyD^}LWRc)%dD-!aRf+gGEm5|GRp<8vL zLOSX9IAQUG0VF4vYbQOv=Dq&FxP45&Q$Id2#;*;)O6?c2!DAjD4Z#%Ef?C^Nwocj4 zxWV+oeZP=a7f~))21h&S`+~mW2OW`u`ANbo01{l`A zmHiHGl3m<}Sac3oxR9mdr?jxRwYPvZfSi9jtANjAg_FyKM0`pLR`V0{Ez9-7@_Uz9 zaC(l+?$yCFUR~+&hnJMa$IlC^UPc0%nsWHF+O5)N%#0c9*|+rD&7>MszFpH7#QJ|6 zOPNPd$t~@T{*M|6p;Rw|a`|RsbJ~WjscMIk5Dkt|E#>lU5tH1_dvbQ$^*1;|&fyr< zBKLH@me}&dlTE39kXLbxCQb;O{VUS@TF)`NJcp^! zlQ-9WMD*lijMK=Ao+L5;0b|h<8RpMmEPA5DnDU}0T_P`fQieNRL)t~(i++n>nlQ1f z<}3_PJ%~<-P90|jUwDZ9zj2E@|G(L|KkI12>RebFYestrkA1E7X;08nr6o*jk(Ty? zg^DO%q7M*Ggj!uwx8H2Wo|4Frew`~9Io&uFvjxV!Xi!Ycxz zOJ;~9^&j*MGx4N>ae^^9z^=Rqq2y^@52lVHt|2OLRV7bW|GnO^B4umw^<->3-)v#- z^`6c^W6E4|dC^xBE~Y9=34A2$Ou>M|P}HLWC&Ab|s_=QGqysdQPw?5=?C0rg%nXY{c`qf`ilO-6)`z z#@`KQ9HVzEy|!kcDf6&p6d9_(A|Nir2;wM$eg=z!v>G f#@i8(Am}pM5yJ>O;#q_f;fU?t#CQZow#xhk?Z2HP diff --git a/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb b/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb index 8b3f639899cf9e751f72da495ff3776544667b29..1128826e130c5ace64b7f1b126db529f1add4c77 100644 GIT binary patch delta 3363 zcmeHJTTEO<7@l*WT=oXEz%JpkXBV&wrNFX4TR>zf5*2NiqS7`SVOe&&beD75y#TGW zY$HiqwXrZp`{0G3rcG@m<=`!(8lP<1rAufvJ~V>21dUN>it)+%&+b`n%6Xu#O!A$7 zX8wP^f6kma-;DoCl>ctjd7Zo)Arwu+1B!>&#N4DtX*o@!Ii8~DsnM9|XjNb7{bmZ> zEz+ucKizI7z!=ow)3PL`7(qampcEUQAWsk(Zx9`;4obCahyZX zrUPb6DO%yVIPNU23^A(Ez*ciKuvv>`-)tiH}52oXLDZk0wHm}dkGMzq` zj>YGF6L?`fF}BIs!Rop?@X_96ypZ)Y#bUL}fj>w|!(6u(_bFrPS{DD1ori~xCz1g> zYC9~R{UtDjE!@MoJ1wrfO1VTXVW6;~HuESWkg^3rR{^8P^I0Z}<<+VbiqIr4g)A{) zO>fhR3FNOzUb>#-i>&AHmpw19oxJhb%H&#UJ?C@Ra;(j>atYQqiwJ!$Zaq2jKTDsC zS#3SM{WNniwERI$Vf$iaC^rzd$JY`rbRjcoX+$ zzbCf(>Hl4TRbSvCX3=OyrL)6;T2mHnqt`#_ITiHY!Sy z{$nv!40`wX=?6(T3oGo^eQKhPQ04$S012sTe&NaEDF_WiyHW6gSuB|#s*%_e!v)vh zlp!<)v?P}JmX|ZoABp|7Gxh74O$b#BvEWlIk40nnlzmH?11Jd9*ea@h&=;X9Z{F+Q z#UKPsq1b)A=FoxYE#93Ycb@_K!u=K51IAPh5v+)Kk$xf-M6`$?62(azFfNRKu~`ydLA=O~I6nRQ zFO+okU66?P8rQART@eHtH{B?{YJ8j;4CGL6;oQJ8E7cF-Q@Kj~nj;3k9cbBVf@JRi zW&sA6j~F-HLq&6wYv$VH4SCCbuNUg6wXVhA;mljbV#f@*@M?=ZZflXf!)5anSw-%~ zaJR)Xx1^$U>R_sf|1lAt4vz)Xj5EUVCV@qa0h|ED14w~`2yKIfm4ZzI!~(Q{IKa06 zGUgPom>j1Dr{Z#-g>BLg(c@srry)gg03mXml7onxmos?#)HV$Vo+E%t01M~@90HL1 zWq@*gcIp*P3)ETx7C;-o3TOw|0CvC*oO1hOnI38-00W>DKz8;n0NIOVzEuDRpaXCi c-~u>#D((Tb=_pj)p(>vkH%Bc!222J20+<6Xi2wiq delta 2275 zcmeHJZETZO6u$Rux3yir#eKD9owTOnSlbO1xM*jdqWi{c<5$imvm6Qf1&4CHLOdMi zJuv^G2}FmMs)qSc)2?u2$Q3khF%CT!w5$xk?^T~m`VaCU7J_v`2P)mBvQ^4;#1Gb2 z-p|sB!~F$}8TOAK&9Xq(=F=+E8fiG>H3s=Xe+;%(J0wqpyxl9oC$HIHu1=ksnORnm z+hU{94!yboD9mCvSs}evp3C%RT}L(x?(Sa`^cmW6lb^LT7j6UpfxpdQf&t^(*>&)c zT$y8tPn^abUd&R7!#bE>-&w$#Kx%m>tAGpf!pUVqGBF|shi&If^HPnlbnYw%9)91c zU3z#rpfCOWFI`gwDsl5O#MHGrEEbk z$#vb8?vH8-VN@rAarxHA<+Qcy(^|KJ5H*f5E#vZS9+TY3d+1c-<&$zkj^h~9BKK6j zmh|O`hc~3VrppM?X2gukw$mN+Rig!hW?@o|%vwzX~>-JOhf zO1t)MK>@rGt*&J$)$~KVWb=EUKA^cwdq%&qNdLrr!TD%4Rm0cO)~+8385_V<=vUIR zn5Ad&8N^MDGoE~g@y{4%Jo!EouX^E`*bR=Gn}zm~`_T#hk+(P@H0tF3@4@0G{%`i+ z4|>*ndLF;(im`TJ#mLH-l{YI3R*kHzSe0J16EgS+AzgYxmLEkT&k}jGhb+B@m^WtONn6mHbv|GE{``7b?y#_WBvSKlka(d>BEEl567-qLGw)=Orl!D?a8X)vU1 zCASlM7GWw~SxVq5SZ$3)+*ThS^hT{E?`iu&Rq>>a|2SbepnzKo@*TgGuO9h*=p+ak z9zrGh2ttaOL&!47ND1CTM1!b6Jc)X_V3#Fnyth8FC@~xGi;d&ptLS@Cz-$437}#)( zU83w>nuZOF584Nj@guM_h!5dK>_@O=uw+OxVl%>lXhpQa3yZJQ7BF8wZQh9SLx_hF ZY#W;p0|*!50K$WC$2;mNFHp%c{R_h{o@M|5 diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb index 7e0cc924411243bdc806809a6edeee96d7af5205..047521b0b1c7a31ea31b8eba300d1445c09cc3fc 100644 GIT binary patch delta 4435 zcmeHKdr*{B6hC(tme=mO5RWwwme;r-@|LHfATl&L3R+=B1;XMY`#@e&J{FRU@ioGA zigBEVNXN#SNIx>YEE`~2S zr_n-1R%xT%ph6g|F0CYk+zWdCy3#jjVh8C#uAZHun&RSFJwJKQ$K~^37knZnh+UeW zlAn~ME2^`u>{Q2j5C0&C%cC;*=3^;M-R_~NGFi(TQh3?=C?5G-F#k2+in7ko&{${D znHx=d3*T-##czJ0@mN|@ZP7PX^Hm%D`OVOU%)-O8M!qLtDz~;qa9favEYHHfi;Usj zZ5r`FdR}#T{jy|y#1g;AT4ydd#bm3zRo*%*7Q5EX(UDV295u!1lKAz|B4&}ov;j=G z@gFl8^Tfk9E*&?3*n5JfPA2#ruUq+%S2s-@ym-U-;1NCr*2cO#tHn@1ehMZx3a9(E zysW+V0aNeKEfEFy_Cvb8_US(z9`Ci-Vi57|;R_ye_O%ZG(vZ&NVg;^mDjzq7G{*|q zgHP_gogPo{w#au}&3^Fx6Tr6_y&if1#T&*vzb_4KUG2sX#T4!@TF(x|{;r+n_)v7T zvq&|^sJz$MH#L1U$?=I*x>#MaZl*2?tI}ut4$63Cd00+hgAs8kLa(tB54^ zTZR{`fv+uW#E?On7>uNe zp^G#z^pPfpGYo8YhgcB|e~7PZ|>v=#PJ>rENyPcWWf!%3%vpJ7d%K9{;9!JBMy}y zkV`>Lmsn@BhIL84%|lG>2h0!m7q|;kjdc5EnM}Ij_oeJnR(2;Pe3X^hbK*x?8790U zD;o)!d?pr>jK5Cyl;@)itcW7MJ}M#?F(Tf`0f>Ln(U=w4ksBB;5*}yrBicoB(~cO$ zy2w~G9l1Aqjw`3!e{Iy;6TS&16!sSVdX8v2qFcePwdrxS#^<0rn~5~-!-G1zIVhYv5D@@=lQhriLMe-aU+gM zsIRL?sH!#@>JutlT%Pd)%!kka+a)*9MYy>x`t-c-!qnVhN`$>}0u_jL2rq;vVwPv% zr1~KHB0LZg2(b_Y2=Pp-r2hIa>m2knBVrz6E}|Y$hcF?;fMy}m_}0PA;gwi3AgT~65Jp5bVkM#mk?UA*P~ E5B4keEdT%j delta 3378 zcmeHKZETZO6h8Ou2W@%VwR3D8?Qm#G3PIX!fb0X<5GD{lHWp+i6Is@6?burEx;cs1 z8bKCVg!PiB2tg2o@goslBJx8S2?Pv~VFHPX28`kuaYpcipeEqC?OE5gLw{-f;Z2@B zd+s^!x%a*Iy!W0)hE$RBs+~?_I{@5a_y=1+nXEm>jz}g+VbV|Rh*qt(ezN7uHNxCC z*Yo-6TdpO?f|Wzte(rf!u^Wb%rJ)*43rp&j`x=6Q_CQmJ*BhOD<#me@JSBB)iQe)S zC*Lbu^i!VF4YU}OnPM?3qia@ZfzBPYtep^SYGuFX>%f6tiS?}`;$z4$!&#=wW#7*@( zyxg_@gM>NSQ!~mkg+KkuwuF_lNy+96N0vU|Z_ID?HG4yRUQUT_rN41mOnlnw=6w^* zBTv$>#*ryb&oAIrwsm}Tlmdr~UzsG2MA|X2A`t~=_qPG6^U6jZe#%)mdK&lwV@7cB zb@}@e&IYH7qbciNTA1|xtO`-HEsCAW(h zWH|1o1JlpGDg*4qKH-bDCz5@kI?1{7kt<90YXCCIS=f?WKZ@bNWoyyy|GlQN7fjNv|3fAue?*9kPTH901a3{4Iiq+3TA;-S<-oeu{y5r zYSx?@2T;p9x{4oYl6Ie2P`Y5_s{Zy${n97r;_Ug!uAE%)zGn7Ofv)(y6H_f`+47B- zocg=CX#7@J4i2h+t~7iZAo3=@Co&vGTtH0>Uy~*V9mW%OVwgjk7`&v3;Wg64aFjH$ z*tBpgpx9Xq96LqD0Cz|`F$07qhFa3Z&`p{c4w5E@KGMW6NSYX|s&IS&D=x5@z~VSZ zh@p!#G3+8u9NQSoo`~2WkwvHC93h5lq=`YTj`>B1!4akoN1S0HX=3n@CWg(ViQyn= zV(24H43|g~!%fs;%ZVXu#_vLO5Q7u7cq3w1Oqv+Hq=})MG%>t`TErv91U3^aV{sTe z$29y){b4aX4}Sd({{Roa`7n<$j$veA<;?TNthcHx#{kv|m^b*vGcbY9ESmvxKvHZk ze1~>*G-77E6iehPGns&8VoHMsJwl+|eNmDW|K>XB|GPQ$a{q7M&4YGvC)<6vg|Q}X zM?Cssx0*N;#U&(;6>*S@OY3w2K=Y#jOYH#n9z#P?i;6^`CN8ezCT>)5o0@wo90$IT z9}YIu)p+YYjluT1Re?aL#uvZwQ%g%ZxgOvvn@%c27g=HXKY=9@jb z_*fh8Y|%jPIUXA5u`j~DZp0bHIGlQFY*FE+6(C&HvMHWLsU3NFyJi%y`xVvudETHq zwSJ9N&V29S_;dpn$~ms~V1uj4*V@?bN-LzxZ)B%FH1jVXxYuIjcW%gwe$~cTs99?ylX$a~O1w5#~z z!Htfh#1d7DsB%PEB+95?WL`2fX;v$`wIRw7rHJ*27K8^O#>JF^Lc~18d_*~-f^Qny z&WiZd9}ZQ_L_G^J8-b|@a}dRd5`>s1RvXZWXhJk2L^693!_BW)ZvLoI@^6}@KLMhQ BPDKC! diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc new file mode 100644 index 00000000..3970b297 --- /dev/null +++ b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc @@ -0,0 +1,428 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// TEXCOORD 0 xy 2 NONE float xy +// BLENDINDICES 0 xyzw 3 NONE uint xyzw +// BLENDWEIGHT 0 xyzw 4 NONE float xyzw +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// TEXCOORD 0 xy 0 NONE float xy +// TEXCOORD 1 xyzw 1 NONE float xyzw +// TEXCOORD 2 xyz 2 NONE float xyz +// COLOR 0 xyzw 3 NONE float xyzw +// SV_Position 0 xyzw 4 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[242], dynamicIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_input v2.xy +dcl_input v3.xyzw +dcl_input v4.xyzw +dcl_output o0.xy +dcl_output o1.xyzw +dcl_output o2.xyz +dcl_output o3.xyzw +dcl_output_siv o4.xyzw, position +dcl_temps 5 +mov o0.xy, v2.xyxx +imul null, r0.xyzw, v3.xyzw, l(3, 3, 3, 3) +mul r1.xyzw, v4.yyyy, cb0[r0.y + 26].xyzw +mad r1.xyzw, cb0[r0.x + 26].xyzw, v4.xxxx, r1.xyzw +mad r1.xyzw, cb0[r0.z + 26].xyzw, v4.zzzz, r1.xyzw +mad r1.xyzw, cb0[r0.w + 26].xyzw, v4.wwww, r1.xyzw +dp4 r2.x, v0.xyzw, r1.xyzw +mul r3.xyzw, v4.yyyy, cb0[r0.y + 27].xyzw +mad r3.xyzw, cb0[r0.x + 27].xyzw, v4.xxxx, r3.xyzw +mad r3.xyzw, cb0[r0.z + 27].xyzw, v4.zzzz, r3.xyzw +mad r3.xyzw, cb0[r0.w + 27].xyzw, v4.wwww, r3.xyzw +dp4 r2.y, v0.xyzw, r3.xyzw +mul r4.xyzw, v4.yyyy, cb0[r0.y + 28].xyzw +mad r4.xyzw, cb0[r0.x + 28].xyzw, v4.xxxx, r4.xyzw +mad r4.xyzw, cb0[r0.z + 28].xyzw, v4.zzzz, r4.xyzw +mad r0.xyzw, cb0[r0.w + 28].xyzw, v4.wwww, r4.xyzw +dp4 r2.z, v0.xyzw, r0.xyzw +mov r2.w, v0.w +dp4 o1.x, r2.xyzw, cb0[15].xyzw +dp4 o1.y, r2.xyzw, cb0[16].xyzw +dp4 o1.z, r2.xyzw, cb0[17].xyzw +dp4_sat o1.w, r2.xyzw, cb0[14].xyzw +mad r4.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +dp3 r1.x, r4.xyzx, r1.xyzx +dp3 r1.y, r4.xyzx, r3.xyzx +dp3 r1.z, r4.xyzx, r0.xyzx +dp3 r0.x, r1.xyzx, cb0[19].xyzx +dp3 r0.y, r1.xyzx, cb0[20].xyzx +dp3 r0.z, r1.xyzx, cb0[21].xyzx +dp3 r0.w, r0.xyzx, r0.xyzx +rsq r0.w, r0.w +mul o2.xyz, r0.wwww, r0.xyzx +mov o3.xyz, l(1.000000,1.000000,1.000000,0) +mov o3.w, cb0[0].w +dp4 o4.x, r2.xyzw, cb0[22].xyzw +dp4 o4.y, r2.xyzw, cb0[23].xyzw +dp4 o4.z, r2.xyzw, cb0[24].xyzw +dp4 o4.w, r2.xyzw, cb0[25].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE SkinnedEffect_VSSkinnedPixelLightingFourBonesBn[] = +{ + 68, 88, 66, 67, 214, 196, + 193, 164, 229, 146, 166, 175, + 186, 98, 134, 194, 75, 176, + 148, 66, 1, 0, 0, 0, + 8, 8, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 240, 0, 0, 0, 148, 1, + 0, 0, 132, 7, 0, 0, + 73, 83, 71, 78, 184, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 140, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 147, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 15, 15, 0, 0, 169, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 66, 76, 69, 78, + 68, 73, 78, 68, 73, 67, + 69, 83, 0, 66, 76, 69, + 78, 68, 87, 69, 73, 71, + 72, 84, 0, 171, 171, 171, + 79, 83, 71, 78, 156, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 3, 12, 0, 0, 128, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 128, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 7, 8, 0, 0, 137, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 143, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 0, 0, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 67, 79, 76, 79, 82, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171, 83, 72, 69, 88, + 232, 5, 0, 0, 80, 0, + 1, 0, 122, 1, 0, 0, + 106, 8, 0, 1, 89, 8, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 242, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 3, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 3, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 4, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 38, 0, + 0, 11, 0, 208, 0, 0, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 86, 21, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 26, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 26, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 26, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 166, 26, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 26, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 246, 31, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 17, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 21, 16, 0, + 4, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 27, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 166, 26, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 17, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 86, 21, + 16, 0, 4, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 28, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 28, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 6, 16, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 28, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 166, 26, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 28, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 246, 31, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 17, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 16, 16, 0, 0, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 17, 0, 0, 8, 66, 32, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 17, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 50, 0, + 0, 15, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 19, 0, 0, 0, + 16, 0, 0, 8, 34, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 32, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 114, 32, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 3, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 34, 32, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 23, 0, + 0, 0, 17, 0, 0, 8, + 66, 32, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 25, 0, 0, 0, + 62, 0, 0, 1, 82, 84, + 83, 48, 124, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 124, 0, + 0, 0, 29, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 76, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 104, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255 +}; diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..1e8e984e9f952103ccbdb9ced92c052e0277b350 GIT binary patch literal 62976 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 AfB*mh literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb index 00a2c13c4959b1b5abceb4758f6a4bd4e8ea0fe8..e29780802b40f3c83dd93ee78b4958fcb50e5b4d 100644 GIT binary patch delta 3839 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 B(DwiU delta 3252 zcmeHJeQZ-z6hHU1UAykJYn!nR+QHCb3PIY9563=Wn}A3LZj3ME_*m9%ZQ0tnb%S7_ zC4wwCf%TGTkO@o-Ch8yZh=w4F0RjfirXj|!utmo*l93RD1kfS>en__yhvPhSnsGOawD!q}GsIt)}ARsCK`b z+F$)377lk-kBdyB8~5#vMJbsaA5OPsr22iX+(u7>J3tp?6>6UIxhiDi(=G=+H_0$| zCtp@Kw#Avbd9>2JiH@Ho&uXXFCW~V;?VnT@n+13Gw-Z$56p!7!-j+Xp8~6YZoxw^s zazgZ>q9^Rs)g^r~s^Y3I! zcTT@AP^V`@&k74&=d~oi`W=J1#8+>VM!iHq4H+r)zR9gO|Lhvcfd^M(%!&?*!6ngafL}Yho-enjIsvp6hX9D=s>fB{?TS32Kri?nOfR2 zN-{tRfR9GtIAq`onNVp2P=N;h0om`6cN6tzqyK>H&wy;Hq8Tk2ERsR2gR zRJ*m{g?i!8rShWkZ7X|Qm!vLxz9jMh2J+F)tNUhL(j3aQUg>CW{<Vrro4di#%dVl8bie2=K%TciDs0rT&?cQ1xJP!~$ikn4-Q;0KYbA|zK za|R8jm&G|l0k=8BDsFRzW^QwaH@M9iE)xjK6XFlXFvta*00y~$Gbk02IA^eOn=>rpHfL~hn=|a zZO(8i$Q`F541LJwamSqD7PmQr29FqfBFd zT`jFOEB*dJwWncL{Z@B!KZvE7b`IL9alk^445>aWuOZN ztu-_-)L~hSjt;~ngc^67)Hqf=s+&wu&Q5F;rsf=+l}8@c)gGfc!;Yjjg7vPndpIpQ zfURnly|tyzUhipiwc3-K-qIVHi8syp%Ns_$I(qkpxcIjed~zI*Av6drCLs;E1(Aw4 zhtP6xDP|AwuMQK2SdDs7%G37ZXFer7qRG#}clITw_+{k7C}5)>yLSf)S+~O)2-a}0 z4uy3zchhL$$mIE(QPzkkLKGsr2zJKm5NusMMUaoc>J1AJ3lXJ=GP-?a51CD;-#k$^ k2kp6tc?djlP=J_^VEZgaI1w&HJ;IG>K*WzGiD*X2pRE})8~^|S diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc new file mode 100644 index 00000000..d59a9c38 --- /dev/null +++ b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc @@ -0,0 +1,374 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// TEXCOORD 0 xy 2 NONE float xy +// BLENDINDICES 0 xyzw 3 NONE uint xy +// BLENDWEIGHT 0 xyzw 4 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// TEXCOORD 0 xy 0 NONE float xy +// TEXCOORD 1 xyzw 1 NONE float xyzw +// TEXCOORD 2 xyz 2 NONE float xyz +// COLOR 0 xyzw 3 NONE float xyzw +// SV_Position 0 xyzw 4 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[242], dynamicIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_input v2.xy +dcl_input v3.xy +dcl_input v4.xy +dcl_output o0.xy +dcl_output o1.xyzw +dcl_output o2.xyz +dcl_output o3.xyzw +dcl_output_siv o4.xyzw, position +dcl_temps 5 +mov o0.xy, v2.xyxx +imul null, r0.xy, v3.xyxx, l(3, 3, 0, 0) +mul r1.xyzw, v4.yyyy, cb0[r0.y + 26].xyzw +mad r1.xyzw, cb0[r0.x + 26].xyzw, v4.xxxx, r1.xyzw +dp4 r2.x, v0.xyzw, r1.xyzw +mul r3.xyzw, v4.yyyy, cb0[r0.y + 27].xyzw +mad r3.xyzw, cb0[r0.x + 27].xyzw, v4.xxxx, r3.xyzw +dp4 r2.y, v0.xyzw, r3.xyzw +mul r4.xyzw, v4.yyyy, cb0[r0.y + 28].xyzw +mad r0.xyzw, cb0[r0.x + 28].xyzw, v4.xxxx, r4.xyzw +dp4 r2.z, v0.xyzw, r0.xyzw +mov r2.w, v0.w +dp4 o1.x, r2.xyzw, cb0[15].xyzw +dp4 o1.y, r2.xyzw, cb0[16].xyzw +dp4 o1.z, r2.xyzw, cb0[17].xyzw +dp4_sat o1.w, r2.xyzw, cb0[14].xyzw +mad r4.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +dp3 r1.x, r4.xyzx, r1.xyzx +dp3 r1.y, r4.xyzx, r3.xyzx +dp3 r1.z, r4.xyzx, r0.xyzx +dp3 r0.x, r1.xyzx, cb0[19].xyzx +dp3 r0.y, r1.xyzx, cb0[20].xyzx +dp3 r0.z, r1.xyzx, cb0[21].xyzx +dp3 r0.w, r0.xyzx, r0.xyzx +rsq r0.w, r0.w +mul o2.xyz, r0.wwww, r0.xyzx +mov o3.xyz, l(1.000000,1.000000,1.000000,0) +mov o3.w, cb0[0].w +dp4 o4.x, r2.xyzw, cb0[22].xyzw +dp4 o4.y, r2.xyzw, cb0[23].xyzw +dp4 o4.z, r2.xyzw, cb0[24].xyzw +dp4 o4.w, r2.xyzw, cb0[25].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn[] = +{ + 68, 88, 66, 67, 48, 242, + 156, 133, 211, 178, 216, 51, + 93, 186, 224, 210, 209, 87, + 23, 151, 1, 0, 0, 0, + 232, 6, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 240, 0, 0, 0, 148, 1, + 0, 0, 100, 6, 0, 0, + 73, 83, 71, 78, 184, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 140, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 147, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 15, 3, 0, 0, 169, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 66, 76, 69, 78, + 68, 73, 78, 68, 73, 67, + 69, 83, 0, 66, 76, 69, + 78, 68, 87, 69, 73, 71, + 72, 84, 0, 171, 171, 171, + 79, 83, 71, 78, 156, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 3, 12, 0, 0, 128, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 128, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 7, 8, 0, 0, 137, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 143, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 0, 0, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 67, 79, 76, 79, 82, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171, 83, 72, 69, 88, + 200, 4, 0, 0, 80, 0, + 1, 0, 50, 1, 0, 0, + 106, 8, 0, 1, 89, 8, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 242, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 3, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 3, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 4, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 38, 0, + 0, 11, 0, 208, 0, 0, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 86, 21, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 26, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 26, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 17, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 21, 16, 0, + 4, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 27, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 17, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 86, 21, + 16, 0, 4, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 28, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 28, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 6, 16, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 17, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 16, 16, 0, 0, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 17, 0, 0, 8, 66, 32, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 17, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 50, 0, + 0, 15, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 19, 0, 0, 0, + 16, 0, 0, 8, 34, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 32, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 114, 32, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 3, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 34, 32, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 23, 0, + 0, 0, 17, 0, 0, 8, + 66, 32, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 25, 0, 0, 0, + 62, 0, 0, 1, 82, 84, + 83, 48, 124, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 124, 0, + 0, 0, 29, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 68, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 76, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 104, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255 +}; diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..882b536a422e9e4fe589233e7df008d5e8aadcb2 GIT binary patch literal 62976 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 Ofsg|s2SN@Q9Qc2AjoQKh literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb index 03ea4b1c593d70cbd6e7f0297ef4c47b8fae1fcb..39606686d6fed93160d3c02e7b17b317854175bb 100644 GIT binary patch delta 5570 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 K|JB@EZvO`|*7NQEE{Brd`);f?@kK_QQK2ja}b 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 T=f>i|v#1WO`T5Vy$$|e5+O%@c literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb index 36ffaffe2fde8ae8f78900216bcfdcc8e9a791e8..79969fff3862bfde50f203283f565d01a359d28f 100644 GIT binary patch delta 4392 zcmeHKdr(wW82`@hvb^@ff-J1D!sTHs4{?{5grtDT=;UMZky_M9T#J`vPN!@Lf`vUT8Lp zmKw+MmY|e?o<1d9y{>@nk1#8!C_VpU1@yK7v>jDK)s&tCWJ9idl#DGaq%i%~4vLj*B1nErp8)ZS7R5e>ug3l zZhh$l-s;r)&aJAn8|y1^<<>B~6*Ys|F1LH=-=eE=B8gjGGC&t8&*8 z#%!H?PXI~xInNl0^8u?{@bKoBhjw1Pb!RdMixcC`E|IsW$!-> zeHhwfi|Fgmi@V*!-x-tYKih8Q{@w12{^jWFJ@%#ZqD^K7Zfq;PCx$G~47i<-?7RCd z9>b=%Ho4J{{QCghHv|77isCJI&A%_5-?2)C2NS2YTb^YdNx$kdJ%5YnU0&YW>O>)6 zt$SsA|D3c`Q@NNVt`^6MW-3ab?mM8srKQoWMF!lf8G~O78kwCSLuLmtqGgF7)7L09 zFJVe;WUq;tXrF9aJ2M2MPBAQ9XTrR4jVqdOtdy=3j0CQjyWr{RYjgmuR4?|nQ8tjq z(0<&n+t8Zw)ea57DKgG=dE4N$k>vflSF6L1^!NZw^6FAs&|qEIhwIBnWmb?0Zff6s zrsj~W-&EFu*^Q5g0A$InJ4cFH=3*>QdZ$8CW*dD;tOf7|e}7@3TB8JiA0b)or<^9F ztCdQFTk1=>M{4m%g=E}pi=3trl1S6&uNTtXx;i08&2>F;%YdBM6(o1-X$%I)fk`16 z^12an`5uKQmXAZxshN12f?;q6C|n2!O9+4usOV{=;2G3H{2;j>$q%~ax%^x4ye$(y zcc{=*9fl>$mH~WiBokCx!5u_JZ%u%_^*#e%c&3>{rd++JTe?IqaUGw!1 zuIw#%&ohr&c3}PKSCWqSy)MQd+gQKiA0lBM*&Al=8m{87^|a)iV|W3$ zhO78L>A8j->Bs|+8xjA3xsp29-s1n<9}T-1(_p(RLdVyCEUjnCXpO*)0MP4V@HsZ4VemI%yQPY?Y|!|mkRT63HjENJ zBsC5{!a>Qr;SH7%3M^DfRUh7qP)lX*k(asmAn?=j7$ZOlfs{vqLD$-(kZy(^RXkum z1GMV_^KtXe2h69RS#suc#V~TVV@TsCbt_?iHobV_zo|Fzlb)aYuTBC;eas`wiEGXe zkK%NqpIUG^rw*J_T&MCJz~H9a9j6xhv1nY>6-V!et~gxR<%fH^3@jGEBv~w8?Mk3` zNOuCYKhiy!jm2lWBbgDmcPCT%i|#mK9NROQ6{59gM}mdIdy8;|kWS&snV~DFtQ&sA9J+sc;^4Mzsb)6Rjrdy}(`%Ar ziu|q{JKkASHom;lW_6A)leretwHAAN17*!c_l3)}PnKyj;=aDo`8{548bE`nCNvQI z2|N*tgk&1nK+1_w5!3UWJNzg(L*RYZOF`csVl9{aGUw4MTCD;&MEOB#;VEbl0B6LU zMRKy+Lnb+qEfWBChLIjVdMPsT8PZ%sm`a#JC?u>VtRk!=@VGJwS=fAOQ%oh5mJ_N7 zHbOPQPH+%b5GLT5%ew_LmC^|5gbX}+IeP45D&-OK2?YfHHARFPf|I~cvHEs%Cu_E7 QeAZHBofLBIXC>AC0_2NcB>^#oAgI#^UcgX z=bJNU=H8iew*7&meMqvyD6{|o&tZk7Neq!+ApM+*>*sEfez{Z{aANECD+#JBC(~)c zhN0}vGg%UuZk9&Wd)^?Lk~~x`N-kPzDXF(MSj!t}v0$V*yp}IbE~;?|GpdYqAFtuv zm_PI0?#vXy+m#vT&dRv$<;pVBz$)IA8DLXId#=dmAa^T)b)V6Bs;v3fMmX4XhJ!1I z0M0)Hu>K(j75fPcy$cZI0kG{jffuO+4Bv6kYnFg{n1i5EA|6#OCH?A?GHJ8bQc4GR zgi%S)s9&?CcJ4B3eNAz-A-ub zVZy~|gPG>)*3ijT%waL~QV>63>Gc^49ahl0zci2+m^v|dl`(d*8@PZ!wGc+v81_5n z!A&Y2--e#Ohtb2c4wY@Ejt)jz7OI{Rcdq(VF;DIk)>+cvAtK5-^*56{kG<8 zp`VwT64xBi;{J$7S_`FZ8j#^u$>5)A3qc13Xm5&b+f<2D=CQ>vOwEC|sS^JsUfYyC z{re6)ZAX-jcO`mlxkGw#Q*CupQSs^l5>D_05&U^VfN!w94;<_3#`{|E^9`n_JEoDD z^xKXoAqzEU8(aC~pT+S>+Vt*!{789affM3}RQR2GJ4r1%#Wphxwglf8` z2_K`LL4i0fn!EOpcoh&WyL@CwYQ&Zem0-)9R)Ipzqud`j@WM6-^u8IWJJ`*MwcCrh z|HGkcJpFHm!=Lml4C>4A)!7S+S}ZQGh{7Tb3ji!Iu%N*L##u8!#e9HlJ-{POlbnmq zDN?bZ;apfW%j4)#RYd=l0tGS9!t0?}w_+Va`>+nBXYKX1>k-)33`d|gX*iwCq8o;F zWH#*`j>7)w;ZPDS{y41Tf-8$l%jz47mRqfj`Id^gXOzWlTEu2k&ehf)FG@03xZ9L-yg&x*tfR` z!QNjM-8{OD#L+o-4-4`5oPd~zm`{JW8$6vknTe=EtVL8KY7sReQQRf62JAM9n)|;< IdUE+c0Auqo^#A|> diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc new file mode 100644 index 00000000..6aa008ce --- /dev/null +++ b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc @@ -0,0 +1,571 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// TEXCOORD 0 xy 2 NONE float xy +// BLENDINDICES 0 xyzw 3 NONE uint x +// BLENDWEIGHT 0 xyzw 4 NONE float x +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// COLOR 0 xyzw 0 NONE float xyzw +// COLOR 1 xyzw 1 NONE float xyzw +// TEXCOORD 0 xy 2 NONE float xy +// SV_Position 0 xyzw 3 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[242], dynamicIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_input v2.xy +dcl_input v3.x +dcl_input v4.x +dcl_output o0.xyzw +dcl_output o1.xyzw +dcl_output o2.xy +dcl_output_siv o3.xyzw, position +dcl_temps 7 +imul null, r0.x, v3.x, l(3) +mul r1.xyzw, v4.xxxx, cb0[r0.x + 26].xyzw +mad r0.yzw, v1.xxyz, l(0.000000, 2.000000, 2.000000, 2.000000), l(0.000000, -1.000000, -1.000000, -1.000000) +dp3 r2.x, r0.yzwy, r1.xyzx +dp4 r1.x, v0.xyzw, r1.xyzw +mul r3.xyzw, v4.xxxx, cb0[r0.x + 27].xyzw +mul r4.xyzw, v4.xxxx, cb0[r0.x + 28].xyzw +dp3 r2.y, r0.yzwy, r3.xyzx +dp4 r1.y, v0.xyzw, r3.xyzw +dp3 r2.z, r0.yzwy, r4.xyzx +dp4 r1.z, v0.xyzw, r4.xyzw +dp3 r0.x, r2.xyzx, cb0[19].xyzx +dp3 r0.y, r2.xyzx, cb0[20].xyzx +dp3 r0.z, r2.xyzx, cb0[21].xyzx +dp3 r0.w, r0.xyzx, r0.xyzx +rsq r0.w, r0.w +mul r0.xyz, r0.wwww, r0.xyzx +dp3 r2.x, -cb0[3].xyzx, r0.xyzx +dp3 r2.y, -cb0[4].xyzx, r0.xyzx +dp3 r2.z, -cb0[5].xyzx, r0.xyzx +ge r3.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +and r3.xyz, r3.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) +mul r4.xyz, r2.xyzx, r3.xyzx +mul r5.xyz, r4.yyyy, cb0[7].xyzx +mad r4.xyw, r4.xxxx, cb0[6].xyxz, r5.xyxz +mad r4.xyz, r4.zzzz, cb0[8].xyzx, r4.xywx +mad o0.xyz, r4.xyzx, cb0[0].xyzx, cb0[1].xyzx +mov o0.w, cb0[0].w +mov r1.w, v0.w +dp4 r4.x, r1.xyzw, cb0[15].xyzw +dp4 r4.y, r1.xyzw, cb0[16].xyzw +dp4 r4.z, r1.xyzw, cb0[17].xyzw +add r4.xyz, -r4.xyzx, cb0[12].xyzx +dp3 r0.w, r4.xyzx, r4.xyzx +rsq r0.w, r0.w +mad r5.xyz, r4.xyzx, r0.wwww, -cb0[3].xyzx +dp3 r2.w, r5.xyzx, r5.xyzx +rsq r2.w, r2.w +mul r5.xyz, r2.wwww, r5.xyzx +dp3 r5.x, r5.xyzx, r0.xyzx +mad r6.xyz, r4.xyzx, r0.wwww, -cb0[4].xyzx +mad r4.xyz, r4.xyzx, r0.wwww, -cb0[5].xyzx +dp3 r0.w, r6.xyzx, r6.xyzx +rsq r0.w, r0.w +mul r6.xyz, r0.wwww, r6.xyzx +dp3 r5.y, r6.xyzx, r0.xyzx +dp3 r0.w, r4.xyzx, r4.xyzx +rsq r0.w, r0.w +mul r4.xyz, r0.wwww, r4.xyzx +dp3 r5.z, r4.xyzx, r0.xyzx +max r0.xyz, r5.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +mul r0.xyz, r3.xyzx, r0.xyzx +log r0.xyz, r0.xyzx +mul r0.xyz, r0.xyzx, cb0[2].wwww +exp r0.xyz, r0.xyzx +mul r0.xyz, r2.xyzx, r0.xyzx +mul r2.xyz, r0.yyyy, cb0[10].xyzx +mad r0.xyw, r0.xxxx, cb0[9].xyxz, r2.xyxz +mad r0.xyz, r0.zzzz, cb0[11].xyzx, r0.xywx +mul o1.xyz, r0.xyzx, cb0[2].xyzx +dp4_sat o1.w, r1.xyzw, cb0[14].xyzw +mov o2.xy, v2.xyxx +dp4 o3.x, r1.xyzw, cb0[22].xyzw +dp4 o3.y, r1.xyzw, cb0[23].xyzw +dp4 o3.z, r1.xyzw, cb0[24].xyzw +dp4 o3.w, r1.xyzw, cb0[25].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE SkinnedEffect_VSSkinnedVertexLightingOneBoneBn[] = +{ + 68, 88, 66, 67, 155, 171, + 5, 190, 30, 241, 229, 181, + 89, 54, 219, 234, 118, 126, + 34, 102, 1, 0, 0, 0, + 196, 10, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 240, 0, 0, 0, 124, 1, + 0, 0, 64, 10, 0, 0, + 73, 83, 71, 78, 184, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 140, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 147, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 15, 1, 0, 0, 169, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 1, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 66, 76, 69, 78, + 68, 73, 78, 68, 73, 67, + 69, 83, 0, 66, 76, 69, + 78, 68, 87, 69, 73, 71, + 72, 84, 0, 171, 171, 171, + 79, 83, 71, 78, 132, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 104, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 104, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 110, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 12, 0, 0, 119, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171, 83, 72, 69, 88, + 188, 8, 0, 0, 80, 0, + 1, 0, 47, 2, 0, 0, + 106, 8, 0, 1, 89, 8, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 242, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 95, 0, 0, 3, + 18, 16, 16, 0, 3, 0, + 0, 0, 95, 0, 0, 3, + 18, 16, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 2, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 7, 0, + 0, 0, 38, 0, 0, 8, + 0, 208, 0, 0, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 16, 16, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 3, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 6, 16, + 16, 0, 4, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 26, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 15, + 226, 0, 16, 0, 0, 0, + 0, 0, 6, 25, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 128, 191, 16, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 150, 7, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 17, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 6, 16, + 16, 0, 4, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 28, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 150, 7, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 17, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 16, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 150, 7, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 17, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 19, 0, 0, 0, + 16, 0, 0, 8, 34, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 18, 0, 16, 0, 2, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 34, 0, 16, 0, 2, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 66, 0, 16, 0, 2, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 29, 0, 0, 10, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 5, 0, + 0, 0, 86, 5, 16, 0, + 4, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 50, 0, + 0, 10, 178, 0, 16, 0, + 4, 0, 0, 0, 6, 0, + 16, 0, 4, 0, 0, 0, + 70, 136, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 70, 8, 16, 0, 5, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 4, 0, + 0, 0, 166, 10, 16, 0, + 4, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 70, 3, + 16, 0, 4, 0, 0, 0, + 50, 0, 0, 11, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 16, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 17, 0, 0, 8, 34, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 17, 0, 0, 8, + 66, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, + 0, 9, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 5, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 6, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 4, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 52, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 47, 0, 0, 5, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 143, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 50, 0, 0, 10, 178, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 136, 32, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 70, 8, 16, 0, + 2, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 70, 3, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 32, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 5, 50, 32, + 16, 0, 2, 0, 0, 0, + 70, 16, 16, 0, 2, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 82, 84, 83, 48, + 124, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 24, 0, 0, 0, 0, 0, + 0, 0, 124, 0, 0, 0, + 29, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 76, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 1, 0, + 0, 0, 104, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255 +}; diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..b039885ec9d51787050cc97e76a9782eeb192393 GIT binary patch literal 65024 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 literal 0 HcmV?d00001 diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb index 9a0e054046f23a970b8d6629a34df597a68bc30e..d1dceb1d926da86d655d8b4ac168491ad2e6b2ce 100644 GIT binary patch delta 5474 zcmeI0e^6A{701urU;Ns)EXt2%SYQDu3v6H)5ETvbD@-$u$!bh6ot=&diy-@h0E=kE zT`e;)HFkijO=irb9c@M@?Ns5}mQG`BXY7wLbhH^Kb->0I8-tllqZw@TN80JRZ_oNG zWot?Q^zEGe-0!{To_pVYZ{ObYLYLK{FVrJeDF^^I6@K9{BqM_f)xaYwGij2SYpl(Qx{AXJvEZC(Jyy37Z;gT+j8nd;46Coq@LQ7FUzI zue;yh!&|Qw^CzwvP0&{33MdY3!eP6sogC_~S^3NQl#GP~tjLJfH(5%K(bvkSt|rCo zpL;DSe}S=GO_fa!hsD|J-!^8jC5Er5;l@oB%>0~J8=5QYf1!feqX0+GsiFEq23x<+ zVDC`|J8v`C{|uMFS(6<6OBi7#KV zcw$_ETL)Y3n?rTv3Mhjw?!2QB-{r#vM`Nvi)|VIHfh+J8X0iUj-S9t_ue`Qh!zYWs zKJMJjCQANpS|0heSm^d5HCQYqzNFmQ^vkIzvv*iZEQ6NEEDkKnr%(M%#oJqRk2IV4 z34J!dAn9W~394c~MVwot7=5ks=oY3nWX;-{9iNj%+qM**!wns^!Cdi3#p5QL6-~IT zY5CTZJJSG;pk7aHh&x9%K8d5gLq}|Xcuf!R9)=aZqV3*eAJ#{GZ+O#xAJziYk}tLy z?)8OJd{4*H<((KpggW&=s0~;b4OQLpOlXw_03#{B8|1vL-)5{`eydYfr#}^k)kc6g zNJx-Y>-1_!&`PD;=Sj~f)y1nfNtHUa+N`w2Aw}C^Pp(=omGIM^%qYuIqqjZ5Bvt6t zdb1gz25M9E7UD$zEPrzNvQ@lldbC0H`3TMT@#c+O*4$c$+Eoks_R;izY zW%ty_WBo=vQG68R$#IppT7=*my{SCpHOVKv9>zAy+5VTA&WUGbm*ls5HfXe>?BXo2 zYH9z<6BnQV^n6Kt`rmWFwm@GF-0vo9g_yij~7 zkik0np}^{(8z6KLCxe7vM;Ic)9BCq$FrM%yf;dT`iQptnghA3oI8K@<79*$x5UV04 z5GDsA#N(=n0f?}YG*MYK(Jod`^zT7#MNNbe(nL5(ng|zExT_EyE<_sO6LKH|s3Yw} zFq0-i9cd!8lP1DG(nL5(nh2MIRBMJ7N5J82@g zNE2a@G!b4UO@!m5BgE@}mMVx4CQXES(nK)g?@rt^M6i)2!bZ|W=pjvnVbTi4uJ(si zL4--tM7T(r2=kD}95e7wAqklS=CmWjDtUg%In|?_=}yA-C}&bK)<-#0 zG$$1~)0}znd6KyTcZW(s^3#=A5Qq4g(jhVhku`j;7NG1Kk;ONCW~45p_x)F|7NCumC7H^WT}$B{AS6jq;w0syumk5R*q>KZ~4GJUSH3~!pqnj zyfC~LH|Or~;UXta@lCWjv`U=v!eNvbSTVB06*1bB_fLh<*ayoTY@v5)mw5K9Jywn> z-jd~)_w}}wcXWB&edTR2UZ~+qF&>`%Z!f;mV+^-8Mw^wNx|UfVrrb6W7ZA5`FocGi z73IKvCY0i$CLu9D!%Q*qza#z%-bWLC_Q;06{*sMdk6$iQj6vKRpFvJyi#QA~U^a#k zL>4NN^!on1E-YqZlMGcTGC&5zcDwt{DWbWCz!sRFGMt&0EYquj!^SgJ#-M{7V6XVZ+28y V9p~AoQ?Gpq#V$GJ<4@J7{tYwSa(e&( delta 4460 zcmeI0Yiv|S6vxlpeXv{hZnvehTXstqyT}TK?m`Qc7O4nT36GYd7A;8A2i;nBmp-79 z;FbusL85I(d;o@rA|z^*UZWTRK_y_&v?gdU5>$)^tyXS+hjfm0=(Sqw{&k<<%g|*_ ztof|ca45eyaIEc8){$z(9`gf>D=S3Tj435^yk)iiI)7z7FO^+<-q|=A%BPep3zz0q zyZCdaIMaa8t!HCR10r+e*yzX!1EccJ4~~v<@sw&)bfmT2oE~#`kpu$D#1pN20Yyo4DV&itL8bZ z!*W2UUE%kZ^R8AW*R=H}uJHQC&GpwVE3I)%bu4SBaj6CTQsPI3q6fV`A$i6Y8;`Y3 z)`eW9&sOn_jjx2=?N1f;^Ni#VJhMLRvJemQJ!dgI?d#ag~i#16HqcrJ8BDB|*&H&Uax)eueJZ|8 z2C!h6h!wub)P;@o#jf6we)MS*Kr5DsSoGZ!84HCG!7Ij|nzdaA5KqCv7nwRy^fjD& z@8Y{w4F%YMWuoCuWrY6`#$3wIfTBsX;EMqkfI(n1$~k(I28=p6i~H&mld|*%O|d*d zuhH05-yo#$ZLUw%#LJm{e|>TvEvPZtZM4ec^%|4i&L3@8jpp&vF7;WqmLLiIh@B@Rs=rI3C#(Xdkonxy>m<4Q8s7QahLJ; z(8OBUuN8~@iR)&si^lO{qd>icm9h_IXdMA%1~2*Hz7K!o2&6Tyyeo0w7}tMA%E32q#Dr;TO_Guo^=R5jACW$;ET_SF-k z6xOHzA%izs@n5PJyy2c-vjf*VBWj!yT)T#~738)Dw2I-;ZEPgN-(-e=F<>29A#rFbKh!*g-NZj>9wR#=;zx41WlZ*{h!R&s3uY=8EsVzeO}O&iXiYMl6?Yh; zEN^LM?dwgtvFN>%$E_bCzm9%kxZq)*;#t3$WtxG-mq6K}05`Wb^s^fIA0r!dvzfZ&KYP^o% z+wq#l53ASjz8{78xb9Kt&F-GYZsrel+t@99WA_-$AL>qH>B=|VHYu&PtfZ)_w7jCW zu4KO7Uti=6odBYbs;0>E0e|90HxCAq`L-Uzo|(n0y~oMQ`N*DWES*>MY_`wD-nO6} zK^ugljc!aFkq4YWxHt?)MNWt=NJ)8eoQGZORKA_3oO4GXfYqZnf9~Aifet)rCuP*t zmSt3WYbxq82Ast6&L>7!%KXa;SE^9JzvX^6|xb1Cd)6nwJ0%(3TFPgYLE=CxSCKlohH1YiM`I_Fx*aSZI x;x0K8br#x0v`PG{i>b+?lhe_v(H=yrLGz(4Q<&i*)74?NUWvQ>lcue}^auWD+LZtR diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc new file mode 100644 index 00000000..1329a132 --- /dev/null +++ b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc @@ -0,0 +1,600 @@ +#if 0 +// +// Generated by Microsoft (R) D3D Shader Disassembler +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 NONE float xyzw +// NORMAL 0 xyz 1 NONE float xyz +// TEXCOORD 0 xy 2 NONE float xy +// BLENDINDICES 0 xyzw 3 NONE uint xy +// BLENDWEIGHT 0 xyzw 4 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// COLOR 0 xyzw 0 NONE float xyzw +// COLOR 1 xyzw 1 NONE float xyzw +// TEXCOORD 0 xy 2 NONE float xy +// SV_Position 0 xyzw 3 POS float xyzw +// +vs_5_0 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[242], dynamicIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_input v2.xy +dcl_input v3.xy +dcl_input v4.xy +dcl_output o0.xyzw +dcl_output o1.xyzw +dcl_output o2.xy +dcl_output_siv o3.xyzw, position +dcl_temps 7 +mad r0.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +imul null, r1.xy, v3.xyxx, l(3, 3, 0, 0) +mul r2.xyzw, v4.yyyy, cb0[r1.y + 26].xyzw +mad r2.xyzw, cb0[r1.x + 26].xyzw, v4.xxxx, r2.xyzw +dp3 r3.x, r0.xyzx, r2.xyzx +dp4 r2.x, v0.xyzw, r2.xyzw +mul r4.xyzw, v4.yyyy, cb0[r1.y + 27].xyzw +mad r4.xyzw, cb0[r1.x + 27].xyzw, v4.xxxx, r4.xyzw +dp3 r3.y, r0.xyzx, r4.xyzx +dp4 r2.y, v0.xyzw, r4.xyzw +mul r4.xyzw, v4.yyyy, cb0[r1.y + 28].xyzw +mad r1.xyzw, cb0[r1.x + 28].xyzw, v4.xxxx, r4.xyzw +dp3 r3.z, r0.xyzx, r1.xyzx +dp4 r2.z, v0.xyzw, r1.xyzw +dp3 r0.x, r3.xyzx, cb0[19].xyzx +dp3 r0.y, r3.xyzx, cb0[20].xyzx +dp3 r0.z, r3.xyzx, cb0[21].xyzx +dp3 r0.w, r0.xyzx, r0.xyzx +rsq r0.w, r0.w +mul r0.xyz, r0.wwww, r0.xyzx +dp3 r1.x, -cb0[3].xyzx, r0.xyzx +dp3 r1.y, -cb0[4].xyzx, r0.xyzx +dp3 r1.z, -cb0[5].xyzx, r0.xyzx +ge r3.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +and r3.xyz, r3.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) +mul r4.xyz, r1.xyzx, r3.xyzx +mul r5.xyz, r4.yyyy, cb0[7].xyzx +mad r4.xyw, r4.xxxx, cb0[6].xyxz, r5.xyxz +mad r4.xyz, r4.zzzz, cb0[8].xyzx, r4.xywx +mad o0.xyz, r4.xyzx, cb0[0].xyzx, cb0[1].xyzx +mov o0.w, cb0[0].w +mov r2.w, v0.w +dp4 r4.x, r2.xyzw, cb0[15].xyzw +dp4 r4.y, r2.xyzw, cb0[16].xyzw +dp4 r4.z, r2.xyzw, cb0[17].xyzw +add r4.xyz, -r4.xyzx, cb0[12].xyzx +dp3 r0.w, r4.xyzx, r4.xyzx +rsq r0.w, r0.w +mad r5.xyz, r4.xyzx, r0.wwww, -cb0[3].xyzx +dp3 r1.w, r5.xyzx, r5.xyzx +rsq r1.w, r1.w +mul r5.xyz, r1.wwww, r5.xyzx +dp3 r5.x, r5.xyzx, r0.xyzx +mad r6.xyz, r4.xyzx, r0.wwww, -cb0[4].xyzx +mad r4.xyz, r4.xyzx, r0.wwww, -cb0[5].xyzx +dp3 r0.w, r6.xyzx, r6.xyzx +rsq r0.w, r0.w +mul r6.xyz, r0.wwww, r6.xyzx +dp3 r5.y, r6.xyzx, r0.xyzx +dp3 r0.w, r4.xyzx, r4.xyzx +rsq r0.w, r0.w +mul r4.xyz, r0.wwww, r4.xyzx +dp3 r5.z, r4.xyzx, r0.xyzx +max r0.xyz, r5.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) +mul r0.xyz, r3.xyzx, r0.xyzx +log r0.xyz, r0.xyzx +mul r0.xyz, r0.xyzx, cb0[2].wwww +exp r0.xyz, r0.xyzx +mul r0.xyz, r1.xyzx, r0.xyzx +mul r1.xyz, r0.yyyy, cb0[10].xyzx +mad r0.xyw, r0.xxxx, cb0[9].xyxz, r1.xyxz +mad r0.xyz, r0.zzzz, cb0[11].xyzx, r0.xywx +mul o1.xyz, r0.xyzx, cb0[2].xyzx +dp4_sat o1.w, r2.xyzw, cb0[14].xyzw +mov o2.xy, v2.xyxx +dp4 o3.x, r2.xyzw, cb0[22].xyzw +dp4 o3.y, r2.xyzw, cb0[23].xyzw +dp4 o3.z, r2.xyzw, cb0[24].xyzw +dp4 o3.w, r2.xyzw, cb0[25].xyzw +ret +// Approximately 0 instruction slots used +#endif + +const BYTE SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn[] = +{ + 68, 88, 66, 67, 75, 223, + 16, 77, 19, 201, 44, 254, + 187, 162, 189, 146, 181, 226, + 113, 115, 1, 0, 0, 0, + 96, 11, 0, 0, 4, 0, + 0, 0, 48, 0, 0, 0, + 240, 0, 0, 0, 124, 1, + 0, 0, 220, 10, 0, 0, + 73, 83, 71, 78, 184, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 140, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 147, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 15, 3, 0, 0, 169, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 66, 76, 69, 78, + 68, 73, 78, 68, 73, 67, + 69, 83, 0, 66, 76, 69, + 78, 68, 87, 69, 73, 71, + 72, 84, 0, 171, 171, 171, + 79, 83, 71, 78, 132, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 104, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 104, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 110, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 12, 0, 0, 119, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171, 83, 72, 69, 88, + 88, 9, 0, 0, 80, 0, + 1, 0, 86, 2, 0, 0, + 106, 8, 0, 1, 89, 8, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 242, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 3, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 2, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 7, 0, + 0, 0, 50, 0, 0, 15, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 128, 191, 0, 0, + 0, 0, 38, 0, 0, 11, + 0, 208, 0, 0, 50, 0, + 16, 0, 1, 0, 0, 0, + 70, 16, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 2, 0, 0, 0, 86, 21, + 16, 0, 4, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 26, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 26, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 6, 16, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 17, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 86, 21, + 16, 0, 4, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 27, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 6, 16, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 16, 0, 0, 7, + 34, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 17, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 86, 21, + 16, 0, 4, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 28, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 28, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 6, 16, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 16, 0, 0, 7, + 66, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 17, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 19, 0, 0, 0, + 16, 0, 0, 8, 34, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 29, 0, 0, 10, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 5, 0, + 0, 0, 86, 5, 16, 0, + 4, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 50, 0, + 0, 10, 178, 0, 16, 0, + 4, 0, 0, 0, 6, 0, + 16, 0, 4, 0, 0, 0, + 70, 136, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 70, 8, 16, 0, 5, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 4, 0, + 0, 0, 166, 10, 16, 0, + 4, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 70, 3, + 16, 0, 4, 0, 0, 0, + 50, 0, 0, 11, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 16, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 17, 0, 0, 8, 34, 0, + 16, 0, 4, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 17, 0, 0, 8, + 66, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, + 0, 9, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 5, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 6, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 4, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 52, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 47, 0, 0, 5, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 143, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 1, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 50, 0, 0, 10, 178, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 136, 32, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 70, 8, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 70, 3, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 32, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 5, 50, 32, + 16, 0, 2, 0, 0, 0, + 70, 16, 16, 0, 2, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 82, 84, 83, 48, + 124, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 24, 0, 0, 0, 0, 0, + 0, 0, 124, 0, 0, 0, + 29, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 76, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 1, 0, + 0, 0, 104, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255 +}; diff --git a/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb b/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..879e696f57761b2b1f93a6913e2937acbadaef56 GIT binary patch literal 65024 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 literal 0 HcmV?d00001 diff --git a/Src/Shaders/EnvironmentMapEffect.fx b/Src/Shaders/EnvironmentMapEffect.fx index 6fd402bc..d3dcd1f8 100644 --- a/Src/Shaders/EnvironmentMapEffect.fx +++ b/Src/Shaders/EnvironmentMapEffect.fx @@ -59,13 +59,13 @@ float ComputeFresnelFactor(float3 eyeVector, float3 worldNormal) } -VSOutputTxEnvMap ComputeEnvMapVSOutput(VSInputNmTx vin, uniform bool useFresnel, uniform int numLights) +VSOutputTxEnvMap ComputeEnvMapVSOutput(VSInputNmTx vin, float3 normal, uniform bool useFresnel, uniform int numLights) { VSOutputTxEnvMap vout; float4 pos_ws = mul(vin.Position, World); float3 eyeVector = normalize(EyePosition - pos_ws.xyz); - float3 worldNormal = normalize(mul(vin.Normal, WorldInverseTranspose)); + float3 worldNormal = normalize(mul(normal, WorldInverseTranspose)); ColorPair lightResult = ComputeLights(eyeVector, worldNormal, numLights); @@ -117,7 +117,15 @@ float4 ComputeEnvMapPSOutput(PSInputPixelLightingTx pin, uniform bool useFresnel [RootSignature(DualTextureRS)] VSOutputTxEnvMap VSEnvMap(VSInputNmTx vin) { - return ComputeEnvMapVSOutput(vin, false, 3); + return ComputeEnvMapVSOutput(vin, vin.Normal, false, 3); +} + +[RootSignature(DualTextureRS)] +VSOutputTxEnvMap VSEnvMapBn(VSInputNmTx vin) +{ + float3 normal = BiasX2(vin.Normal); + + return ComputeEnvMapVSOutput(vin, normal, false, 3); } @@ -125,7 +133,15 @@ VSOutputTxEnvMap VSEnvMap(VSInputNmTx vin) [RootSignature(DualTextureRS)] VSOutputTxEnvMap VSEnvMapFresnel(VSInputNmTx vin) { - return ComputeEnvMapVSOutput(vin, true, 3); + return ComputeEnvMapVSOutput(vin, vin.Normal, true, 3); +} + +[RootSignature(DualTextureRS)] +VSOutputTxEnvMap VSEnvMapFresnelBn(VSInputNmTx vin) +{ + float3 normal = BiasX2(vin.Normal); + + return ComputeEnvMapVSOutput(vin, normal, true, 3); } @@ -144,6 +160,22 @@ VSOutputPixelLightingTx VSEnvMapPixelLighting(VSInputNmTx vin) return vout; } +[RootSignature(DualTextureRS)] +VSOutputPixelLightingTx VSEnvMapPixelLightingBn(VSInputNmTx vin) +{ + VSOutputPixelLightingTx vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); + vout.TexCoord = vin.TexCoord; + + return vout; +} + // Pixel shader: basic. [RootSignature(DualTextureRS)] diff --git a/Src/Shaders/NormalMapEffect.fx b/Src/Shaders/NormalMapEffect.fx index d00fd891..a9d55a56 100644 --- a/Src/Shaders/NormalMapEffect.fx +++ b/Src/Shaders/NormalMapEffect.fx @@ -60,6 +60,27 @@ VSOutputPixelLightingTxTangent VSNormalPixelLightingTx(VSInputNmTxTangent vin) return vout; } +[RootSignature(NormalMapRS)] +VSOutputPixelLightingTxTangent VSNormalPixelLightingTxBn(VSInputNmTxTangent vin) +{ + VSOutputPixelLightingTxTangent vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); + vout.TexCoord = vin.TexCoord; + + // For normal mapping, we need tangent to form tangent space transform + float3 tangent = BiasX2(vin.Tangent.xyz); + + vout.TangentWS = normalize(mul(tangent, WorldInverseTranspose)); + + return vout; +} + // Vertex shader: pixel lighting + texture + vertex color. [RootSignature(NormalMapRS)] @@ -80,6 +101,29 @@ VSOutputPixelLightingTxTangent VSNormalPixelLightingTxVc(VSInputNmTxVcTangent vi return vout; } +[RootSignature(NormalMapRS)] +VSOutputPixelLightingTxTangent VSNormalPixelLightingTxVcBn(VSInputNmTxVcTangent vin) +{ + VSOutputPixelLightingTxTangent vout; + + float3 normal = BiasX2(vin.Normal); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse.rgb = vin.Color.rgb; + vout.Diffuse.a = vin.Color.a * DiffuseColor.a; + vout.TexCoord = vin.TexCoord; + + // For normal mapping, we need tangent to form tangent space transform + float3 tangent = BiasX2(vin.Tangent.xyz); + + vout.TangentWS = normalize(mul(tangent, WorldInverseTranspose)); + + return vout; +} + + // Pixel shader: pixel lighting + texture + no fog [RootSignature(NormalMapRS)] float4 PSNormalPixelLightingTxNoFog(PSInputPixelLightingTxTangent pin) : SV_Target0 @@ -87,7 +131,7 @@ float4 PSNormalPixelLightingTxNoFog(PSInputPixelLightingTxTangent pin) : SV_Targ float3 eyeVector = normalize(EyePosition - pin.PositionWS.xyz); // Before lighting, peturb the surface's normal by the one given in normal map. - float3 localNormal = (NormalTexture.Sample(Sampler, pin.TexCoord).xyz * 2) - 1; + float3 localNormal = BiasX2(NormalTexture.Sample(Sampler, pin.TexCoord).xyz); float3 normal = PeturbNormal(localNormal, pin.NormalWS, pin.TangentWS); // Do lighting @@ -111,7 +155,7 @@ float4 PSNormalPixelLightingTx(PSInputPixelLightingTxTangent pin) : SV_Target0 float3 eyeVector = normalize(EyePosition - pin.PositionWS.xyz); // Before lighting, peturb the surface's normal by the one given in normal map. - float3 localNormal = (NormalTexture.Sample(Sampler, pin.TexCoord).xyz * 2) - 1; + float3 localNormal = BiasX2(NormalTexture.Sample(Sampler, pin.TexCoord).xyz); float3 normal = PeturbNormal(localNormal, pin.NormalWS, pin.TangentWS); // Do lighting @@ -137,7 +181,7 @@ float4 PSNormalPixelLightingTxNoFogSpec(PSInputPixelLightingTxTangent pin) : SV_ float3 eyeVector = normalize(EyePosition - pin.PositionWS.xyz); // Before lighting, peturb the surface's normal by the one given in normal map. - float3 localNormal = (NormalTexture.Sample(Sampler, pin.TexCoord).xyz * 2) - 1; + float3 localNormal = BiasX2(NormalTexture.Sample(Sampler, pin.TexCoord).xyz); float3 normal = PeturbNormal(localNormal, pin.NormalWS, pin.TangentWS); // Do lighting @@ -160,7 +204,7 @@ float4 PSNormalPixelLightingTxNoSpec(PSInputPixelLightingTxTangent pin) : SV_Tar float3 eyeVector = normalize(EyePosition - pin.PositionWS.xyz); // Before lighting, peturb the surface's normal by the one given in normal map. - float3 localNormal = (NormalTexture.Sample(Sampler, pin.TexCoord).xyz * 2) - 1; + float3 localNormal = BiasX2(NormalTexture.Sample(Sampler, pin.TexCoord).xyz); float3 normal = PeturbNormal(localNormal, pin.NormalWS, pin.TangentWS); // Do lighting diff --git a/Src/Shaders/SkinnedEffect.fx b/Src/Shaders/SkinnedEffect.fx index 9809c2f9..81fcbb02 100644 --- a/Src/Shaders/SkinnedEffect.fx +++ b/Src/Shaders/SkinnedEffect.fx @@ -43,7 +43,7 @@ cbuffer Parameters : register(b0) #include "Lighting.fxh" [RootSignature(MainRS)] -void Skin(inout VSInputNmTxWeights vin, uniform int boneCount) +float3 Skin(inout VSInputNmTxWeights vin, float3 normal, uniform int boneCount) { float4x3 skinning = 0; @@ -54,7 +54,7 @@ void Skin(inout VSInputNmTxWeights vin, uniform int boneCount) } vin.Position.xyz = mul(vin.Position, skinning); - vin.Normal = mul(vin.Normal, (float3x3)skinning); + return mul(normal, (float3x3)skinning); } @@ -64,9 +64,26 @@ VSOutputTx VSSkinnedVertexLightingOneBone(VSInputNmTxWeights vin) { VSOutputTx vout; - Skin(vin, 1); + float3 normal = Skin(vin, vin.Normal, 1); - CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, vin.Normal, 3); + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); + SetCommonVSOutputParams; + + vout.TexCoord = vin.TexCoord; + + return vout; +} + +[RootSignature(MainRS)] +VSOutputTx VSSkinnedVertexLightingOneBoneBn(VSInputNmTxWeights vin) +{ + VSOutputTx vout; + + float3 normal = BiasX2(vin.Normal); + + normal = Skin(vin, normal, 1); + + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); SetCommonVSOutputParams; vout.TexCoord = vin.TexCoord; @@ -81,9 +98,26 @@ VSOutputTx VSSkinnedVertexLightingTwoBones(VSInputNmTxWeights vin) { VSOutputTx vout; - Skin(vin, 2); + float3 normal = Skin(vin, vin.Normal, 2); - CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, vin.Normal, 3); + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); + SetCommonVSOutputParams; + + vout.TexCoord = vin.TexCoord; + + return vout; +} + +[RootSignature(MainRS)] +VSOutputTx VSSkinnedVertexLightingTwoBonesBn(VSInputNmTxWeights vin) +{ + VSOutputTx vout; + + float3 normal = BiasX2(vin.Normal); + + normal = Skin(vin, normal, 2); + + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); SetCommonVSOutputParams; vout.TexCoord = vin.TexCoord; @@ -98,9 +132,26 @@ VSOutputTx VSSkinnedVertexLightingFourBones(VSInputNmTxWeights vin) { VSOutputTx vout; - Skin(vin, 4); + float3 normal = Skin(vin, vin.Normal, 4); + + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); + SetCommonVSOutputParams; + + vout.TexCoord = vin.TexCoord; + + return vout; +} + +[RootSignature(MainRS)] +VSOutputTx VSSkinnedVertexLightingFourBonesBn(VSInputNmTxWeights vin) +{ + VSOutputTx vout; + + float3 normal = BiasX2(vin.Normal); + + normal = Skin(vin, normal, 4); - CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, vin.Normal, 3); + CommonVSOutput cout = ComputeCommonVSOutputWithLighting(vin.Position, normal, 3); SetCommonVSOutputParams; vout.TexCoord = vin.TexCoord; @@ -115,9 +166,27 @@ VSOutputPixelLightingTx VSSkinnedPixelLightingOneBone(VSInputNmTxWeights vin) { VSOutputPixelLightingTx vout; - Skin(vin, 1); + float3 normal = Skin(vin, vin.Normal, 1); - CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, vin.Normal); + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); + vout.TexCoord = vin.TexCoord; + + return vout; +} + +[RootSignature(MainRS)] +VSOutputPixelLightingTx VSSkinnedPixelLightingOneBoneBn(VSInputNmTxWeights vin) +{ + VSOutputPixelLightingTx vout; + + float3 normal = BiasX2(vin.Normal); + + normal = Skin(vin, normal, 1); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); SetCommonVSOutputParamsPixelLighting; vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); @@ -133,9 +202,27 @@ VSOutputPixelLightingTx VSSkinnedPixelLightingTwoBones(VSInputNmTxWeights vin) { VSOutputPixelLightingTx vout; - Skin(vin, 2); + float3 normal = Skin(vin, vin.Normal, 2); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); + vout.TexCoord = vin.TexCoord; + + return vout; +} + +[RootSignature(MainRS)] +VSOutputPixelLightingTx VSSkinnedPixelLightingTwoBonesBn(VSInputNmTxWeights vin) +{ + VSOutputPixelLightingTx vout; + + float3 normal = BiasX2(vin.Normal); - CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, vin.Normal); + normal = Skin(vin, normal, 2); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); SetCommonVSOutputParamsPixelLighting; vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); @@ -151,9 +238,27 @@ VSOutputPixelLightingTx VSSkinnedPixelLightingFourBones(VSInputNmTxWeights vin) { VSOutputPixelLightingTx vout; - Skin(vin, 4); + float3 normal = Skin(vin, vin.Normal, 4); + + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); + SetCommonVSOutputParamsPixelLighting; + + vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); + vout.TexCoord = vin.TexCoord; + + return vout; +} + +[RootSignature(MainRS)] +VSOutputPixelLightingTx VSSkinnedPixelLightingFourBonesBn(VSInputNmTxWeights vin) +{ + VSOutputPixelLightingTx vout; + + float3 normal = BiasX2(vin.Normal); + + normal = Skin(vin, normal, 4); - CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, vin.Normal); + CommonVSOutputPixelLighting cout = ComputeCommonVSOutputPixelLighting(vin.Position, normal); SetCommonVSOutputParamsPixelLighting; vout.Diffuse = float4(1, 1, 1, DiffuseColor.a); diff --git a/Src/SkinnedEffect.cpp b/Src/SkinnedEffect.cpp index 8fc583b7..dde6c057 100644 --- a/Src/SkinnedEffect.cpp +++ b/Src/SkinnedEffect.cpp @@ -48,9 +48,9 @@ struct SkinnedEffectTraits { typedef SkinnedEffectConstants ConstantBufferType; - static const int VertexShaderCount = 6; + static const int VertexShaderCount = 12; static const int PixelShaderCount = 3; - static const int ShaderPermutationCount = 12; + static const int ShaderPermutationCount = 24; static const int RootSignatureCount = 1; }; @@ -70,6 +70,7 @@ class SkinnedEffect::Impl : public EffectBase }; int weightsPerVertex; + bool biasedVertexNormals; D3D12_GPU_DESCRIPTOR_HANDLE texture; D3D12_GPU_DESCRIPTOR_HANDLE sampler; @@ -94,6 +95,14 @@ namespace #include "Shaders/Compiled/XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" #include "Shaders/Compiled/XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBones.inc" + #include "Shaders/Compiled/XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" + #include "Shaders/Compiled/XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" + #include "Shaders/Compiled/XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" + + #include "Shaders/Compiled/XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" + #include "Shaders/Compiled/XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" + #include "Shaders/Compiled/XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" + #include "Shaders/Compiled/XboxOneSkinnedEffect_PSSkinnedVertexLighting.inc" #include "Shaders/Compiled/XboxOneSkinnedEffect_PSSkinnedVertexLightingNoFog.inc" #include "Shaders/Compiled/XboxOneSkinnedEffect_PSSkinnedPixelLighting.inc" @@ -106,6 +115,14 @@ namespace #include "Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" #include "Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" + #include "Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" + #include "Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" + #include "Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" + + #include "Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" + #include "Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" + #include "Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" + #include "Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLighting.inc" #include "Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" #include "Shaders/Compiled/SkinnedEffect_PSSkinnedPixelLighting.inc" @@ -115,13 +132,21 @@ namespace const D3D12_SHADER_BYTECODE EffectBase::VertexShaderBytecode[] = { - { SkinnedEffect_VSSkinnedVertexLightingOneBone, sizeof(SkinnedEffect_VSSkinnedVertexLightingOneBone) }, - { SkinnedEffect_VSSkinnedVertexLightingTwoBones, sizeof(SkinnedEffect_VSSkinnedVertexLightingTwoBones) }, - { SkinnedEffect_VSSkinnedVertexLightingFourBones, sizeof(SkinnedEffect_VSSkinnedVertexLightingFourBones) }, + { SkinnedEffect_VSSkinnedVertexLightingOneBone, sizeof(SkinnedEffect_VSSkinnedVertexLightingOneBone) }, + { SkinnedEffect_VSSkinnedVertexLightingTwoBones, sizeof(SkinnedEffect_VSSkinnedVertexLightingTwoBones) }, + { SkinnedEffect_VSSkinnedVertexLightingFourBones, sizeof(SkinnedEffect_VSSkinnedVertexLightingFourBones) }, - { SkinnedEffect_VSSkinnedPixelLightingOneBone, sizeof(SkinnedEffect_VSSkinnedPixelLightingOneBone) }, - { SkinnedEffect_VSSkinnedPixelLightingTwoBones, sizeof(SkinnedEffect_VSSkinnedPixelLightingTwoBones) }, - { SkinnedEffect_VSSkinnedPixelLightingFourBones, sizeof(SkinnedEffect_VSSkinnedPixelLightingFourBones) }, + { SkinnedEffect_VSSkinnedPixelLightingOneBone, sizeof(SkinnedEffect_VSSkinnedPixelLightingOneBone) }, + { SkinnedEffect_VSSkinnedPixelLightingTwoBones, sizeof(SkinnedEffect_VSSkinnedPixelLightingTwoBones) }, + { SkinnedEffect_VSSkinnedPixelLightingFourBones, sizeof(SkinnedEffect_VSSkinnedPixelLightingFourBones) }, + + { SkinnedEffect_VSSkinnedVertexLightingOneBoneBn, sizeof(SkinnedEffect_VSSkinnedVertexLightingOneBoneBn) }, + { SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn, sizeof(SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn) }, + { SkinnedEffect_VSSkinnedVertexLightingFourBonesBn, sizeof(SkinnedEffect_VSSkinnedVertexLightingFourBonesBn) }, + + { SkinnedEffect_VSSkinnedPixelLightingOneBoneBn, sizeof(SkinnedEffect_VSSkinnedPixelLightingOneBoneBn) }, + { SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn, sizeof(SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn) }, + { SkinnedEffect_VSSkinnedPixelLightingFourBonesBn, sizeof(SkinnedEffect_VSSkinnedPixelLightingFourBonesBn) }, }; @@ -133,13 +158,27 @@ const int EffectBase::VertexShaderIndices[] = 1, // vertex lighting, two bones, no fog 2, // vertex lighting, four bones 2, // vertex lighting, four bones, no fog - + 3, // pixel lighting, one bone 3, // pixel lighting, one bone, no fog 4, // pixel lighting, two bones 4, // pixel lighting, two bones, no fog 5, // pixel lighting, four bones 5, // pixel lighting, four bones, no fog + + 6, // vertex lighting (biased vertex normals), one bone + 6, // vertex lighting (biased vertex normals), one bone, no fog + 7, // vertex lighting (biased vertex normals), two bones + 7, // vertex lighting (biased vertex normals), two bones, no fog + 8, // vertex lighting (biased vertex normals), four bones + 8, // vertex lighting (biased vertex normals), four bones, no fog + + 9, // pixel lighting (biased vertex normals), one bone + 9, // pixel lighting (biased vertex normals), one bone, no fog + 10, // pixel lighting (biased vertex normals), two bones + 10, // pixel lighting (biased vertex normals), two bones, no fog + 11, // pixel lighting (biased vertex normals), four bones + 11, // pixel lighting (biased vertex normals), four bones, no fog }; @@ -159,13 +198,27 @@ const int EffectBase::PixelShaderIndices[] = 1, // vertex lighting, two bones, no fog 0, // vertex lighting, four bones 1, // vertex lighting, four bones, no fog - + 2, // pixel lighting, one bone 2, // pixel lighting, one bone, no fog 2, // pixel lighting, two bones 2, // pixel lighting, two bones, no fog 2, // pixel lighting, four bones 2, // pixel lighting, four bones, no fog + + 0, // vertex lighting (biased vertex normals), one bone + 1, // vertex lighting (biased vertex normals), one bone, no fog + 0, // vertex lighting (biased vertex normals), two bones + 1, // vertex lighting (biased vertex normals), two bones, no fog + 0, // vertex lighting (biased vertex normals), four bones + 1, // vertex lighting (biased vertex normals), four bones, no fog + + 2, // pixel lighting (biased vertex normals), one bone + 2, // pixel lighting (biased vertex normals), one bone, no fog + 2, // pixel lighting (biased vertex normals), two bones + 2, // pixel lighting (biased vertex normals), two bones, no fog + 2, // pixel lighting (biased vertex normals), four bones + 2, // pixel lighting (biased vertex normals), four bones, no fog }; @@ -227,6 +280,7 @@ SkinnedEffect::Impl::Impl(_In_ ID3D12Device* device, int effectFlags, const Effe assert(mRootSignature != 0); fog.enabled = (effectFlags & EffectFlags::Fog) != 0; + biasedVertexNormals = (effectFlags & EffectFlags::BiasedVertexNormals) != 0; if (effectFlags & EffectFlags::VertexColor) { @@ -281,6 +335,12 @@ int SkinnedEffect::Impl::GetPipelineStatePermutation(bool preferPerPixelLighting permutation += 6; } + if (biasedVertexNormals) + { + // Compressed normals need to be scaled and biased in the vertex shader. + permutation += 12; + } + return permutation; }