> ## Name

> cgD3D11CreateBuffer - create a D3D11 buffer object

> ## Synopsis

>     #include <Cg/cgD3D11.h>

>     CGbuffer cgD3D11CreateBuffer( CGcontext context,
>                                   int size,
>                                   const void *data,
>                                   D3D11_USAGE bufferUsage );

> ## Parameters

> context
>   The context to which the new buffer will be added.
> size
>   The length in bytes of the buffer to create.
> data
>   The inital data to be copied into the buffer. NULL will fill the buffer with zero.
> bufferUsage
>   A D3D11 usage flag as specified by D3D11_USAGE.

> ## Return Values

> Returns a CGbuffer handle on success.

> Returns NULL if any error occurs.

> ## Description

> cgD3D11CreateBuffer creates a D3D11 buffer object.

> ## Examples

>     CGbuffer myBuffer = cgD3D11CreateBuffer( myCgContext, sizeof( float ) * 16,
>                                              myData, D3D11_USAGE_DEFAULT );

> ## Errors

> CG_INVALID_CONTEXT_HANDLE_ERROR is generated if context is not a valid context.

> CG_MEMORY_ALLOC_ERROR is generated if a buffer couldn't be created.

> ## History

> cgD3D11CreateBuffer was introduced in Cg 3.1.

> ## See Also

> cgCreateBuffer, cgD3D10CreateBuffer, cgGLCreateBuffer, cgD3D11CreateBufferFromObject, cgD3D11GetBufferObject