Reimplemented from Terraria.Graphics.Shaders.ShaderData.
Definition at line 58 of file ScreenShaderData.cs.
59 {
60 Vector2 vector =
new Vector2(Main.offScreenRange, Main.offScreenRange);
61 Vector2 value =
new Vector2(Main.screenWidth, Main.screenHeight) / Main.GameViewMatrix.Zoom;
62 Vector2 vector2 =
new Vector2(Main.screenWidth, Main.screenHeight) * 0.5f;
63 Vector2 vector3 = Main.screenPosition + vector2 * (Vector2.One - Vector2.One / Main.GameViewMatrix.Zoom);
64 base.Shader.Parameters[
"uColor"].SetValue(
_uColor);
67 base.Shader.Parameters["uTime"].SetValue(Main.GlobalTimeWrappedHourly);
68 base.Shader.Parameters["uScreenResolution"].SetValue(value);
69 base.Shader.Parameters["uScreenPosition"].SetValue(vector3 - vector);
70 base.Shader.Parameters[
"uTargetPosition"].SetValue(
_uTargetPosition - vector);
71 base.Shader.Parameters[
"uImageOffset"].SetValue(
_uImageOffset);
72 base.Shader.Parameters[
"uIntensity"].SetValue(
_uIntensity);
73 base.Shader.Parameters[
"uProgress"].SetValue(
_uProgress);
74 base.Shader.Parameters[
"uDirection"].SetValue(
_uDirection);
75 base.Shader.Parameters["uZoom"].SetValue(Main.GameViewMatrix.Zoom);
77 {
80 {
82 }
83 if (texture2D != null)
84 {
85 Main.graphics.GraphicsDevice.Textures[
i + 1] = texture2D;
86 int width = texture2D.
Width;
87 int height = texture2D.
Height;
89 {
91 }
92 else if (Utils.IsPowerOfTwo(width) && Utils.IsPowerOfTwo(height))
93 {
95 }
96 else
97 {
99 }
100 base.Shader.Parameters[
"uImageSize" + (
i + 1)].SetValue(
new Vector2(width, height) *
_imageScales[
i]);
101 }
102 }
103 base.Apply();
104 }
SamplerStateCollection SamplerStates
GraphicsDevice GraphicsDevice
static readonly SamplerState LinearWrap
static readonly SamplerState AnisotropicClamp
Texture2D[] _uCustomImages
SamplerState[] _samplerStates
Asset< Texture2D >[] _uAssetImages
References Terraria.Graphics.Shaders.ScreenShaderData._imageScales, Terraria.Graphics.Shaders.ScreenShaderData._samplerStates, Terraria.Graphics.Shaders.ScreenShaderData._uAssetImages, Terraria.Graphics.Shaders.ScreenShaderData._uColor, Terraria.Graphics.Shaders.ScreenShaderData._uCustomImages, Terraria.Graphics.Shaders.ScreenShaderData._uDirection, Terraria.Graphics.Shaders.ScreenShaderData._uImageOffset, Terraria.Graphics.Shaders.ScreenShaderData._uIntensity, Terraria.Graphics.Shaders.ScreenShaderData._uProgress, Terraria.Graphics.Shaders.ScreenShaderData._uSecondaryColor, Terraria.Graphics.Shaders.ScreenShaderData._uTargetPosition, Microsoft.Xna.Framework.Graphics.SamplerState.AnisotropicClamp, Terraria.Graphics.Shaders.ScreenShaderData.CombinedOpacity, Terraria.Main.GameViewMatrix, Terraria.Main.GlobalTimeWrappedHourly, Terraria.Main.graphics, Microsoft.Xna.Framework.Graphics.Texture2D.Height, Terraria.Utils.IsPowerOfTwo(), Microsoft.Xna.Framework.Graphics.SamplerState.LinearWrap, Terraria.Main.offScreenRange, Terraria.Main.screenHeight, Terraria.Main.screenWidth, ReLogic.Content.Asset< T >.Value, Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Graphics.Texture2D.Width.
Referenced by Terraria.Graphics.Effects.Filter.Apply(), and Terraria.Graphics.Effects.SimpleOverlay.Draw().