Matrix Structure
Describes and manipulates a matrix.
Assembly: Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)
This structure represents a 4 × 4 matrix of single-precision floating-point numbers. The fields of this structure are named with the row number first, then the column number.
In Microsoft Windows Mobile Direct3D, the M34 element of a projection matrix cannot be a negative number. If an application needs to use a negative value in this location, it should scale the entire projection matrix by –1 instead.
The following example shows how to use a Matrix structure.
' This code example is from the Direct3D Mobile Matrices Sample ' in the .NET Compact Framework Samples in the SDK. Private Sub SetupMatrices() ' For the world matrix, rotate the object about the y-axis. ' Set up the rotation matrix to generate one full rotation (2*PI radians) ' every 1000 ms. To avoid the loss of precision inherent in very high ' floating-point numbers, the system time is modulated by the rotation ' period before conversion to a radian angle. Dim iTime As Integer = Environment.TickCount Mod 1000 Dim fAngle As Single = iTime * (2.0F * System.Convert.ToSingle(Math.PI)) / 1000.0F device.Transform.World = Matrix.RotationY(fAngle) ' Set up the view matrix. A view matrix can be defined given an eye point, ' a point to lookat, and a direction indicating which way is up. Here, you set ' the eye five units back along the z-axis and up three units, look at the ' origin, and define "up" to be in the y-direction. device.Transform.View = Matrix.LookAtLH(New Vector3(0.0F, 3.0F, -5.0F), New Vector3(0.0F, 0.0F, 0.0F), New Vector3(0.0F, 1.0F, 0.0F)) ' For the projection matrix, set up a perspective transform (which ' transforms geometry from 3-D view space to 2-D viewport space, with ' a perspective divide making objects smaller in the distance). To build ' a perspective transform, you need the field of view (1/4 PI is common), ' the aspect ratio, and the near and far clipping planes (which define ' the distances at which geometry should no longer be rendered). device.Transform.Projection = Matrix.PerspectiveFovLH(System.Convert.ToSingle(Math.PI) / 4, 1.0F, 1.0F, 100.0F) End Sub
Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.