cgD3D9GetVertexDeclaration

Langue: en

Version: 46794 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

NAME

cgD3D9GetVertexDeclaration - get the default vertex declaration stream

SYNOPSIS


  #include <Cg/cgD3D9.h>






  CGbool cgD3D9GetVertexDeclaration( CGprogram program,

                                     D3DVERTEXELEMENT9 decl[MAXD3DDECLLENGTH] );





PARAMETERS


program
The program from which to retrieve the vertex declaration.
decl
A D3DVERTEXELEMENT9 array that will be filled with the D3D9 vertex declaration.

RETURN VALUES

Returns CG_TRUE on success.

Returns CG_FALSE otherwise.

DESCRIPTION

cgD3D9GetVertexDeclaration retrieves the default vertex declaration stream for a program. The declaration always uses a tightly packed single stream. The stream is always terminated with D3DDECL_END(), so this can be used to determine the actual length of the returned declaration.

The default vertex declaration is always a single stream. There will be one D3DVERTEXELEMENT9 element for each varying input parameter.

If you want to use a custom vertex declaration, you can test that declaration for compatibility by calling cgD3D9ValidateVertexDeclaration.

EXAMPLES

For example:

  void main( in float4 pos : POSITION,

             in float4 dif : COLOR0,

             in float4 tex : TEXCOORD0,

             out float4 hpos : POSITION );





would have this default vertex declaration:

  const D3DVERTEXELEMENT9 decl[] = {

    { 0,  0, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },

    { 0, 16, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0 },

    { 0, 32, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 },

    D3DDECL_END()

  };





ERRORS

CG_INVALID_PROGRAM_HANDLE_ERROR is generated if program is not a valid program handle.

HISTORY

cgD3D9GetVertexDeclaration was introduced in Cg 1.1.

SEE ALSO

cgD3D9ValidateVertexDeclaration