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

◆ ProcessHighDetail()

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

Definition at line 34 of file DrippingShader.cs.

35 {
36 for (int i = 0; i < fragment.Count; i++)
37 {
38 fragment.GetGridPositionOfIndex(i);
39 Vector2 canvasPositionOfIndex = fragment.GetCanvasPositionOfIndex(i);
40 float staticNoise = NoiseHelper.GetStaticNoise(canvasPositionOfIndex * new Vector2(0.7f * _viscosity, 0.075f) + new Vector2(0f, time * -0.1f * _viscosity));
41 staticNoise = Math.Max(0f, 1f - (canvasPositionOfIndex.Y * 4.5f + 0.5f) * staticNoise);
42 Vector4 baseColor = _baseColor;
43 baseColor = Vector4.Lerp(baseColor, _liquidColor, staticNoise);
44 fragment.SetColor(i, baseColor);
45 }
46 }
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
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.DrippingShader._baseColor, Terraria.GameContent.RGB.DrippingShader._liquidColor, Terraria.GameContent.RGB.DrippingShader._viscosity, ReLogic.Peripherals.RGB.Fragment.Count, ReLogic.Peripherals.RGB.Fragment.GetCanvasPositionOfIndex(), ReLogic.Peripherals.RGB.Fragment.GetGridPositionOfIndex(), Terraria.GameContent.RGB.NoiseHelper.GetStaticNoise(), Microsoft.Xna.Framework.Vector4.Lerp(), System.Math.Max(), ReLogic.Peripherals.RGB.Fragment.SetColor(), and Microsoft.Xna.Framework.Vector2.Y.