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

◆ ProcessHighDetail()

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

Definition at line 34 of file JungleShader.cs.

35 {
36 //IL_0001: Unknown result type (might be due to invalid IL or missing references)
37 //IL_0009: Unknown result type (might be due to invalid IL or missing references)
38 //IL_000f: Invalid comparison between Unknown and I4
39 bool flag = (int)device.Type == 0 || (int)device.Type == 6;
40 for (int i = 0; i < fragment.Count; i++)
41 {
42 Vector2 canvasPositionOfIndex = fragment.GetCanvasPositionOfIndex(i);
43 Point gridPositionOfIndex = fragment.GetGridPositionOfIndex(i);
44 float dynamicNoise = NoiseHelper.GetDynamicNoise(canvasPositionOfIndex * 0.3f, time / 5f);
45 dynamicNoise = Math.Max(0f, 1f - dynamicNoise * 2.5f);
46 Vector4 vector = Vector4.Lerp(_backgroundColor, _sporeColor, dynamicNoise);
47 if (flag)
48 {
49 float dynamicNoise2 = NoiseHelper.GetDynamicNoise(gridPositionOfIndex.X, gridPositionOfIndex.Y, time / 100f);
50 dynamicNoise2 = Math.Max(0f, 1f - dynamicNoise2 * 20f);
51 vector = Vector4.Lerp(vector, _flowerColors[((gridPositionOfIndex.Y * 47 + gridPositionOfIndex.X) % 5 + 5) % 5], dynamicNoise2);
52 }
53 fragment.SetColor(i, vector);
54 }
55 }
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
readonly RgbDeviceType Type
Definition RgbDevice.cs:8
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.JungleShader._backgroundColor, Terraria.GameContent.RGB.JungleShader._flowerColors, Terraria.GameContent.RGB.JungleShader._sporeColor, ReLogic.Peripherals.RGB.Fragment.Count, ReLogic.Peripherals.RGB.Fragment.GetCanvasPositionOfIndex(), Terraria.GameContent.RGB.NoiseHelper.GetDynamicNoise(), ReLogic.Peripherals.RGB.Fragment.GetGridPositionOfIndex(), Microsoft.Xna.Framework.Vector4.Lerp(), System.Math.Max(), ReLogic.Peripherals.RGB.Fragment.SetColor(), ReLogic.Peripherals.RGB.RgbDevice.Type, Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.