XMVector3Project

Project a 3D vector from object space into screen space.

Syntax

XMVECTOR XMVector3Project(
         XMVECTOR V,
         float ViewportX,
         float ViewportY,
         float ViewportWidth,
         float ViewportHeight,
         float ViewportMinZ,
         float ViewportMaxZ,
         CXMMATRIX Projection,
         CXMMATRIX View,
         CXMMATRIX World
)  

Parameters

V
Type: XMVECTOR 

3D vector in object space that will be projected into screen space.

ViewportX
Type: float 

Pixel coordinate of the upper-left corner of the viewport. Unless you want to render to a subset of the surface, this parameter can be set to 0.

ViewportY
Type: float 

Pixel coordinate of the upper-left corner of the viewport on the render-target surface. Unless you want to render to a subset of the surface, this parameter can be set to 0.

ViewportWidth
Type: float 

Width dimension of the clip volume, in pixels. Unless you are rendering only to a subset of the surface, this parameter should be set to the width dimension of the render-target surface.

ViewportHeight
Type: float 

Height dimension of the clip volume, in pixels. Unless you are rendering only to a subset of the surface, this parameter should be set to the height dimension of the render-target surface.

ViewportMinZ
Type: float 

Together with ViewportMaxZ, value describing the range of depth values into which a scene is to be rendered, the minimum and maximum values of the clip volume. Most applications set this value to 0.0f. Clipping is performed after applying the projection matrix.

ViewportMaxZ
Type: float 

Together with MinZ, value describing the range of depth values into which a scene is to be rendered, the minimum and maximum values of the clip volume. Most applications set this value to 1.0f. Clipping is performed after applying the projection matrix.

Projection
Type: CXMMATRIX 

Projection matrix.

View
Type: CXMMATRIX 

View matrix.

World
Type: CXMMATRIX 

World matrix.

Return value

Type: XMVECTOR 

Returns a vector in screen space.

Remarks

The ViewportX, ViewportY, ViewportWidth, and ViewportHeight parameters describe the position and dimensions of the viewport on the render-target surface. Usually, applications render to the entire target surface; when rendering on a 640480 surface, these parameters should be 0, 0, 640, and 480, respectively. The *ViewportMinZ and ViewportMaxZ are typically set to 0.0f and 1.0f but can be set to other values to achieve specific effects.

Requirements

Header: Declared in directxmath.h.