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

◆ DrawTick()

void Terraria.Graphics.Capture.CaptureCamera.DrawTick ( )
inline

Definition at line 156 of file CaptureCamera.cs.

157 {
159 if (_activeSettings == null)
160 {
161 return;
162 }
163 bool notRetro = Lighting.NotRetro;
164 if (_renderQueue.Count > 0)
165 {
166 CaptureChunk captureChunk = _renderQueue.Dequeue();
169 Main.instance.TilesRenderer.PrepareForAreaDrawing(captureChunk.Area.Left, captureChunk.Area.Right, captureChunk.Area.Top, captureChunk.Area.Bottom, prepareLazily: false);
170 Main.instance.TilePaintSystem.PrepareAllRequests();
173 if (notRetro)
174 {
175 Microsoft.Xna.Framework.Color clearColor = (_activeSettings.CaptureBackground ? Microsoft.Xna.Framework.Color.Black : Microsoft.Xna.Framework.Color.Transparent);
177 Main.instance.DrawCapture(captureChunk.Area, _activeSettings);
179 }
180 else
181 {
182 Main.instance.DrawCapture(captureChunk.Area, _activeSettings);
183 }
185 {
194 }
195 else
196 {
198 SaveImage(_frameBuffer, captureChunk.ScaledArea.Width, captureChunk.ScaledArea.Height, ImageFormat.Png, _activeSettings.OutputName, captureChunk.Area.X + "-" + captureChunk.Area.Y + ".png");
199 }
200 _tilesProcessed += captureChunk.Area.Width * captureChunk.Area.Height;
201 }
202 if (_renderQueue.Count == 0)
203 {
205 }
207 }
static readonly BlendState AlphaBlend
Definition BlendState.cs:36
void Clear(ClearOptions options, Vector4 color, float depth, int stencil)
unsafe void SetRenderTarget(RenderTargetCube renderTarget, CubeMapFace cubeMapFace)
void Draw(Texture2D texture, Vector2 position, Color color)
static void Exit(object obj)
static void Enter(object obj)
bool SaveImage(int width, int height, ImageFormat imageFormat, string filename)
unsafe void DrawBytesToBuffer(byte[] sourceBuffer, byte[] destinationBuffer, int sourceBufferWidth, int destinationBufferWidth, Microsoft.Xna.Framework.Rectangle area)
static FilterManager Scene
Definition Filters.cs:5
static Color Transparent
Definition Color.cs:76

References Terraria.Graphics.Capture.CaptureCamera._activeSettings, Terraria.Graphics.Capture.CaptureCamera._captureLock, Terraria.Graphics.Capture.CaptureCamera._downscaleSampleState, Terraria.Graphics.Capture.CaptureCamera._filterFrameBuffer1, Terraria.Graphics.Capture.CaptureCamera._filterFrameBuffer2, Terraria.Graphics.Capture.CaptureCamera._frameBuffer, Terraria.Graphics.Capture.CaptureCamera._graphics, Terraria.Graphics.Capture.CaptureCamera._outputData, Terraria.Graphics.Capture.CaptureCamera._outputImageSize, Terraria.Graphics.Capture.CaptureCamera._renderQueue, Terraria.Graphics.Capture.CaptureCamera._scaledFrameBuffer, Terraria.Graphics.Capture.CaptureCamera._scaledFrameData, Terraria.Graphics.Capture.CaptureCamera._spriteBatch, Terraria.Graphics.Capture.CaptureCamera._tilesProcessed, Microsoft.Xna.Framework.Graphics.BlendState.AlphaBlend, Microsoft.Xna.Framework.Graphics.SpriteBatch.Begin(), Microsoft.Xna.Framework.Graphics.GraphicsDevice.Clear(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, Microsoft.Xna.Framework.Graphics.RasterizerState.CullNone, Microsoft.Xna.Framework.Graphics.DepthStencilState.Default, Microsoft.Xna.Framework.Graphics.SpriteBatch.Draw(), Terraria.Graphics.Capture.CaptureCamera.DrawBytesToBuffer(), Microsoft.Xna.Framework.Graphics.SpriteBatch.End(), System.Threading.Monitor.Enter(), System.Threading.Monitor.Exit(), Terraria.Graphics.Capture.CaptureCamera.FinishCapture(), Microsoft.Xna.Framework.Graphics.Texture2D.Height, Terraria.Main.instance, Terraria.Lighting.NotRetro, Terraria.Graphics.Capture.CaptureSettings.OutputName, Terraria.Graphics.Capture.CaptureCamera.SaveImage(), Terraria.Graphics.Effects.Filters.Scene, Microsoft.Xna.Framework.Graphics.GraphicsDevice.SetRenderTarget(), Microsoft.Xna.Framework.Color.Transparent, Terraria.Graphics.Capture.CaptureSettings.UseScaling, Microsoft.Xna.Framework.Color.White, Microsoft.Xna.Framework.Graphics.Texture2D.Width, and System.Drawing.Size.Width.

Referenced by Terraria.Graphics.Capture.CaptureManager.DrawTick().