Matrix.LookAtLH Method
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
Builds a left-handed look-at matrix.
Namespace: Microsoft.WindowsMobile.DirectX
Assembly: Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)
Syntax
'Declaration
Public Shared Function LookAtLH ( _
cameraPosition As Vector3, _
cameraTarget As Vector3, _
cameraUpVector As Vector3 _
) As Matrix
'Usage
Dim cameraPosition As Vector3
Dim cameraTarget As Vector3
Dim cameraUpVector As Vector3
Dim returnValue As Matrix
returnValue = Matrix.LookAtLH(cameraPosition, _
cameraTarget, cameraUpVector)
public static Matrix LookAtLH(
Vector3 cameraPosition,
Vector3 cameraTarget,
Vector3 cameraUpVector
)
public:
static Matrix LookAtLH(
Vector3 cameraPosition,
Vector3 cameraTarget,
Vector3 cameraUpVector
)
static member LookAtLH :
cameraPosition:Vector3 *
cameraTarget:Vector3 *
cameraUpVector:Vector3 -> Matrix
Parameters
- cameraPosition
Type: Microsoft.WindowsMobile.DirectX.Vector3
A Vector3 structure that defines the camera point. This value is used in translation.
- cameraTarget
Type: Microsoft.WindowsMobile.DirectX.Vector3
A Vector3 structure that defines the camera look-at target.
- cameraUpVector
Type: Microsoft.WindowsMobile.DirectX.Vector3
A Vector3 structure that defines the up direction of the current world, usually [0, 1, 0].
Return Value
Type: Microsoft.WindowsMobile.DirectX.Matrix
A Matrix structure that is a left-handed look-at matrix.
Remarks
This method uses the following formula to compute the returned matrix.
zaxis = normal(cameraTarget - cameraPosition)
xaxis = normal(cross(cameraUpVector, zaxis))
yaxis = cross(zaxis, xaxis)
xaxis.x yaxis.x zaxis.x 0
xaxis.y yaxis.y zaxis.y 0
xaxis.z yaxis.z zaxis.z 0
-dot(xaxis, cameraPosition) -dot(yaxis, cameraPosition) -dot(zaxis, cameraPosition) 1
Examples
The following example demonstrates how to use the LookAtLH method. This example is taken from the Direct3D Mobile Matrices Sample in the Windows Software Development Kit (SDK).
' 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))
// 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));
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
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