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

◆ ProcessLowDetail()

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

Definition at line 20 of file GoblinArmyShader.cs.

21 {
22 time *= 0.5f;
23 for (int i = 0; i < fragment.Count; i++)
24 {
25 Vector2 canvasPositionOfIndex = fragment.GetCanvasPositionOfIndex(i);
26 canvasPositionOfIndex.Y = 1f;
27 float staticNoise = NoiseHelper.GetStaticNoise(canvasPositionOfIndex * 0.3f + new Vector2(12.5f, time * 0.2f));
28 staticNoise = Math.Max(0f, 1f - staticNoise * staticNoise * 4f * staticNoise);
29 staticNoise = MathHelper.Clamp(staticNoise, 0f, 1f);
31 value = Vector4.Lerp(value, Vector4.One, staticNoise * staticNoise);
32 Vector4 vector = Vector4.Lerp(new Vector4(0f, 0f, 0f, 1f), value, staticNoise);
33 fragment.SetColor(i, vector);
34 }
35 }
static float Clamp(float value, float min, float max)
Definition MathHelper.cs:46
void SetColor(int index, Vector4 color)
Definition Fragment.cs:97
Vector2 GetCanvasPositionOfIndex(int index)
Definition Fragment.cs:75
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.GoblinArmyShader._primaryColor, Terraria.GameContent.RGB.GoblinArmyShader._secondaryColor, Microsoft.Xna.Framework.MathHelper.Clamp(), ReLogic.Peripherals.RGB.Fragment.Count, ReLogic.Peripherals.RGB.Fragment.GetCanvasPositionOfIndex(), Terraria.GameContent.RGB.NoiseHelper.GetStaticNoise(), Microsoft.Xna.Framework.Vector4.Lerp(), System.Math.Max(), Microsoft.Xna.Framework.Vector4.One, ReLogic.Peripherals.RGB.Fragment.SetColor(), and System.value.