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 }