Name

cgD3D10GetIASignatureByPass - Gets the compiled vertex shader signature as a ID3D10Blob from a pass of a validated technique.

Synopsis

#include <Cg/cgD3D10.h>

ID3D10Blob * cgD3D10GetIASignatureByPass( CGpass pass );

Parameters

pass
The pass handle after validation of a CgFX technique.

Return Values

Returns a pointer to a ID3D10Blob object containing the vertex shader signature.

Returns NULL if the program was not loaded.

Description

cgD3D10GetIASignatureByPass allows the user to get back the vertex shader signature of a pass of a validated CgFX technique.

Examples

myCgEffect = cgCreateEffectFromFile( myCgContext, "effect.cgfx", NULL );
myCgTechnique = cgGetFirstTechnique( myCgEffect );

if( cgValidateTechnique( myCgTechnique ) != CG_FALSE )
{
    const D3D10_INPUT_ELEMENT_DESC layout[] =
    {
       { "POSITION",  0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0,  D3D10_INPUT_PER_VERTEX_DATA, 0 },
    };

    CGpass myPass = cgGetFirstPass( myCgTechnique );

    ID3D10Blob * pVSBuf = cgD3D10GetIASignatureByPass( myPass );

    hr = pDevice->CreateInputLayout( layout, 1, pVSBuf->GetBufferPointer(),
               pVSBuf->GetBufferSize(), &g_pVertexLayout );
}

Errors

CG_INVALID_PASS_HANDLE_ERROR is generated if the pass is invalid.

History

cgD3D10GetIASignatureByPass was introduced in Cg 2.1.

See Also

cgD3D10GetCompiledProgram