Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
FrostLegionShader.cs
Go to the documentation of this file.
3
5
7{
8 private readonly Vector4 _primaryColor;
9
10 private readonly Vector4 _secondaryColor;
11
12 public FrostLegionShader(Color primaryColor, Color secondaryColor)
13 {
14 _primaryColor = primaryColor.ToVector4();
15 _secondaryColor = secondaryColor.ToVector4();
16 }
17
18 [RgbProcessor(/*Could not decode attribute arguments.*/)]
19 private void ProcessHighDetail(RgbDevice device, Fragment fragment, EffectDetailLevel quality, float time)
20 {
21 for (int i = 0; i < fragment.Count; i++)
22 {
23 Vector2 canvasPositionOfIndex = fragment.GetCanvasPositionOfIndex(i);
24 float staticNoise = NoiseHelper.GetStaticNoise(fragment.GetGridPositionOfIndex(i).X / 2);
25 float num = (canvasPositionOfIndex.Y + canvasPositionOfIndex.X / 2f - staticNoise + time) % 2f;
26 if (num < 0f)
27 {
28 num += 2f;
29 }
30 if (num < 0.2f)
31 {
32 num = 1f - num / 0.2f;
33 }
34 float amount = num / 2f;
36 fragment.SetColor(i, vector);
37 }
38 }
39}
Point GetGridPositionOfIndex(int index)
Definition Fragment.cs:81
void SetColor(int index, Vector4 color)
Definition Fragment.cs:97
Vector2 GetCanvasPositionOfIndex(int index)
Definition Fragment.cs:75
void ProcessHighDetail(RgbDevice device, Fragment fragment, EffectDetailLevel quality, float time)
FrostLegionShader(Color primaryColor, Color secondaryColor)
static float GetStaticNoise(int index)
static Vector4 Lerp(Vector4 value1, Vector4 value2, float amount)
Definition Vector4.cs:277