Project Austin - A Case Study In Modern C++
Written by Mike James   
Monday, 24 September 2012

Project Austin is recreating the abandoned Microsoft Courier tablet's note taking software. What is really interesting, however, is that this is a show case for modern C++ as envisaged by Microsoft.

The project is being documented in a very readable way on the Visual C++ Blog and this is where you will find the fine detail. The project uses WinRT and hence the term "modern" C++ also applies to the type of app being created.

The idea is to create a free flowing notebook that works as if it was paper and pen.

"Austin is a digital note-taking app for Windows 8. You can add pages to your notebook, delete them, or move them around. You can use digital ink to write or draw things on those pages. You can add photos from your computer, from SkyDrive, or directly from your computer's camera. You can share the notes you create to other Windows 8 apps such as e-mail or SkyDrive."

You can see it in action in the video:

 

What is interesting about this application, from the programmer's point of view, is that it makes use of the new features in Visual Studio 2012 - automatic code vectorization and C++ AMP. It therefore raises the question, what can parallelization bring to a graphics app? This appears to be a lot in theory - but at what cost?

The app is based on using DirectX for the graphics and, even though the scene is essentially a 2D page, it is represented in a full 3D space. The UI is, of course, constructed using XAML. Of particular interest is the way that the pen strokes are rendered using a 2D mesh rather than a bitmap, say. Interestingly, the original intent was to create a geometry shader to handle the mesh but, for now at least, it is processed by the CPU and handed on to the GPU for rendering.

 

austinstrokemesh

 

At the moment the only part of the system that uses C++ AMP is the pager turn animation, but the claimed speed increase is sufficient to make it attractive to convert other pats of the system to it.

You can download the code from CodePlex and play with it. At the moment there is no word of whether or not this will turn into a real app available for end users on Windows 8 or WinRT, but it would be a shame for so much work not to reach a wider audience.

In the meantime stay tuned to the C++ Blog to follow the rest of the explanation.

 

The War At Microsoft - Managed v Unmanaged

Getting started with Managed C++

Building and using C++ WinRT components

 

blog comments powered by Disqus

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


Gordon Bell Lifelogging at 80
19/08/2014

Gordon Bell turns 80 today, August 19th, 2014. Born in 1934 he has lived through an era in which computers occupied entire building through to being able to carry one in your pocket or around your nec [ ... ]



70 Years Ago - Formal Presentation of Harvard Mark 1
07/08/2014

The computer dreamed up by Howard Aiken and built with financial help from IBM was formally presented to Harvard University on August 7, 1944.


More News

 

Last Updated ( Monday, 24 September 2012 )
 
 

   
RSS feed of news items only
I Programmer News
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.