Name
cgCreateBuffer - create a buffer object managed by the runtime
Synopsis
#include <Cg/cg.h>
CGbuffer cgCreateBuffer( CGcontext context,
int size,
const void *data,
CGbufferusage bufferUsage );
Parameters
- context
-
The context to which the new buffer will be added.
- size
-
The length in bytes of the buffer to create.
- data
-
Pointer to inital buffer data. NULL will fill the buffer with zero.
- bufferUsage
-
Indicates the intended usage method of the buffer.
-
Can be one of the following types:
-
- CG_BUFFER_USAGE_STREAM_DRAW
- CG_BUFFER_USAGE_STREAM_READ
- CG_BUFFER_USAGE_STREAM_COPY
- CG_BUFFER_USAGE_STATIC_DRAW
- CG_BUFFER_USAGE_STATIC_READ
- CG_BUFFER_USAGE_STATIC_COPY
- CG_BUFFER_USAGE_DYNAMIC_DRAW
- CG_BUFFER_USAGE_DYNAMIC_READ
- CG_BUFFER_USAGE_DYNAMIC_COPY
Return Values
Returns a CGbuffer handle on success.
Returns NULL if an error occurs.
Description
cgCreateBuffer creates a runtime managed Cg buffer object.
There is no way to query the 3D API-specific resource for a managed buffer.
cgGLCreateBuffer should be used if the application wishes
to later query the 3D API-specific resource for the buffer.
Examples
CGbuffer myBuffer = cgCreateBuffer( myCgContext, sizeof( float ) * 16,
initalData, CG_BUFFER_USAGE_STATIC_DRAW );
Errors
CG_INVALID_CONTEXT_HANDLE_ERROR is generated if context is not a valid context.
History
cgCreateBuffer was introduced in Cg 2.0.
See Also
cgGLCreateBuffer,
cgDestroyBuffer
|