diff --git a/NewHorizons/Components/EyeSunLightParamUpdater.cs b/NewHorizons/Components/EyeSunLightParamUpdater.cs new file mode 100644 index 00000000..ddfd4c8a --- /dev/null +++ b/NewHorizons/Components/EyeSunLightParamUpdater.cs @@ -0,0 +1,26 @@ +using NewHorizons.Builder.Atmosphere; +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace NewHorizons.Components +{ + public class EyeSunLightParamUpdater : MonoBehaviour + { + public static readonly int SunPosition = Shader.PropertyToID("_SunPosition"); + public static readonly int OWSunPositionRange = Shader.PropertyToID("_OWSunPositionRange"); + public static readonly int OWSunColorIntensity = Shader.PropertyToID("_OWSunColorIntensity"); + public static readonly Vector3 position = new Vector3(0, 1, -10) * 1000000; + public static readonly Vector4 color = new Vector4(0.3569f, 0.7843f, 1, 0.2f); + public static readonly float radius = 100; + public static readonly float range = 100000; + + public void LateUpdate() + { + Shader.SetGlobalVector(SunPosition, new Vector4(position.x, position.y, position.z, radius)); + Shader.SetGlobalVector(OWSunPositionRange, new Vector4(position.x, position.y, position.z, range * range)); + Shader.SetGlobalVector(OWSunColorIntensity, color); + } + } +} diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index 7ab5dba5..c1e510e2 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -395,6 +395,8 @@ namespace NewHorizons EyeState.ZoomOut }; + solarSystemRoot.AddComponent(); + if (IsWarpingFromShip && _ship != null) { var eyeShip = GameObject.Instantiate(_ship);