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
|