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

◆ ProcessHighDetail()

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

Definition at line 30 of file BrainShader.cs.

31 {
32 new Vector2(1.6f, 0.5f);
33 Vector4 value = Vector4.Lerp(_brainColor, _veinColor, Math.Max(0f, (float)Math.Sin(time * 3f)) * 0.5f + 0.5f);
34 for (int i = 0; i < fragment.Count; i++)
35 {
36 Vector2 canvasPositionOfIndex = fragment.GetCanvasPositionOfIndex(i);
37 Vector4 brainColor = _brainColor;
38 float dynamicNoise = NoiseHelper.GetDynamicNoise(canvasPositionOfIndex * 0.15f + new Vector2(time * 0.002f), time * 0.03f);
39 dynamicNoise = (float)Math.Sin(dynamicNoise * 10f) * 0.5f + 0.5f;
40 dynamicNoise = Math.Max(0f, 1f - 5f * dynamicNoise);
41 brainColor = Vector4.Lerp(brainColor, value, dynamicNoise);
42 fragment.SetColor(i, brainColor);
43 }
44 }
void SetColor(int index, Vector4 color)
Definition Fragment.cs:97
Vector2 GetCanvasPositionOfIndex(int index)
Definition Fragment.cs:75
static double Sin(double a)
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.BrainShader._brainColor, Terraria.GameContent.RGB.BrainShader._veinColor, 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(), System.Math.Sin(), and System.value.