fix bug that caused darker screen #22.

This commit is contained in:
hecomi
2018-08-05 00:20:03 +09:00
parent c926127e49
commit 70cfad90a9
8 changed files with 17 additions and 1 deletions
@@ -99,6 +99,12 @@ public class Manager : MonoBehaviour
Lib.Initialize(); Lib.Initialize();
CreateMonitors(); CreateMonitors();
#if UNITY_2018_1_OR_NEWER
Shader.DisableKeyword("USE_GAMMA_TO_LINEAR_SPACE");
#else
Shader.EnableKeyword("USE_GAMMA_TO_LINEAR_SPACE");
#endif
} }
void OnApplicationQuit() void OnApplicationQuit()
@@ -283,13 +283,16 @@ public class Texture : MonoBehaviour
monitor = Manager.GetMonitor(lastMonitorId_); monitor = Manager.GetMonitor(lastMonitorId_);
} }
int clipPositionScaleKey_ = Shader.PropertyToID("_ClipPositionScale");
void UpdateMaterial() void UpdateMaterial()
{ {
width = transform.localScale.x; width = transform.localScale.x;
if (monitor != null) { if (monitor != null) {
rotation = monitor.rotation; rotation = monitor.rotation;
} }
material.SetVector("_ClipPositionScale", new Vector4(clipPos.x, clipPos.y, clipScale.x, clipScale.y));
material.SetVector(clipPositionScaleKey_, new Vector4(clipPos.x, clipPos.y, clipScale.x, clipScale.y));
} }
public Vector3 GetWorldPositionFromCoord(Vector2 coord) public Vector3 GetWorldPositionFromCoord(Vector2 coord)
@@ -58,9 +58,11 @@ inline float2 uddClipUV(float2 uv)
inline void uddConvertToLinearIfNeeded(inout fixed3 rgb) inline void uddConvertToLinearIfNeeded(inout fixed3 rgb)
{ {
#ifdef USE_GAMMA_TO_LINEAR_SPACE
if (!IsGammaSpace()) { if (!IsGammaSpace()) {
rgb = GammaToLinearSpace(rgb); rgb = GammaToLinearSpace(rgb);
} }
#endif
} }
inline fixed4 uddGetTexture(sampler2D tex, float2 uv) inline fixed4 uddGetTexture(sampler2D tex, float2 uv)
@@ -31,6 +31,7 @@ SubShader
#pragma multi_compile ___ USE_CLIP #pragma multi_compile ___ USE_CLIP
#pragma multi_compile ___ BEND_ON #pragma multi_compile ___ BEND_ON
#pragma multi_compile _FORWARD_Y _FORWARD_Z #pragma multi_compile _FORWARD_Y _FORWARD_Z
#pragma multi_compile ___ USE_GAMMA_TO_LINEAR_SPACE
#define SURFACE_SHADER #define SURFACE_SHADER
#include "./uDD_Common.cginc" #include "./uDD_Common.cginc"
@@ -55,6 +55,7 @@ Pass
#pragma multi_compile ___ USE_CLIP #pragma multi_compile ___ USE_CLIP
#pragma multi_compile ___ BEND_ON #pragma multi_compile ___ BEND_ON
#pragma multi_compile _FORWARD_Y _FORWARD_Z #pragma multi_compile _FORWARD_Y _FORWARD_Z
#pragma multi_compile ___ USE_GAMMA_TO_LINEAR_SPACE
ENDCG ENDCG
} }
@@ -61,6 +61,7 @@ Pass
#pragma multi_compile ___ USE_CLIP #pragma multi_compile ___ USE_CLIP
#pragma multi_compile ___ BEND_ON #pragma multi_compile ___ BEND_ON
#pragma multi_compile _FORWARD_Y _FORWARD_Z #pragma multi_compile _FORWARD_Y _FORWARD_Z
#pragma multi_compile ___ USE_GAMMA_TO_LINEAR_SPACE
ENDCG ENDCG
} }
@@ -168,6 +168,7 @@ Pass
#pragma multi_compile ___ USE_CLIP #pragma multi_compile ___ USE_CLIP
#pragma multi_compile ___ BEND_ON #pragma multi_compile ___ BEND_ON
#pragma multi_compile _FORWARD_Y _FORWARD_Z #pragma multi_compile _FORWARD_Y _FORWARD_Z
#pragma multi_compile ___ USE_GAMMA_TO_LINEAR_SPACE
ENDCG ENDCG
} }
@@ -57,6 +57,7 @@ Pass
#pragma multi_compile ___ USE_CLIP #pragma multi_compile ___ USE_CLIP
#pragma multi_compile ___ BEND_ON #pragma multi_compile ___ BEND_ON
#pragma multi_compile _FORWARD_Y _FORWARD_Z #pragma multi_compile _FORWARD_Y _FORWARD_Z
#pragma multi_compile ___ USE_GAMMA_TO_LINEAR_SPACE
ENDCG ENDCG
} }