Cg Direct3D9 Runtime API cgD3D9SetUniform(3)
NAME
cgD3D9SetUniform - set the value of a uniform parameter
SYNOPSIS
#include
HRESULT cgD3D9SetUniform( CGparameter param,
const void * values );
PARAMETERS
param The parameter whose values are to be set. param must
be a uniform parameter that is not a sampler.
values The values to which to set param. The amount of
data required depends on the type of parameter, but
is always specified as an array of one or more
floating point values. The type is void**** so a
compatible user-defined structure can be passed in
without type-casting. Use cgD3D9TypeToSize to
determine how many values are required for a
particular type.
RETURN VALUES
Returns D3DOK if the function succeeds.
Returns the D3D failure code if the function fails due to a
D3D call.
DESCRIPTION
cgD3D9SetUniform sets the value for a uniform parameter.
All values should be of type float. There is assumed to be
enough values to set all elements of the parameter.
EXAMPLES
Cg Toolkit 2.1 Last change: 1
Cg Direct3D9 Runtime API cgD3D9SetUniform(3)
/ param is a CGparameter handle of type float3
/ matrixParam is a CGparameter handle of type float2x3
/ arrayParam is a CGparameter handle of type float2x2[3]
...
/ intialize the data for each parameter
D3DXVECTOR3 paramData(1,2,3);
float matrixData[2][3] =
{
0,1,2,
3,4,5
};
float arrayData[3][2][2] =
{
0,1,
2,3,
4,5,
6,7,
8,9,
0,1
};
...
/ set the parameters
cgD3D9SetUniform(param, paramData);
cgD3D9SetUniform(matrixParam, matrixData);
/ you can use arrays, but you must set the entire array
cgD3D9SetUniform(arrayParam, arrayData);
ERORS
cgD3D9Failed is generated if a D3D function returns an
error.
CGD3D9ERNODEVICE is returned if a required D3D device is
NUL. This usually occurs when an expanded interface
routine is called but a D3D device has not been set with
cgD3D9SetDevice.
CGD3D9ERNOTLOADED is returned if program was not loaded
with the cgD3D9LoadProgram.
CGD3D9ERNOTUNIFORM is returned if param is not a uniform
parameter.
CGD3D9ERINVALIDPARAM is returned if the parameter fails to
set for any other reason.
HISTORY
cgD3D9SetUniform was introduced in Cg 1.1.
SEE ALSO
cgD3D9SetUniformArray, cgD3D9SetUniformMatrix,
cgD3D9SetUniformMatrixArray, cgD3D9TypeToSize
Cg Toolkit 2.1 Last change: 2
|