Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This enumeration provides flags that control when a transformation matrix is applied to a texture in a texture stage state. These flags are used to set the value of the D3DTSS_TEXTURETRANSFORMFLAGS texture stage state for the D3DMTEXTURESTAGESTATETYPEenumeration.

Syntax

typedef enum _D3DMTEXTURETRANSFORMFLAGS {
  D3DMTTFF_DISABLE	 = 0,
  D3DMTTFF_COUNT1	= 1,
  D3DMTTFF_COUNT2	= 2,
  D3DMTTFF_COUNT3	= 3,
  D3DMTTFF_PROJECTED   = 256,
  D3DMTTFF_FORCE_ULONG = 0x7fffffff,
} D3DMTEXTURETRANSFORMFLAGS;

Elements

D3DMTTFF_DISABLE

Specifies that the transformation is disabled and the coordinates are passed directly to the rasterizer.

D3DMTTFF_COUNT1

Specifies that the transformation is enabled and only one coordinate is passed to the rasterizer.

D3DMTTFF_COUNT2

Specifies that the transformation is enabled and two coordinate values are passed to the rasterizer.

D3DMTTFF_COUNT3

Specifies that the transformation is enabled and three coordinate values are passed to the rasterizer.

D3DMTTFF_PROJECTED

Specifies that all of the texture coordinates will be divided by the value of the last coordinate, as denoted by texture coordinate count. For example, if D3DMTTFF_COUNT2 is specified with D3DMTTFF_PROJECTED, the first coordinate will be divided by the second, resulting in a 1D texture coordinate. Depending on the capabilities exposed by the driver, the division can occur before or after the values are passed to the rasterizer. The following lists describes the support for D3DMTTFF_PROJECTED based on combinations of capability bits.

  • If the driver supports D3DMPTEXTURECAPS_PROJECTED and D3DMPTEXTURECAPS_PROJECTEDSUPPORT then the driver supports D3DMTTFF_PROJECTED, then it will perform the division on a per-pixel basis within the rasterizer.

  • If the driver does not support D3DMPTEXTURECAPS_PROJECTED but does support D3DMPTEXTURECAPS_PROJECTEDSUPPORT, then the driver supports D3DMTTFF_PROJECTED. As a result, it will perform the division on a per-vertex basis prior to sending the values to the rasterizer. The per-vertex operation is particularly evident when inspecting the output of IDirect3DMobileDevice::ProcessVerticesfrom a driver that exposes these D3DMCAPSbits.

  • If the driver does not support D3DMPTEXTURECAPS_PROJECTED and does not support D3DMPTEXTURECAPS_PROJECTEDSUPPORT then the driver does not support D3DMTTFF_PROJECTED.

  • The combination of a driver supporting D3DMPTEXTURECAPS_PROJECTED but not supporting D3DMPTEXTURECAPS_PROJECTEDSUPPORT is not valid and should never occur.

The flag D3DMTTFF_PROJECTED is valid with all other stage states, including D3DMTTFF_DISABLE.

D3DMTTFF_FORCE_ULONG

Forces the compiler to interpret the enumeration as a ULONG value. This value is not used directly in Direct3D Mobile programming.

Requirements

Header d3dmtypes.h
Windows Embedded CE Windows CE 5.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also