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

◆ Rebuild()

void Terraria.Graphics.SpriteViewMatrix.Rebuild ( )
inlineprivate

Definition at line 127 of file SpriteViewMatrix.cs.

128 {
130 {
132 }
134 Matrix identity = Matrix.Identity;
135 if (_effects.HasFlag(SpriteEffects.FlipHorizontally))
136 {
137 identity *= Matrix.CreateScale(-1f, 1f, 1f) * Matrix.CreateTranslation(vector.X, 0f, 0f);
138 }
139 if (_effects.HasFlag(SpriteEffects.FlipVertically))
140 {
141 identity *= Matrix.CreateScale(1f, -1f, 1f) * Matrix.CreateTranslation(0f, vector.Y, 0f);
142 }
143 Vector2 vector2 = vector * 0.5f;
144 Vector2 translation = vector2 - vector2 / _zoom;
145 Matrix matrix = Matrix.CreateOrthographicOffCenter(0f, vector.X, vector.Y, 0f, 0f, 1f);
146 _translation = translation;
147 _zoomMatrix = Matrix.CreateTranslation(0f - translation.X, 0f - translation.Y, 0f) * Matrix.CreateScale(_zoom.X, _zoom.Y, 1f);
148 _effectMatrix = identity;
151 _needsRebuild = false;
152 }
static Matrix CreateOrthographicOffCenter(float left, float right, float bottom, float top, float zNearPlane, float zFarPlane)
Definition Matrix.cs:1054
static Matrix Invert(Matrix matrix)
Definition Matrix.cs:1694
static Matrix CreateTranslation(Vector3 position)
Definition Matrix.cs:438
static Matrix CreateScale(float xScale, float yScale, float zScale)
Definition Matrix.cs:522

References Terraria.Graphics.SpriteViewMatrix._effectMatrix, Terraria.Graphics.SpriteViewMatrix._effects, Terraria.Graphics.SpriteViewMatrix._graphicsDevice, Terraria.Graphics.SpriteViewMatrix._needsRebuild, Terraria.Graphics.SpriteViewMatrix._normalizedTransformationMatrix, Terraria.Graphics.SpriteViewMatrix._overrideSystemViewport, Terraria.Graphics.SpriteViewMatrix._transformationMatrix, Terraria.Graphics.SpriteViewMatrix._translation, Terraria.Graphics.SpriteViewMatrix._viewport, Terraria.Graphics.SpriteViewMatrix._zoom, Terraria.Graphics.SpriteViewMatrix._zoomMatrix, Microsoft.Xna.Framework.Matrix.CreateOrthographicOffCenter(), Microsoft.Xna.Framework.Matrix.CreateScale(), Microsoft.Xna.Framework.Matrix.CreateTranslation(), Microsoft.Xna.Framework.Graphics.Viewport.Height, Microsoft.Xna.Framework.Matrix.Identity, Microsoft.Xna.Framework.Matrix.Invert(), Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Graphics.GraphicsDevice.Viewport, Microsoft.Xna.Framework.Graphics.Viewport.Width, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.