Name
cgGetNamedProgramUniformBuffer - get a program uniform buffer parameter by block name
Synopsis
#include <Cg/cg.h> CGparameter cgGetNamedProgramUniformBuffer( CGprogram program, const char * blockName );Parameters
- program
- The program from which to retrieve the uniform buffer parameter.
- blockName
- The block name of the uniform buffer parameter to retrieve.
Return Values
Returns the uniform buffer parameter with the matching block name from the program.
Returns NULL if the program has no parameter corresponding to blockName or an error occurs.
Description
The uniform buffer parameters of a program can be retrieved directly by block name using cgGetNamedProgramUniformBuffer. The block names of the uniform buffer parameters in a program can be discovered by iterating through the program's parameters with cgGetFirstParameter and cgGetNextParameter, calling cgGetUniformBufferBlockName for each uniform buffer parameter in turn.
Examples
If the file buf.cg contains this shader:
uniform myBuf { float4 var; } a : BUFFER; float4 vertex() : POSITION { return float4(a.var.r, a.var.g, a.var.b, 1.0); }and if program refers to the CGprogram created from buf.cg, then calling:
CGparameter p = cgGetNamedProgramUniformBuffer(program, "myBuf");results in p containing the CGparameter associated with variable a.
Errors
CG_INVALID_PROGRAM_HANDLE_ERROR is generated if program is not a valid program handle.
CG_INVALID_POINTER_ERROR is generated if blockName is NULL.
History
cgGetNamedProgramUniformBuffer was introduced in Cg 3.1.
See Also
cgIsParameter, cgGetFirstParameter, cgGetNextParameter, cgGetUniformBufferBlockName