Name

cgD3D11GetIASignatureByPass - Gets the compiled vertex shader signature as a ID3DBlob from a pass of a validated technique.

Synopsis

#include <Cg/cgD3D11.h>

ID3DBlob * cgD3D11GetIASignatureByPass( CGpass pass );

Parameters

pass
The pass handle after validation of a CgFX technique.

Return Values

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

Returns NULL if the program was not loaded.

Description

cgD3D11GetIASignatureByPass 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 D3D11_INPUT_ELEMENT_DESC layout[] =
    {
       { "POSITION",  0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0,  D3D11_INPUT_PER_VERTEX_DATA, 0 },
    };

    CGpass myPass = cgGetFirstPass( myCgTechnique );

    ID3DBlob * pVSBuf = cgD3D11GetIASignatureByPass( 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

cgD3D11GetIASignatureByPass was introduced in Cg 3.0.

See Also

cgD3D11GetCompiledProgram