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

Texture coordinates in Microsoft® Direct3D® Mobile can include one, two, three, or four floating point elements to address textures with varying levels of dimension. A 1-D texture — a texture surface with dimensions of 1-by- ntexels — is addressed by one texture coordinate. The most common case, 2-D textures, are addressed with two texture coordinates commonly called uand v.

As described in Vertex Data Description, applications encode texture coordinates in the vertex format. The vertex format can include multiple sets of texture coordinates. Use the D3DMFVF_TEX0 through D3DMFVF_TEX4 flexible vertex format flags (see D3DMFVF Values) to describe a vertex format that includes no texture coordinates, or as many as four sets.

The D3DMFVF_TEXCOORDSIZE Macrosset of macros create bit patterns that describe the number of elements used by a particular set of texture coordinates in the vertex format. These macros accept a single parameter that identifies the index of the coordinate set whose number of elements is being defined. The following code example shows how these macros are used.

Copy Code
// This vertex format contains two sets of texture coordinates.
// The first set (index 0) has 2 elements, and the second set 
// has 1 element. The description for this vertex format would be: 
//   dwFVF = D3DMFVF_XYZ  | D3DMFVF_NORMAL | D3DMFVF_DIFFUSE |
//		 D3DMFVF_TEX2 | D3DMFVF_TEXCOORDSIZE2(0) |
//		 D3DMFVF_TEXCOORDSIZE1(1); 
//
typedef struct CVF
{
	D3DMVECTOR position;
	D3DMVECTOR normal;
	D3DMCOLOR  diffuse;
	float	 u, v;   // 1st set, 2-D
	float	 t; // 2nd set, 1-D
} CustomVertexFormat;
Note:
Rasterizers cannot address textures by using any more than two elements. Applications can supply up to three elements for a texture coordinate, but only if the D3DTTFF_PROJECTED texture transform flag (see D3DMTEXTURETRANSFORMFLAGS) is used. The D3DTTFF_PROJECTED flag causes the rasterizer to divide the first two elements by the third (or nth) element. For more information, see Texture Coordinate Transformations.

See Also