NAME
cgMapBuffer - map buffer into application's address space
SYNOPSIS
#include <Cg/cg.h> void * cgMapBuffer( CGbuffer buffer, CGbufferaccess access );PARAMETERS
- buffer
The buffer which will be mapped into the application's address space.
- access
An enumerant indicating the operations the client may perform on the data store through the pointer while the buffer data is mapped.
The following enumerants are allowed:
- CG_MAP_READ
The application can read but not write through the data pointer.
- CG_MAP_WRITE
The application can write but not read through the data pointer.
- CG_MAP_READ_WRITE
The application can read and write through the data pointer.
- CG_MAP_WRITE_DISCARD
Same as CG_MAP_READ_WRITE if using a GL buffer.
- CG_MAP_WRITE_NO_OVERWRITE
Same as CG_MAP_READ_WRITE if using a GL buffer.
RETURN VALUES
Returns a pointer through which the application can read or write the buffer's data store.
Returns NULL if an error occurs.
DESCRIPTION
cgMapBuffer maps a buffer into the application's address space for memory-mapped updating of the buffer's data. The application should call cgUnmapBuffer|cgUnmapBuffer when it's done updating or querying the buffer.
EXAMPLES
unsigned char *bufferPtr = cgMapBuffer( myBuffer, CG_MAP_READ_WRITE ); memcpy( ptr, bufferPtr, size ); cgUnmapBuffer( myBuffer );ERRORS
CG_INVALID_BUFFER_HANDLE_ERROR is generated if buffer is not a valid buffer.
CG_INVALID_ENUMERANT_ERROR is generated if access is not CG_READ_ONLY, CG_WRITE_ONLY, or CG_READ_WRITE.
CG_BUFFER_ALREADY_MAPPED_ERROR is generated if buffer is already mapped.
HISTORY
cgMapBuffer was introduced in Cg 2.0.
SEE ALSO
cgUnmapBuffer, cgSetBufferData, cgSetBufferSubData, cgSetParameter