Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
LightDiscDrawer.cs
Go to the documentation of this file.
1
using
System.Runtime.InteropServices
;
2
using
Microsoft.Xna.Framework
;
3
using
Terraria.Graphics.Shaders
;
4
5
namespace
Terraria.Graphics
;
6
7
[StructLayout(
LayoutKind
.Sequential, Size = 1)]
8
public
struct
LightDiscDrawer
9
{
10
private
static
VertexStrip
_vertexStrip
=
new
VertexStrip
();
11
12
public
void
Draw
(
Projectile
proj)
13
{
14
MiscShaderData
miscShaderData =
GameShaders
.
Misc
[
"LightDisc"
];
15
miscShaderData.
UseSaturation
(-2.8f);
16
miscShaderData.
UseOpacity
(2f);
17
miscShaderData.
Apply
();
18
_vertexStrip
.PrepareStripWithProceduralPadding(proj.
oldPos
, proj.
oldRot
,
StripColors
,
StripWidth
, -
Main
.
screenPosition
+ proj.
Size
/ 2f);
19
_vertexStrip
.DrawTrail();
20
Main
.
pixelShader
.CurrentTechnique.Passes[0].Apply();
21
}
22
23
private
Color
StripColors
(
float
progressOnStrip)
24
{
25
float
num = 1f - progressOnStrip;
26
Color
result =
new
Color
(48, 63, 150) * (num * num * num * num) * 0.5f;
27
result.A = 0;
28
return
result;
29
}
30
31
private
float
StripWidth
(
float
progressOnStrip)
32
{
33
return
16f;
34
}
35
}
Terraria.Entity.Size
Vector2 Size
Definition
Entity.cs:151
Terraria.Graphics.Shaders.GameShaders.Misc
static Dictionary< string, MiscShaderData > Misc
Definition
GameShaders.cs:11
Terraria.Graphics.Shaders.GameShaders
Definition
GameShaders.cs:6
Terraria.Graphics.Shaders.MiscShaderData.Apply
virtual void Apply(DrawData? drawData=null)
Definition
MiscShaderData.cs:36
Terraria.Graphics.Shaders.MiscShaderData.UseSaturation
MiscShaderData UseSaturation(float saturation)
Definition
MiscShaderData.cs:160
Terraria.Graphics.Shaders.MiscShaderData.UseOpacity
MiscShaderData UseOpacity(float alpha)
Definition
MiscShaderData.cs:132
Terraria.Graphics.Shaders.MiscShaderData
Definition
MiscShaderData.cs:10
Terraria.Graphics.VertexStrip
Definition
VertexStrip.cs:9
Terraria.Main.pixelShader
static Effect pixelShader
Definition
Main.cs:2764
Terraria.Main.screenPosition
static Vector2 screenPosition
Definition
Main.cs:1715
Terraria.Main
Definition
Main.cs:79
Terraria.Projectile.oldRot
float[] oldRot
Definition
Projectile.cs:170
Terraria.Projectile.oldPos
Vector2[] oldPos
Definition
Projectile.cs:168
Terraria.Projectile
Definition
Projectile.cs:31
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
System.Runtime.InteropServices.LayoutKind
LayoutKind
Definition
LayoutKind.cs:4
System.Runtime.InteropServices
Definition
SequenceMarshal.cs:4
Terraria.Graphics.Shaders
Definition
ArmorShaderData.cs:6
Terraria.Graphics
Definition
CameraInfo.cs:3
Microsoft.Xna.Framework.Color
Definition
Color.cs:12
Terraria.Graphics.LightDiscDrawer.StripColors
Color StripColors(float progressOnStrip)
Definition
LightDiscDrawer.cs:23
Terraria.Graphics.LightDiscDrawer._vertexStrip
static VertexStrip _vertexStrip
Definition
LightDiscDrawer.cs:10
Terraria.Graphics.LightDiscDrawer.StripWidth
float StripWidth(float progressOnStrip)
Definition
LightDiscDrawer.cs:31
Terraria.Graphics.LightDiscDrawer.Draw
void Draw(Projectile proj)
Definition
LightDiscDrawer.cs:12
Terraria.Graphics.LightDiscDrawer
Definition
LightDiscDrawer.cs:9
source
Terraria.Graphics
LightDiscDrawer.cs
Generated by
1.10.0