> ## Name

> cgD3D9ResourceToDeclUsage - get the D3DDECLUSAGE member associated with a resource

> ## Synopsis

>     #include <Cg/cgD3D9.h>

>     BYTE cgD3D9ResourceToDeclUsage( CGresource resource );

> ## Parameters

> resource
>   Enumerated type indicating the resource to convert to a D3DDECLUSAGE.

> ## Return Values

> Returns the D3DDECLUSAGE member associated with resource. This is generally the CGresource name with the index stripped off.

> Returns CGD3D9_INVALID_USAGE if the resource is not a vertex shader input resource.

> ## Description

> cgD3D9ResourceToDeclUsage converts a CGresource enumerated type to a member of the D3DDECLUSAGE enum. The returned type is not an explicit member of the enum to match the associated member of the D3DVERTEXELEMENT9 struct, and also to allow for an error return condition.

> The returned value can be used as the Usage member of the D3DVERTEXELEMENT9 struct to create a vertex declaration for a shader. See the D3D9 documentation for the full details on declaring vertex declarations in D3D9.

> ## Examples

>     D3DVERTEXELEMENT9 elt =
>     {
>         0, 0,
>         D3DDECLTYPE_FLOAT3,
>         D3DDECLMETHOD_DEFAULT,
>         cgD3D9ResourceToDeclUsage(CG_TEXCOORD3),
>         cgD3D9GetParameterResourceIndex(CG_TEXCOORD3)
>     };

> ## Errors

> None.

> ## History

> cgD3D9ResourceToDeclUsage was introduced in Cg 1.1.

> ## See Also

> cgD3D9GetVertexDeclaration, cgD3D9ValidateVertexDeclaration