// This code example is from the Direct3D Mobile Matrices Sample// in the .NET Compact Framework Samples in the SDK.privatevoid 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.int iTime = Environment.TickCount % 1000;
float fAngle = iTime * (2.0f * (float)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 look at, 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((float)Math.PI / 4, 1.0f, 1.0f, 100.0f);
}

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.