Name
cgSetProgramBuffer - set a buffer for a program
Synopsis
#include <Cg/cg.h> void cgSetProgramBuffer( CGprogram program, int bufferIndex, CGbuffer buffer );Parameters
- program
- The program for which the buffer will be set.
- bufferIndex
- The buffer index of program to which buffer will be bound.
- buffer
- The buffer to be bound.
Return Values
None.
Description
cgSetProgramBuffer sets the buffer for a given buffer index of a program. A NULL buffer handle means the given buffer index should not be bound to a buffer.
bufferIndex must be non-negative and within the program's range of buffer indices. For OpenGL programs, bufferIndex can be 0 to 11. For Direct3D10 programs, bufferIndex can be 0 to 15.
When the next program bind operation occurs, each buffer index which is set to a valid buffer handle is bound (along with the program) for use by the 3D API. No buffer bind operation occurs for buffer indices bound to a NULL buffer handle.
Examples
cgSetProgramBuffer( myProgram, 2, myBuffer );
Errors
CG_INVALID_PROGRAM_HANDLE_ERROR is generated if program is not a valid program handle.
CG_INVALID_BUFFER_HANDLE_ERROR is generated if buffer is not a valid buffer.
CG_BUFFER_INDEX_OUT_OF_RANGE_ERROR is generated if bufferIndex is not within the valid range of buffer indices for program.
History
cgSetProgramBuffer was introduced in Cg 2.0.
See Also
cgCreateBuffer, cgGetProgramBuffer, cgGLBindProgram, cgD3D9BindProgram