Daniel Lehenbauer and Kurt Berglund: Interactive 2D controls on WPF 3D Surfaces

Sign in to queue


One of the really cool features of WPF is being able to take any 2D user interface and easily place it on a 3D surface. The most common request after doing this is then having the ability to interact with this 2D content on the 3D object.

V1 of WPF doesn’t have this feature built in, but with some extra code, this feature can be built on top of the product. In this video, WPF 3D developers Kurt Berglund and Daniel Lehenbauer show a demo application that makes use of the Flickr API to build a rich 3D photo application with 2D on 3D content. Of course, they also give a live coding example of how to incorporate 2D on 3D in to your own apps, and describe how it all works behind the scenes.

All of the code to do everything you see in this video yourself is available today at the 3DTools Codeplex site

Check out 2D on 3D Blog post

Note: The download file is BIG... We'll try to get a smaller one up soon.





Download this episode

The Discussion

  • User profile image
    Awesome stuff! Extra credits for the Amiga poster, too.
  • User profile image

    This is such a really cool hack!!  I love it.  Absolutely brilliant way to take advantage of the 2D environment to build 3D UI's!


  • User profile image
    Cool.  That is one of those slap your head things.  It makes perfect sense (seems to anyway).
  • User profile image

    wow Wink

  • User profile image
    Hmmm... I've got sea sickness during demos...
  • User profile image
    Whoh, cool stuff.

    Thanks, very interesting and entertaining information!
  • User profile image
    This video is pretty Big. Could you shrink it?
  • User profile image
    WPF and WPF/E seems powerful, but why not use this technology on Virtual Earth.  Recently I had to download Virtual Earth 3D Plug-In to view the 3D capability on Virtual Earth.  Rather than asking users to download another plug-in, why not use WPF/E.  Its seems a great scenario to utilizes this technology.
  • User profile image
    Jeroen Ritmeijer
    What is going on with these 800MB downloads lately? I just want to get the 320x240 file that I always get so I can watch it on my phone on the train.
  • User profile image
    Cool and pretty clean hack, but really I have this thing against creating hacks. Hopefully in the future of windows they render everything in complete 3d so that core mouse input events work from tracing true 3d rays.
  • User profile image
    Great Job!!  Very impressive.
  • User profile image
    Jeroen Ritmeijer wrote:
    What is going on with these 800MB downloads lately? I just want to get the 320x240 file that I always get so I can watch it on my phone on the train.

    This won't happen again. We will offer multiple res files in our next site release. Sorry about this.
  • User profile image

    Very right in saying designers have been after this feature for quite some time, the ability of applying interactive elements mapped (even if only appearing to be) onto 3d object surfaces, opens a wide array of possibility's. Hardware technology such as shades would most likely enhance this feature as the ability to apply hi-quality material elements such as smoke, particles and reflections would widen the possibility's even more.

  • User profile image
    Ion Todirel
    800M for 30min? cmon Sad
  • User profile image
    I personally find this 800mb version a lot better than the standard 320x240 videos we get. Yes, I am aware of the fact that some people are still using dial-up and others would like to watch these videos on their mobile phones, but come on guys, this quality rocks. You can always re-encode the files to 320x240 @ 12fps or whatever you want.
    IMHO, please do continue to post HD videos.
  • User profile image
  • User profile image
    Squeak has had 2d on 3D for years.
    You might check out croquet for a very good example:
  • User profile image
    Seriously though, this is ridiculous.  Kurt, this is nuts.  I have no idea what you're talking about, but this is nuts.  Jeezus.

    Go Cavs.

Add Your 2 Cents