From dc6b8bc20466850180a7e8d5ecac04aaf2461d3a Mon Sep 17 00:00:00 2001 From: hecomi Date: Sun, 30 Oct 2016 19:56:22 +0900 Subject: [PATCH] fix vertical screen bug. --- Assets/uDesktopDuplication/Scripts/Texture.cs | 6 ++++++ Assets/uDesktopDuplication/Shaders/uDD_Common.cginc | 5 +++++ Assets/uDesktopDuplication/Shaders/uDD_Standard.shader | 1 + Assets/uDesktopDuplication/Shaders/uDD_Unlit.shader | 1 + .../uDesktopDuplication/Shaders/uDD_Unlit_BlackMask.shader | 1 + .../Shaders/uDD_Unlit_Transparent.shader | 1 + 6 files changed, 15 insertions(+) diff --git a/Assets/uDesktopDuplication/Scripts/Texture.cs b/Assets/uDesktopDuplication/Scripts/Texture.cs index 2f5ba05..b3a5379 100644 --- a/Assets/uDesktopDuplication/Scripts/Texture.cs +++ b/Assets/uDesktopDuplication/Scripts/Texture.cs @@ -55,6 +55,12 @@ public class Texture : MonoBehaviour } else { material_.DisableKeyword("INVERT_Y"); } + + if (monitor.isVertical) { + material_.EnableKeyword("VERTICAL"); + } else { + material_.DisableKeyword("VERTICAL"); + } } } diff --git a/Assets/uDesktopDuplication/Shaders/uDD_Common.cginc b/Assets/uDesktopDuplication/Shaders/uDD_Common.cginc index 64f8173..dcf294c 100644 --- a/Assets/uDesktopDuplication/Shaders/uDD_Common.cginc +++ b/Assets/uDesktopDuplication/Shaders/uDD_Common.cginc @@ -11,6 +11,11 @@ inline void uddInvertUV(inout float2 uv) #ifdef INVERT_Y uv.y = 1.0 - uv.y; #endif +#ifdef VERTICAL + float2 tmp = uv; + uv.x = tmp.y; + uv.y = 1.0 - tmp.x; +#endif } inline fixed4 uddGetTexture(sampler2D tex, float2 uv) diff --git a/Assets/uDesktopDuplication/Shaders/uDD_Standard.shader b/Assets/uDesktopDuplication/Shaders/uDD_Standard.shader index 9c80e7f..930d032 100644 --- a/Assets/uDesktopDuplication/Shaders/uDD_Standard.shader +++ b/Assets/uDesktopDuplication/Shaders/uDD_Standard.shader @@ -19,6 +19,7 @@ SubShader #pragma surface surf Standard fullforwardshadows #pragma multi_compile ___ INVERT_X #pragma multi_compile ___ INVERT_Y + #pragma multi_compile ___ VERTICAL #include "./uDD_Common.cginc" diff --git a/Assets/uDesktopDuplication/Shaders/uDD_Unlit.shader b/Assets/uDesktopDuplication/Shaders/uDD_Unlit.shader index 40516af..578a92c 100644 --- a/Assets/uDesktopDuplication/Shaders/uDD_Unlit.shader +++ b/Assets/uDesktopDuplication/Shaders/uDD_Unlit.shader @@ -55,6 +55,7 @@ Pass #pragma fragment frag #pragma multi_compile ___ INVERT_X #pragma multi_compile ___ INVERT_Y + #pragma multi_compile ___ VERTICAL ENDCG } diff --git a/Assets/uDesktopDuplication/Shaders/uDD_Unlit_BlackMask.shader b/Assets/uDesktopDuplication/Shaders/uDD_Unlit_BlackMask.shader index fbbbf96..f72bc30 100644 --- a/Assets/uDesktopDuplication/Shaders/uDD_Unlit_BlackMask.shader +++ b/Assets/uDesktopDuplication/Shaders/uDD_Unlit_BlackMask.shader @@ -62,6 +62,7 @@ Pass #pragma fragment frag #pragma multi_compile ___ INVERT_X #pragma multi_compile ___ INVERT_Y + #pragma multi_compile ___ VERTICAL ENDCG } diff --git a/Assets/uDesktopDuplication/Shaders/uDD_Unlit_Transparent.shader b/Assets/uDesktopDuplication/Shaders/uDD_Unlit_Transparent.shader index 56cc858..d6217be 100644 --- a/Assets/uDesktopDuplication/Shaders/uDD_Unlit_Transparent.shader +++ b/Assets/uDesktopDuplication/Shaders/uDD_Unlit_Transparent.shader @@ -58,6 +58,7 @@ Pass #pragma fragment frag #pragma multi_compile ___ INVERT_X #pragma multi_compile ___ INVERT_Y + #pragma multi_compile ___ VERTICAL ENDCG }