Name

cgGetNamedEffectUniformBuffer - get a uniform buffer parameter from an effect by block name

Synopsis

#include <Cg/cg.h>

CGparameter cgGetNamedEffectUniformBuffer( CGeffect effect,
                                           const char * blockName );

Parameters

effect
The effect 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 effect.

Returns NULL if the effect has no parameter corresponding to blockName or an error occurs.

Description

The uniform buffer parameters of an effect can be retrieved directly by block name using cgGetNamedEffectUniformBuffer. The block names of the uniform buffer parameters in an effect can be discovered by iterating through the effect's parameters with cgGetFirstParameter and cgGetNextParameter, calling cgGetUniformBufferBlockName for each uniform buffer parameter in turn.

Examples

If the file buf.fx 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 effect refers to the CGeffect created from buf.fx, then calling:

  CGparameter p = cgGetNamedEffectUniformBuffer(effect, "myBuf");

results in p containing the CGparameter associated with variable a.

Errors

CG_INVALID_EFFECT_HANDLE_ERROR is generated if effect is not a valid effect.

CG_INVALID_POINTER_ERROR is generated if blockName is NULL.

History

cgGetNamedEffectUniformBuffer was introduced in Cg 3.1.

See Also

cgIsParameter, cgGetFirstParameter, cgGetNextParameter, cgGetUniformBufferBlockName