WPF 3D Overview

WPF 3D is a great technology!

With WPF there is no need any more to deal with C++, DirectX and graphics drivers. Now programmers can use xaml and managed code to define and modify the 3D scene. The WPF can use high end graphic card when it is available and can fallback to software rendering when the computer does not have an accelerated graphics.


Advantages of WPF 3D:
  • Using fully managed .Net solutions.
  • When available the rendering is fully hardware accelerated.
  • Almost no minimum hardware requirements: When no accelerated graphic card is available WPF automatically fallbacks to software rendering.
  • Platform availability: .Net 3.5 SP1 is already installed on every Windows 7 OS (no need to redistribute C++ and DirectX runtimes, etc.)
  • No need to deal with special settings for various graphics cards.

Of course WPF does not provide all the features of DirectX, so it is not capable of running high end 3D games. But my customers have already proven that it is very capable of showing very complex 3D scenes with models with several hundred thousands triangles.

But WPF still lacks many features to make programming with 3D easy.

With Ab3d.Reader3ds and Ab3d.PowerToys you have the ultimate framework to work with WPF 3D.


Advantages of using our tools with WPF 3D:
  • Simplified development with Visual Studio with previewing the scene defined in XAML in design window.
  • Simplified usage of cameras with mouse camera rotation and movement.
  • Included basic 3D models and visuals (Sphere, Box, Cylinder, etc.)
  • Included advanced 3D lines and 3D text.
  • Simplified event handling on 3D objects.
  • Solve WPF 3D transparency problem (see more).
  • Possibility to import 3D models from 3ds files.

 

Use cases

The libraries gives you a complete solution for:

  • creating monitoring systems with 3D models,
  • displaying 3D simulations and mathematical models,
  • displaying 3D models of your products or prototypes,
  • creating designing and configuration applications in reality-like 3D scenes,
  • creating interesting 3D effects,
  • etc.

 

Ab3d.PowerToys

With Ab3d.PowerToys library you can define the 3D scene with setting the camera (SceneCamera, FirstPersonCamera, ThirdPersonCamera, etc.), defining 3D objects (Box, Sphere, Plane, etc.), use 3D lines, 3D text and simply use events on 3D objects.


Screenshots (click on image to see more):


 

Viewer3ds and Ab3d.Reader3ds

More complex 3D objects can be defined in 3D modeling application, saved to 3ds file and converted into XAML with Viewer3ds or directly imported into your application with Ab3d.Reader3ds.

The following schema shows how to get 3D objects into your application:

Ab3d Overview diagram

The 3ds file format is one of the most commonly used file format for storing 3D models. Almost all 3D modeling programs support some kind of import from or export to this file format. Also, there are huge web libraries that are providing objects in this file format.


Screenshots (click on image to see more):

 

To see how easy is to use Ab3d.PowerToys and Ab3d.Reader3ds to create great business applications with 3D graphics see the following blog post.