public void Draw(Scene ActiveScene) { _RenderTarget.BeginDraw(); _RenderTarget.Clear(_ClearColor); ActiveScene.Draw(this); _RenderTarget.EndDraw(); }
public void DisplayGrayCode(int i) { var image = grayCodeImages[i]; bitmap.CopyFromMemory(image.DataIntPtr, image.Width * 4); renderTarget.BeginDraw(); renderTarget.DrawBitmap(bitmap, 1.0f, BitmapInterpolationMode.Linear); renderTarget.EndDraw(); //Console.WriteLine("displaying Gray code " + i); }
/// <summary> /// Выводит текст на экран. Должен вызываться последним после всех остальных операций по Рендерингу. Перед метордом Презент Свапчейна. /// </summary> /// <param name="text">Текст который будет рисоваться.</param> /// <param name="x">Отступ текста от левого края экрана, в пикселях.</param> /// <param name="y">Отступ текста от верхнего края экрана, в пикселях.</param> /// <param name="width">Ширина области в которую будет выводиться текст</param> /// <param name="height">Высота области в которую будет выводиться текст</param> public void DrawText(string text, float x = 0, float y = 0, float width = 400, float height = 300) { _RenderTarget2D.BeginDraw(); _RenderTarget2D.DrawText( text, text.Length, _TextFormat, new RectangleF(x, y, width, height), _SceneColorBrush, DrawTextOptions.None, MeasuringMode.GdiClassic); // RenderTarget2D.DrawTextLayout(new Vector2(0, 0), TextLayout, SceneColorBrush, DrawTextOptions.None); _RenderTarget2D.EndDraw(); }
public void Draw() { target.BeginDraw(); try { this.map.Draw(this.target); } catch { Console.WriteLine("Exception in graphic engine"); } foreach (var item in FloatingObjectRegistry.GetMovingObjects()) { item.Draw(this.target); } foreach (var player in players) { if (player.ShouldDraw()) { player.Draw(this.target); } } target.EndDraw(); }
private void Render() { frameAccumulator += FrameDelta; frameCount++; if (frameAccumulator >= 1.0f) { FramesPerSecond = frameCount / frameAccumulator; frameAccumulator = 0.0f; frameCount = 0; } BeginDraw(); Device.Rasterizer.SetViewports(new Viewport(0, 0, form.Width, form.Height)); Device.OutputMerger.SetTargets(BackBufferView); RenderTarget.BeginDraw(); RenderTarget.Clear(SceneColorBrush.Color); Draw(clock); RenderTarget.EndDraw(); swapChain.Present(0, PresentFlags.None); EndDraw(); }
/// <summary> /// Renders the scene to the given render target. /// Clears the scene, then draws all shapes /// </summary> /// <param name="renderTarget">The render target.</param> private void RenderScene(RenderTarget renderTarget) { Cursor c = null; if (renderMode != RenderModes.HwndRenderTarget) { c = Cursor; Cursor = Cursors.WaitCursor; } renderTarget.BeginDraw(); renderTarget.Clear(BackColorF); for (int i = 0; i < drawingShapes.Count; i++) { DrawingShape shape = drawingShapes[i]; //tag with shape index for debugging renderTarget.Tags = new Tags((ulong)i, 0); shape.Draw(renderTarget); } Tags tags; ErrorCode errorCode; if (!renderTarget.TryEndDraw(out tags, out errorCode)) { Debug.WriteLine(String.Format("Failed EndDraw. Error: {0}, tag1: {1}, tag2: {2}, shape[{1}]: {3}", errorCode, tags.Tag1, tags.Tag2, (int)tags.Tag1 < drawingShapes.Count ? drawingShapes[(int)tags.Tag1].ToString() : "<none>")); } if (renderMode != RenderModes.HwndRenderTarget) { Cursor = c; } }
private void Draw() { while (true) { if (token.IsCancellationRequested) { return; } lock (Locker) { //if (Disposed) // return; rt.BeginDraw(); rt.Clear(); if (Redraw) { Elements.Draw(rt); Redraw = false; } else { Elements.DrawChangedLayers(rt); } rt.EndDraw(); } Thread.Sleep(UpdateInterval); } }
private void Form1_Paint(object sender, PaintEventArgs e) { if (RenderTarget.IsDisposed) { return; } drawCount++; if (drawCount == 10000) { GC.Collect(); drawCount = 0; } //Thread.Sleep(45); // Begin rendering RenderTarget.BeginDraw(); RenderTarget.Clear(colorBack); layerBack.Draw(); layerParticle.Draw(); layerClock.Draw(); // End drawing RenderTarget.EndDraw(); //Left = (int)(Location.X + (Width - ClientSize.Width) / 2f); //Right = Left + ClientSize.Width; //Top = (int)(Location.Y + (Height - ClientSize.Height) - 8f); //Bottom = Top + ClientSize.Height; this.Invalidate(); }
private void RenderBuffers() { if (_indexBuffer == null || _vertexBuffer == null) { return; } var context = _tileTexture2D.Device.ImmediateContext; _renderTarget2D.BeginDraw(); _renderTarget2D.Clear(SharpDX.Color.Red); context.InputAssembler.InputLayout = _inputLayout; context.InputAssembler.PrimitiveTopology = PrimitiveTopology.TriangleList; context.InputAssembler.SetVertexBuffers(0, new VertexBufferBinding(_vertexBuffer, 16 + 16 + 12, 0)); context.InputAssembler.SetIndexBuffer(_indexBuffer, Format.R16_UInt, 0); context.VertexShader.Set(_vertexShader); context.Rasterizer.SetViewport(new Viewport(0, 0, 256, 256)); context.PixelShader.Set(_pixelShader); context.OutputMerger.SetTargets(_renderTargetView); context.OutputMerger.ResetTargets(); // int indexBufferTriangleCount = _indexBuffer.Description.SizeInBytes / _indexBuffer.Description.StructureByteStride / 3; context.DrawIndexed(_triangleCount, 0, 0); _renderTarget2D.EndDraw(); }
public void Render(SwapChain swapChain, ref Viewport viewport, hkaBone selected_bone, string anim_filename) { Size2 size = new Size2(viewport.Width, viewport.Height); CreateDeviceResources(swapChain); renderTarget.BeginDraw(); DrawCenterAxis(); DrawBoneTree(); DrawSelectedBone(selected_bone); DrawText(anim_filename, ref size); try { renderTarget.EndDraw(); } catch (SharpDXException ex) when((uint)ex.HResult == 0x8899000C) // D2DERR_RECREATE_TARGET { // device has been lost! DiscardDeviceResources(); } }
public frmWindow() { BackColor = new GCSColor(System.Drawing.Color.Blue); Loop = new Loop(); Form = new RenderForm(); Form.Text = "GlancesClientSharp"; Form.Width = 800; Form.Height = 600; Form.ResizeEnd += (o, e) => InitDevice(); Form.Shown += (_, e) => { Loop.LogicTick += (o, te) => { OnLogicTick(te); }; Loop.DrawTick += (o, te) => { if (RenderTarget != null) { RenderTarget.BeginDraw(); OnDrawTick(te); RenderTarget.EndDraw(); } }; if (RenderTarget == null || RenderTarget.IsDisposed) { InitDevice(); } }; Loop.RunAsync(); //Form.Show(); }
protected override void Draw() { RenderTarget.BeginDraw(); RenderTarget.Transform = Matrix3x2.Identity; Random random = new Random(); RenderTarget.Clear(new Color4(0.5f, 0.5f, 0.5f, 0.0f)); RenderTarget.AntialiasMode = AntialiasMode.Aliased; StrokeStyleProperties properties = new StrokeStyleProperties(); properties.LineJoin = LineJoin.MiterOrBevel; StrokeStyle strokeStyle = new StrokeStyle(RenderTarget.Factory, properties); foreach (DirectPath path in paths) { if (path.Geometry != null && path.Brush != null) { if (path is DirectPathScatter) { (path as DirectPathScatter).RenderScatterGeometry(RenderTarget); } else { if (path.QuickStrokeDash != QuickStrokeDash.None) { RenderTarget.DrawGeometry(path.Geometry, path.Brush, (float)path.StrokeThickness, strokeStyle); } } } } RenderTarget.EndDraw(); graphicsDeviceService10.CopyTextureAcross(); graphicsDeviceService10.Device.Flush(); }
private void PrepareAndCallRender() { var device = this.Device; if (device == null) { return; } var renderTarget = this.RenderTarget; if (renderTarget == null) { return; } var targetWidth = renderTarget.Description.Width; var targetHeight = renderTarget.Description.Height; device.Rasterizer.SetViewports(new Viewport(0, 0, targetWidth, targetHeight, 0.0f, 1.0f)); // Does the acttual rendering m_d2dRenderTarget.BeginDraw(); this.Render(m_d2dRenderTarget); m_d2dRenderTarget.EndDraw(); this.ShowFramesPerSecondsOnDebug(); device.Flush(); }
protected override void PreDraw() { Thread.Sleep(20); _device.ImmediateContext.Rasterizer.SetViewport(new Viewport(0, 0, Width, Height)); _device.ImmediateContext.OutputMerger.SetTargets(_backBufferView); _rt.BeginDraw(); }
public void Draw() { lock (_drawLock) { if (_ui == null || d2dRenderTarget == null || !_ui.ready) { return; } d2dRenderTarget.BeginDraw(); d2dRenderTarget.Clear(Color.Gray); if (_ui.gameStarted) { int stride = UI.GameWidth * 4; gameBitmap.CopyFromMemory(_ui.rawBitmap, stride); d2dRenderTarget.DrawBitmap(gameBitmap, clientArea, 1f, _ui._filterMode == UI.FilterMode.Linear ? BitmapInterpolationMode.Linear : BitmapInterpolationMode.NearestNeighbor); } d2dRenderTarget.EndDraw(); swapChain.Present(0, PresentFlags.None); } }
/// <summary> /// Beginning of our draw calls /// </summary> private static void BeginDrawing() { _renderTarget.BeginDraw(); _renderTarget.AntialiasMode = AntialiasMode.Aliased; _renderTarget.TextAntialiasMode = SharpDX.Direct2D1.TextAntialiasMode.Aliased; _renderTarget.Transform = Matrix3x2.Identity; }
private void OnRenderCallback() { d2dRenderTarget.BeginDraw(); d2dRenderTarget.Clear(Color.Black); d2dRenderTarget.SaveDrawingState(drawingStateBlock); d2dRenderTarget.Transform = this.transformation; // renderPolygon(this.leftEyebrow); // renderPolygon(this.leftEye); // renderPolygon(this.leftPupil); // renderPolygon(this.rightEyebrow); // renderPolygon(this.rightEye); // renderPolygon(this.rightPupil); // renderPolygon(this.mouth); // renderPolygon(this.nose); //renderPolygon(this.facePoints); renderPoints(facePoints); d2dRenderTarget.RestoreDrawingState(drawingStateBlock); if (this.showDebugInfo) { renderDebugInfo(); } d2dRenderTarget.EndDraw(); swapChain.Present(0, PresentFlags.None); framesPerSecond.Frame(); }
protected override void BeginRender() { base.BeginRender(); _renderTarget2D.BeginDraw(); _renderTarget2D.Clear(Color.Orange); }
/// <summary> /// Initializes a new instance of the <see cref="DrawingContext"/> class. /// </summary> /// <param name="renderTarget">The render target to draw to.</param> /// <param name="directWriteFactory">The DirectWrite factory.</param> public DrawingContext( RenderTarget renderTarget, SharpDX.DirectWrite.Factory directWriteFactory) { _renderTarget = renderTarget; _directWriteFactory = directWriteFactory; _renderTarget.BeginDraw(); }
public void Paint(RenderTarget target) { target.BeginDraw(); target.Transform = Matrix3x2.Identity; // Render scene Sequencer.Render(target); target.EndDraw(); }
internal void NextFrame() { drawer.BeginDraw(); drawer.Clear(Color.Black); sight.Draw(); drawer.EndDraw(); swapChain.Present(0, PresentFlags.None); }
public void Run() { RenderTarget.BeginDraw(); if (window.BackgroundColor.A > 0) { RenderTarget.Clear(new Color4(window.BackgroundColor.PackedArgb)); } }
public void Draw() { RenderTarget2D.BeginDraw(); KeyboardState kbs = _keyboard.GetCurrentState();//_keyboard.Poll(); foreach (var key in kbs.PressedKeys) { if (key == Key.Tab) { _isTabPressed = true; } else if (key == Key.F) { if (!_isFPressed) { _isFPressed = true; } else { _isFPressed = false; } } else if (key == Key.Return) { _isEnterPressed = true; } } //Drawing a gama if (_isEnterPressed) { _gameRender.DrawMap(_spectatorClass.Map); _gameRender.DrawInteractiveObjects(_spectatorClass.Map.InteractObjects); _gameRender.DrawClientInfo(); } if (_spectatorClass.Map != null && !_isEnterPressed) { _gameRender.DrawLogo(); } if (_spectatorClass.Map == null) { _gameRender.DrawWaitingLogo(); } if (_isTabPressed) { //_gameRender.DrawClientsInfo(); } if (_isFPressed) { _gameRender.DrawFPS(); } RenderTarget2D.EndDraw(); SwapChain.Present(0, PresentFlags.None); }
public void Compose(RenderTarget renderTarget, FrameworkElement fe) { renderTarget.BeginDraw(); Do your rendering here renderTarget.Clear(new Color(0, 0, 0, 0)); Render(renderTarget, fe, fe); renderTarget.EndDraw(); }
protected void Draw() { d2dRenderTarget.BeginDraw(); d2dRenderTarget.Clear(Color.Black); apple.Draw(d2dRenderTarget, d2dFactory); snake.Draw(d2dRenderTarget, d2dFactory); d2dRenderTarget.EndDraw(); swapChain.Present(0, PresentFlags.None); }
public void DrawText(string text, float x0 = 0, float y0 = 0, float x1 = 200, float y1 = 200) { _sw.Stop(); string s = string.Format("FPS : {0:#####}", 1000.0f / _sw.Elapsed.TotalMilliseconds); _sw.Reset(); _sw.Start(); s = s + " " + text; _RenderTarget2D.BeginDraw(); _RenderTarget2D.DrawText( s, s.Length, _TextFormat, new RectangleF(x0, y0, x1, y1), _SceneColorBrush, DrawTextOptions.None, MeasuringMode.GdiClassic); // _RenderTarget2D.DrawTextLayout(new Vector2(300, 300), _TextLayout, _SceneColorBrush, DrawTextOptions.None); _RenderTarget2D.EndDraw(); }
public void Draw() { d2dRenderTarget.BeginDraw(); d2dRenderTarget.FillGeometry(LayoutRect, LayoutBrush); d2dRenderTarget.FillGeometry(TextRect, TextRectangleBrush, null); // d2dRenderTarget.DrawText("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", TextFormat, new RawRectangleF(10, gameInst.RenderForm.Height - 40, gameInst.RenderForm.Width - 10 * 4, gameInst.RenderForm.Height-80), TextBrush, DrawTextOptions.Clip); d2dRenderTarget.DrawTextLayout(new Vector2(10.0f, gameInst.RenderForm.Height - 80.0f), ConsoleLayout, TextBrush, DrawTextOptions.Clip); d2dRenderTarget.DrawTextLayout(new Vector2(10.0f, 40), HistoryLayout, TextBrush, DrawTextOptions.Clip); d2dRenderTarget.EndDraw(); }
public void Draw(Action drawActions) { Device.ImmediateContext.OutputMerger.SetTargets(DepthStencilView, RenderTargetView); Device.ImmediateContext.ClearDepthStencilView(DepthStencilView, DepthStencilClearFlags.Depth, 1.0f, 0); Device.ImmediateContext.ClearRenderTargetView(RenderTargetView, Color.CornflowerBlue); RenderTarget2D.BeginDraw(); drawActions(); RenderTarget2D.EndDraw(); SwapChain.Present(0, PresentFlags.None); }
private void saveButton_Click(object sender, EventArgs e) { if (renderTarget == null) { // Should not happen MessageBox.Show("Unable to save file."); return; } SaveFileDialog saveDlg = new SaveFileDialog(); saveDlg.Filter = "Bitmap image (*.bmp)|*.bmp|Png image (*.png)|*.png|Jpeg image (*.jpg)|*.jpg|Gif image (*.gif)|*.gif"; if (DialogResult.OK == saveDlg.ShowDialog()) { SizeU size = new SizeU((uint)ClientSize.Width, (uint)ClientSize.Height); ImagingBitmap wicBitmap = wicFactory.CreateImagingBitmap( size.Width, size.Height, PixelFormats.Bgr32Bpp, BitmapCreateCacheOption.CacheOnLoad); D2DBitmap d2dBitmap = renderTarget.CreateBitmap(size, new BitmapProperties(new PixelFormat(Microsoft.WindowsAPICodePack.DirectX.Graphics.Format.B8G8R8A8UNorm, AlphaMode.Ignore), renderTarget.Dpi.X, renderTarget.Dpi.Y)); d2dBitmap.CopyFromRenderTarget(renderTarget); RenderTarget wicRenderTarget = d2dFactory.CreateWicBitmapRenderTarget(wicBitmap, renderProps); wicRenderTarget.BeginDraw(); wicRenderTarget.DrawBitmap(d2dBitmap); wicRenderTarget.EndDraw(); Guid fileType; switch (saveDlg.FilterIndex) { case 1: fileType = ContainerFormats.Bmp; break; case 2: fileType = ContainerFormats.Png; break; case 3: fileType = ContainerFormats.Jpeg; break; case 4: fileType = ContainerFormats.Gif; break; default: fileType = ContainerFormats.Bmp; // default to bitmap files break; } wicBitmap.SaveToFile(wicFactory, fileType, saveDlg.FileName); } }
public void Create3dObjects() { //Create RenderWindow RenderWindowInstance = new ModelRenderWindow(); FormInstance = RenderWindowInstance.CreateWindow(1080, 1240, FormStartPosition.CenterScreen); //Create SwapChain SwapChainCreator = new ModelSwapChainDesc(); SwapChainD = SwapChainCreator.CreateSwapChain(2, Usage.RenderTargetOutput, FormInstance.Handle, true, 0, 0, new Rational(60, 1), Format.R8G8B8A8_UNorm, 1, 0, SwapChainFlags.AllowModeSwitch, SwapEffect.Discard); //Create Device Device.CreateWithSwapChain(DriverType.Hardware, DeviceCreationFlags.BgraSupport, SwapChainD, out GraphicsDevice, out NewSwapChain); //Create Back buffer BackBuffer = Surface.FromSwapChain(NewSwapChain, 0); //Create Factory FactoryD2D FactoryInstance = new FactoryD2D(); //Create RenderTarget RenderTargetInstance = new ModelRenderTarget(); RenderTarget = RenderTargetInstance.CreateRenderTarget(SharpDX.Direct2D1.FeatureLevel.Level_DEFAULT, new PixelFormat(Format.Unknown, SharpDX.Direct2D1.AlphaMode.Ignore), RenderTargetType.Default, RenderTargetUsage.None, BackBuffer, FactoryInstance); RenderLoop.Run(FormInstance, () => { RenderTarget.BeginDraw(); RenderTarget.Transform = Matrix3x2.Identity; RenderTarget.Clear(Color.White); using (var brush = new SolidColorBrush(RenderTarget, Color.Red)) { //for (int x = 0; x < RenderTarget.Size.Width; x += 10) // RenderTarget.DrawLine(new Vector2(x, 0), new Vector2(x, RenderTarget.Size.Height), brush, 0.5f); //for (int y = 0; y < RenderTarget.Size.Height; y += 10) // RenderTarget.DrawLine(new Vector2(0, y), new Vector2(RenderTarget.Size.Width, y), brush, 0.5f); RenderTarget.DrawLine(new Vector2(300, 10), new Vector2(300, 300), brush, 1.5f); // RenderTarget.FillRectangle(new RectangleF(RenderTarget.Size.Width / 2 - 50, RenderTarget.Size.Height / 2 - 50, 100, 100), brush); } // RenderTarget.DrawRectangle( // new RectangleF(RenderTarget.Size.Width / 2 - 100, RenderTarget.Size.Height / 2 - 100, 200, 200), // new SolidColorBrush(RenderTarget, Color.CornflowerBlue)); RenderTarget.EndDraw(); NewSwapChain.Present(0, PresentFlags.None); }); RenderTarget.Dispose(); NewSwapChain.Dispose(); GraphicsDevice.Dispose(); }
private static void RenderBegin(RenderTarget renderTarget) { renderTarget.BeginDraw(); renderTarget.Transform = Matrix3x2.Identity; renderTarget.Clear(new Color4(1.0f, 1.0f, 1.0f)); }
/// <summary> /// Renders the scene to the given render target. /// Clears the scene, then draws all shapes /// </summary> /// <param name="renderTarget">The render target.</param> private void RenderScene(RenderTarget renderTarget) { Cursor c = null; if (renderMode != RenderModes.HwndRenderTarget) { c = Cursor; Cursor = Cursors.WaitCursor; } renderTarget.BeginDraw(); renderTarget.Clear(BackColorF); for (int i = 0; i < drawingShapes.Count; i++) { DrawingShape shape = drawingShapes[i]; //tag with shape index for debugging renderTarget.Tags = new Tags((ulong)i, 0); shape.Draw(renderTarget); } Tags tags; ErrorCode errorCode; if (!renderTarget.TryEndDraw(out tags, out errorCode)) { Debug.WriteLine(String.Format("Failed EndDraw. Error: {0}, tag1: {1}, tag2: {2}, shape[{1}]: {3}", errorCode, tags.Tag1, tags.Tag2, (int)tags.Tag1 < drawingShapes.Count ? drawingShapes[(int)tags.Tag1].ToString() : "<none>")); } if (renderMode != RenderModes.HwndRenderTarget) Cursor = c; }
public void Paint(RenderTarget target) { target.BeginDraw(); target.Transform = Matrix3x2.Identity; if (Fancy) target.FillRectangle(BackgroundGradient, new RectangleF(PointF.Empty, target.Size)); else target.Clear(Color.Black); #region draw_notes lock (notes) { foreach (Note n in notes) { float wheelOffset = (Keyboard.Pitchwheel[n.Channel] - 8192) / 8192f * 2 * KeyWidth; float bottom = n.Position + n.Length; float left = n.Key * KeyWidth + (bottom >= KeyboardY ? wheelOffset : 0); if (Fancy) { NoteRoundRect.Left = left; NoteRoundRect.Top = n.Position; NoteRoundRect.Right = left + KeyWidth; NoteRoundRect.Bottom = bottom; float alpha = n.Velocity / 127f * (Keyboard.ChannelVolume[n.Channel] / 127f); alpha *= alpha; var gradientBrush = ChannelGradientBrushes[n.Channel]; gradientBrush.Opacity = alpha; GradientPoint.X = NoteRoundRect.Left; gradientBrush.StartPoint = GradientPoint; GradientPoint.X = NoteRoundRect.Right; gradientBrush.EndPoint = GradientPoint; target.FillRoundedRectangle(ChannelGradientBrushes[n.Channel], NoteRoundRect); } else { NoteRect.X = left; NoteRect.Y = n.Position; NoteRect.Width = KeyWidth; NoteRect.Height = n.Length; target.FillRectangle(ChannelBrushes[n.Channel], NoteRect); } } } #endregion Keyboard.Render(target); // Draw time progress bar if (sequence?.GetLength() > 0) { float percentComplete = 1f*sequencer.Position/sequence.GetLength(); target.FillRectangle(DefaultBrushes[5], new RectangleF(ProgressBarBounds.X, ProgressBarBounds.Y, ProgressBarBounds.Width*percentComplete, ProgressBarBounds.Height)); target.DrawRectangle(DefaultBrushes[2], ProgressBarBounds, .8f); } string[] debug = { " file: " + MIDIFile, "note_count: " + notes.Count, " renderer: " + (Fancy ? "fancy" : UserFancy ? "forced-fast" : "fast"), " note: " + (sequence == null ? "? / ?" : sequencer.Position + " / " + sequence.GetLength()), " delay: " + Delay }; string debugText = debug.Aggregate("", (current, ss) => current + ss + '\n'); target.DrawText(debugText, DebugFormat, DebugRectangle, DefaultBrushes[0], DrawTextOptions.None, MeasuringMethod.Natural); if (Loading == 0) target.DrawText("INITIALIZING MIDI DEVICES", HugeFormat, FullRectangle, DefaultBrushes[0], DrawTextOptions.None, MeasuringMethod.Natural); else if (Loading > 0) target.DrawText("LOADING " + Loading + "%", HugeFormat, FullRectangle, DefaultBrushes[0], DrawTextOptions.None, MeasuringMethod.Natural); target.EndDraw(); }