D3DMTEXTURETRANSFORMFLAGS (Windows Embedded CE 6.0)

1/6/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 D3DMTEXTURESTAGESTATETYPE enumeration.

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::ProcessVertices from a driver that exposes these D3DMCAPS bits.
    • 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

See Also

Reference

Direct3D Mobile Enumerations
D3DMTEXTURESTAGESTATETYPE
IDirect3DMobileDevice::ProcessVertices
D3DMCAPS