Name
cgSetMultiDimArraySize - sets the size of a resizable multi-dimensional array parameter
Synopsis
#include <Cg/cg.h>
void cgSetMultiDimArraySize( CGparameter param,
const int * sizes );
Parameters
- param
-
The array parameter handle.
- sizes
-
An array of sizes for each dimension of the array.
Return Values
None.
Description
cgSetMultiDimArraySize sets the size of each dimension of resizable
multi-dimensional array parameter param. sizes must be an array
that has N number of elements where N is equal to the result of
cgGetArrayDimension.
Examples
If you have Cg program with a parameter like this :
/* ... */
float4 main(float4 myarray[][][])
{
/* ... */
}
You can set the sizes of each dimension of the myarray array parameter like so :
const int sizes[] = { 3, 2, 4 };
CGparameter myArrayParam =
cgGetNamedProgramParameter(program, CG_PROGRAM, "myarray");
cgSetMultiDimArraySize(myArrayParam, sizes);
Errors
CG_INVALID_PARAM_HANDLE_ERROR is generated if param is not a valid parameter.
CG_ARRAY_PARAM_ERROR is generated if param is not an array parameter.
CG_INVALID_POINTER_ERROR is generated if sizes is NULL.
CG_INVALID_PARAMETER_ERROR is generated if any value in sizes is less than or equal to 0.
CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR is generated if param
is not a resizable array.
History
cgSetMultiDimArraySize was introduced in Cg 1.2.
See Also
cgGetArraySize,
cgGetArrayDimension,
cgSetArraySize
|