Some implementation details of the Planerator

My previous two posts (here and here) discuss usage of the Planerator control.  There are some unique issues that needed to be resolved in the implementation that WPF geeks might be interested in.  If you just are interested in using it, and not finding out how the sausage is made, you might want to just…

2

Planerator comments and posted XBAP

My previous post introduced a simple, but very powerful custom WPF control called a Planerator.  That post contained some screenshots, but there’s nothing like a live demo.  So here’s an XBAP demonstrating the Planerator in action.  Click on “Go” to start it animating on its own.  Or adjust the angles yourself.  Note that the content…

9

Enter The Planerator – Dead-simple 3D in WPF, with a stupid name

[UPDATED: November 26, 2007 – updated source code zip one last time.]  [UPDATED: November 7, 2007 – updated source code zip and made a few clarifications.]  When incorporating 3D support into WPF, we strived for integration with the rest of the system, and sufficient flexibility that will support lots of different scenarios.  So, even though 3D in…

12

Making use of multiprocessing in WPF

There was a query on the MSDN forums for WPF the other day that asked about leveraging multiple processors in WPF applications.  I responded, and am basically repeating that response here, with a little bit of extension: WPF 3.0 (and the version coming out with Orcas, 3.5) is definitely an STA(*)-based model, but here are…

12

Silverlight 1.1 VirtualEarth Viewer

Microsoft Live Search Maps (aka Virtual Earth) at http://maps.live.com, is fantastic web technology that just keeps on getting better and better with birds-eye views, persistent collections, directions, etc.  However, given that its rendering is straight HTML and DHTML, the visual experience when zooming and panning is sometimes a little jarring in that you see black…

7

WPF, Silverlight and C# 3.0 object initializers

XAML is definitely the way to go whenever possible when you’re writing WPF and Silverlight apps, due to its amenability to tooling, analyzability, side-effect-free-ness, etc.  However, there are occasionally (or often, depending on what you’re doing) times when you need to construct WPF and Silverlight objects via code, and pure XAML expression doesn’t do the…

5

Making ParallaxUi look right – field of view selection

  In my last post, I said that “one of the more subtle aspects of the otherwise pretty straightforward ParallaxUi is the ‘registration’ between the 2D and the 3D”, and proceeded to discuss how this is done.  This amounted to figuring out how far back to place our camera based on a given Field of View…

1

Camera construction in ParallaxUi

One of the more subtle aspects of the otherwise pretty straightforward ParallaxUi is the “registration” between the 2D and the 3D.  This comes into play when you just move ever so slightly off-angle, and the view goes from the 2D view of the UI to a 3D view of a Viewport3D with pretty much a head…

8

ParallaxUi – source posted

I’ve cleaned up the source to ParallaxUi a bit and am attaching it to this post as a .zip file.  This has a VisualStudio solution that contains three VisualStudio projects: ParallaxUi – the custom decorator that creates the Parallax UI and exposes properties like rotation and methods like “implode”. ParallaxUiTest – a simple test app…

4

ParallaxUi – UIs Escaping from Flatland

As I mentioned in my last post, one of the guiding principles for the design of 3D in WPF is the consistent and powerful integration with 2D vector graphics, media, imaging, UI, and documents.  And, for quite some time, I’ve wanted to write a little demo to show off specific aspects of this. Here’s the…

11