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