Uses of 3D in WPF

Posted Thursday, March 30, 2006 9:30 AM by mhodnick

3D modeling is one of the most exciting parts of Windows Presentation Foundation but there is a lot of uncertainty about how it will be used in real applications. 3D is a very powerful tool at the disposal of WPF developers, but 3D by itself cannot address all of an application's UI requirements. 3D is one tool within WPF that can be leveraged to compliment the overal user interface of a solution.

When I've talked to peers about the use of WPF 3D in Windows applications, we've focused on determining what types of applications could benefit from making 3D the focal point of the application. While this might be the most obvious way to think about using WPF 3D, it's not the most realistic. For applications that require heavy use of 3D or where 3D modeling is the focal point of the work being done, Microsoft DirectX might be a better choice for a development technology.

WPF 3D is great for complimenting user interfaces. There are two great demos out there right now that use 3D in WPF (The North Face and iBloks). While both of these applications rely on WPF 3D to solve UI challenges, they do not rely on WPF 3D to be the focal point of their user interface.

Consider using WPF 3D for:

  • User Controls - Robert Hogue's carousel control is a great example. While his app presents the carousel on a large scale, it could be easily scaled down and used in a small task area in an application.
  • Animation Effects - use 3D animation to scale, rotate, and move objects within the application in response to user actions or other events. Animation can be used to draw attention to a UI element, transition an element's focus to a new state, or as a metaphor. Animation can also be accomplished with 2D graphics - so don't go overboard with 3D just because you need some element of animation.
  • Inspection of real objects - The North Face demo plainly demonstrates this idea. A model of a real object (e.g. a manufactured product) can be created and placed within a viewing area of the application for a user to examine and manipulate (e.g. use of a trackball).
  • Eye-catching multimedia and layouts - this is especially evident in retail and marketing-related scenarios where a goal is to captivate the user and draw them in to explore data within an application. Video on animated 3D surfaces and layering/angling windows are popular examples.

I commonly develop systems for users where they maintain data, perform steps in a process, approve steps in a workflow, run reports, and do other business-related tasks. I don't believe that WPF 3D should really be used to accomplish those types of tasks in a desktop UI directly. However, WPF 3D may be used to compliment the user interface that is used to perform those tasks and make the application experience more enjoyable to the user.

Filed under:

Comments

No Comments