Thursday, September 25, 2014

Matrix of the Universe - Matrix3DEx now available for Universal Apps

Do you know about the semi-3D features of XAML and the UIElement Projection available in WinRT and Silverlight? I know many aren't aware of this feature which enables actually pretty nice semi-3D experiences just with XAML. To make the handling easier, I created the Matrix3DEx open source project a few years ago which provides helper methods and samples.

It's better described in action than with words, so you should try the live Silverlight sample which is now also available for WinRT.
There were also some cool games developed using Matrix3DEx: Cubemania is a great and highly addictive rigid body physics game and Go Go Racer! is a nice 2.5D retro racing game.

The Matrix3DEx library is now available for WinRT including Universal Apps, Windows Phone Silverlight and goo old Web Silverlight.
You can download the binaries here.
As usual all samples and the source code can be found in the repository.

The Matrix3DEx project description from the CodePlex site:
The Matrix3DEx library is a collection of extension and factory methods for the Matrix3D struct. It's available for Windows WinRT including Universal Apps, Silverlight and Windows Phone Silverlight. The Matrix3D struct represents a 4x4 matrix that is used in combination with the Matrix3DProjection to apply more complex semi-3D scenarios to any UIElement than are possible with the simple PlaneProjection. This makes it possible to apply arbitrary model transformation matrices and perspective matrices to Silverlight elements.
The Matrix3D struct is very minimalistic and has only a few members. The Matrix3DEx library tries to compensate that with extension and factory methods for common transformation matrices that are easy to use like built in methods.