Share via


Device.Transform Property

Gets a matrix that describes a transformation state.

Namespace:  Microsoft.WindowsMobile.DirectX.Direct3D
Assembly:  Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)

Syntax

'Declaration
Public ReadOnly Property Transform As Transforms
'Usage
Dim instance As Device 
Dim value As Transforms 

value = instance.Transform
public Transforms Transform { get; }
public:
property Transforms^ Transform {
    Transforms^ get ();
}
public function get Transform () : Transforms

Property Value

Type: Microsoft.WindowsMobile.DirectX.Direct3D.Transforms
A Transforms structure that describes the returned transformation state.

Exceptions

Exception Condition
InvalidCallException

The method call is invalid. For example, a parameter might contain an invalid value.

Examples

The following code demonstrates how to use the Transform property.

' 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
// This code example is from the Direct3D Mobile Matrices Sample 
// in the .NET Compact Framework Samples in the SDK. 
private void 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);
}

.NET Framework Security

Platforms

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.

Version Information

.NET Compact Framework

Supported in: 3.5, 2.0

See Also

Reference

Device Class

Device Members

Microsoft.WindowsMobile.DirectX.Direct3D Namespace