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


Kinect SDK 2 Dumps Kinect V1
17/07/2014

It is both a sad and a happy day. The new Kinect V2 is being shipped to eager programmers and SDK 2 is available for download. But the lack of any backward compatibility in SDK 2 is the end of the lin [ ... ]



UK Government Adopts Open Standards
24/07/2014

The UK Government has selected ODF (Open Document Format) as a required standard for sharing and collaborating on documents across all governement bodies. PDF/A and HTML are the selected standards for [ ... ]


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.