Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ProcessLowDetail()

void Terraria.GameContent.RGB.MoonShader.ProcessLowDetail ( RgbDevice device,
Fragment fragment,
EffectDetailLevel quality,
float time )
inlineprivate

Definition at line 50 of file MoonShader.cs.

51 {
52 for (int i = 0; i < fragment.Count; i++)
53 {
54 float dynamicNoise = NoiseHelper.GetDynamicNoise(fragment.GetCanvasPositionOfIndex(i) * new Vector2(0.1f, 0.5f) + new Vector2(time * 0.02f, 0f), time / 40f);
55 dynamicNoise = (float)Math.Sqrt(Math.Max(0f, 1f - 2f * dynamicNoise));
56 Vector4 vector = Vector4.Lerp(_skyColor, _cloudColor, dynamicNoise * 0.1f);
57 fragment.SetColor(i, vector);
58 }
59 }
void SetColor(int index, Vector4 color)
Definition Fragment.cs:97
Vector2 GetCanvasPositionOfIndex(int index)
Definition Fragment.cs:75
static double Sqrt(double d)
static byte Max(byte val1, byte val2)
Definition Math.cs:738
static Vector4 Lerp(Vector4 value1, Vector4 value2, float amount)
Definition Vector4.cs:277

References Terraria.GameContent.RGB.MoonShader._cloudColor, Terraria.GameContent.RGB.MoonShader._skyColor, ReLogic.Peripherals.RGB.Fragment.Count, ReLogic.Peripherals.RGB.Fragment.GetCanvasPositionOfIndex(), Terraria.GameContent.RGB.NoiseHelper.GetDynamicNoise(), Microsoft.Xna.Framework.Vector4.Lerp(), System.Math.Max(), ReLogic.Peripherals.RGB.Fragment.SetColor(), and System.Math.Sqrt().

Referenced by Terraria.GameContent.RGB.MoonShader.ProcessHighDetail().