Introducing Win2D - GPU accelerated 2D graphics programming in the Windows Runtime

Today I’d like to share some information about work we are doing to make hardware accelerated 2D graphics APIs available to C# developers. Win2D is a Windows Runtime API we’re working on to expose the power of hardware accelerated Direct2D graphics to Universal App (Windows 8.1 and Windows Phone 8.1) developers – verymuch a work in progress….


Win2D 0.0.15 - cleanups and breaking changes

Win2D version 0.0.15 is now available on NuGet and Github. New this sprint: Added CanvasTextLayout SetBrush and SetColor methods, which allow regions of different colors within a single layout Added CanvasAnimatedControl.RunOnGameLoopThreadAsync CanvasSwapChain.ResizeBuffers can now change DPI as well as size Fixed bug where ICanvasTimingInformation.IsRunningSlowly was not always returning the correct information Added RemoveFromVisualTree method to…


Win2D 1.20.0 – bugfix release

Win2D version 1.20.0 is now available on NuGet (for Windows 10 or Windows / Phone 8.1) and GitHub. Changes in this release: The image effects that were added in Windows 10 Anniversary Edition (AlphaMaskEffect, CrossFadeEffect, OpacityEffect, and TintEffect) are no longer marked as experimental. Made sure CanvasControl::Changed always executes on the UI thread. This fixes a crash…


Win2D app building samples

Shortly before releasing Win2D version 1, the team downed tools and spent a week writing our own apps to validate Win2D end-to-end.  For better or worse, the results are available on github…   Harrydactyl: Cooper’s silly game with dinosaurs https://github.com/coopp/Harry Fly a Pterodactyl named Harry across a world filled with dinosaurs and collect as many…


Win2D 0.0.16 - breaking changes and Windows 10 support

Win2D version 0.0.16 is now available on NuGet and Github. Breaking changes As previously mentioned, this sprint focused on making breaking changes to improve the Win2D API design, in preparation for releasing a more stable version alongside the //build/ conference in a couple of weeks.  Specifically: 1:  Split the Microsoft.Graphics.Canvas namespace into several new namespaces, to…

18

WinRT vector and matrix types in Windows 10

This a follow-up to Win2D integration with Windows 10 Short version  When you use Win2D on Windows 10, vector and matrix operations work better and run faster!   Long version Last year I wrote about how Win2D includes three different sets of vector and matrix types: A rich .NET implementation in the namespace System.Numerics A…


Async resource loading in Win2D

Previously, we looked at handling lost devices, why we put CanvasControl in charge of drawing and resource creation policy, the problems with async loading and some ways we tried to solve them. This time we’ll talk about the actual solution. CanvasControl is in charge of deciding when to raise CreateResources and Draw. In order to…

12

Win2D 1.2.0 - gradient meshes and virtual image sources

Win2D version 1.2.0 is now available on NuGet (for Windows 10 or Windows / Phone 8.1) and GitHub.   What’s new: Gradient meshes for drawing fancy color gradients controlled by Bezier curves. CanvasVirtualImageSource for drawing just the visible part of a large virtualized surface.  This is a low level API that requires lots of manual plumbing, equivalent…


Win2D 0.0.11 - CanvasAnimatedControl

Win2D version 0.0.11 is now available on NuGet and Github. New this sprint: CanvasAnimatedControl provides an easy to use game loop programming model: Update and Draw events run on a dedicated thread, so smooth animation can continue independently of the main UI thread. Supports both fixed timestep and variable update rates. Can deliver input events…


Win2D 0.0.9 - command lists and swapchain improvements

Win2D version 0.0.9 is now available on NuGet and Github. New this sprint: Added CanvasCommandList CanvasSwapChain improvements Now handles high DPI following the same pattern as CanvasImageSource Present overload that takes a sync interval Added Rotation, TransformMatrix, and SourceSize properties Simpler ResizeBuffers overload API cleanup: added some missing properties and fixed inconsistent naming Added CanvasBitmap.Device,…