You can add animations to move the camera’s position, or its zoom say, in exactly the same way and create a “fly past” but to make it look impressive you will need more than a single cube and this is the start of a very big project…
If you would like the code for this project then register and click on CodeBin or you can copy and paste the listing below.
Listing
The complete program is (omitting the usual using statements):
using System.Windows.Media.Media3D; using System.Windows.Media.Animation;namespace Cube1 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } MeshGeometry3D MCube() { MeshGeometry3D cube = new MeshGeometry3D(); Point3DCollection corners = new Point3DCollection(); corners.Add(new Point3D(0.5, 0.5, 0.5)); corners.Add(new Point3D(-0.5, 0.5, 0.5)); corners.Add(new Point3D(-0.5, -0.5, 0.5)); corners.Add(new Point3D(0.5, -0.5, 0.5)); corners.Add(new Point3D(0.5, 0.5, -0.5)); corners.Add(new Point3D(-0.5, 0.5, -0.5)); corners.Add(new Point3D(-0.5, -0.5, -0.5)); corners.Add(new Point3D(0.5, -0.5, -0.5)); cube.Positions = corners;
Having looked at working with raw pixel data we turn our attention to formattted image files and how to code and decode both the pixel data and the meta data they contain.
There are more data grids available than the standard one that comes with WPF. In this article we take a look at FlexGrid for WPF and discover how easy it is to use.
In the article Custom Bitmap Effects - Getting started we discovered how to work with HLSL in WPF. Now we are in a position to write more sophisticated shaders and this means learning some more [ ... ]