OptiX  3.9
NVIDIA OptiX Acceleration Engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Public Member Functions | Friends | List of all members
optix::BufferObj Class Reference

Detailed Description

Buffer wraps the OptiX C API RTbuffer opaque type and its associated function set.

Inheritance diagram for optix::BufferObj:
optix::DestroyableObj optix::APIObj

Public Member Functions

void destroy ()
 
void validate ()
 
Context getContext () const
 
RTbuffer get ()
 
void setFormat (RTformat format)
 
RTformat getFormat () const
 
void setElementSize (RTsize size_of_element)
 
RTsize getElementSize () const
 
void getDevicePointer (unsigned int optix_device_number, CUdeviceptr *device_pointer)
 
CUdeviceptr getDevicePointer (unsigned int optix_device_number)
 
void setDevicePointer (unsigned int optix_device_number, CUdeviceptr device_pointer)
 
void markDirty ()
 
void setSize (RTsize width)
 
void getSize (RTsize &width) const
 
void getMipLevelSize (unsigned int level, RTsize &width) const
 
void setSize (RTsize width, RTsize height)
 
void getSize (RTsize &width, RTsize &height) const
 
void getMipLevelSize (unsigned int level, RTsize &width, RTsize &height) const
 
void setSize (RTsize width, RTsize height, RTsize depth)
 
void getSize (RTsize &width, RTsize &height, RTsize &depth) const
 
void getMipLevelSize (unsigned int level, RTsize &width, RTsize &height, RTsize &depth) const
 
void setSize (unsigned int dimensionality, const RTsize *dims)
 
void getSize (unsigned int dimensionality, RTsize *dims) const
 
unsigned int getDimensionality () const
 
void setMipLevelCount (unsigned int levels)
 
unsigned int getMipLevelCount () const
 
int getId () const
 
unsigned int getGLBOId () const
 
void registerGLBuffer ()
 
void unregisterGLBuffer ()
 
void setAttribute (RTbufferattribute attrib, RTsize size, void *p)
 
void getAttribute (RTbufferattribute attrib, RTsize size, void *p)
 
void registerD3D9Buffer ()
 
void registerD3D10Buffer ()
 
void registerD3D11Buffer ()
 
void unregisterD3D9Buffer ()
 
void unregisterD3D10Buffer ()
 
void unregisterD3D11Buffer ()
 
IDirect3DResource9getD3D9Resource ()
 
ID3D10Resource * getD3D10Resource ()
 
ID3D11Resource * getD3D11Resource ()
 
void * map ()
 
void unmap ()
 
void * map (unsigned int level)
 
void unmap (unsigned int level)
 
void bindProgressiveStream (Buffer source)
 
void getProgressiveUpdateReady (int *ready, unsigned int *subframe_count, unsigned int *max_subframes)
 
- Public Member Functions inherited from optix::APIObj
void addReference ()
 
int removeReference ()
 
virtual void checkError (RTresult code) const
 
virtual void checkError (RTresult code, Context context) const
 
void checkErrorNoGetContext (RTresult code) const
 

Friends

class Handle< BufferObj >
 

Additional Inherited Members

- Static Public Member Functions inherited from optix::APIObj
static Exception makeException (RTresult code, RTcontext context)
 

Member Function Documentation

void optix::BufferObj::bindProgressiveStream ( Buffer  source)
inline

Bind a buffer as source for a progressive stream. See rtBufferBindProgressiveStream.

CUdeviceptr optix::BufferObj::getDevicePointer ( unsigned int  optix_device_number)
inline

Set the data format for the buffer. See rtBufferSetFormat.

unsigned int optix::BufferObj::getGLBOId ( ) const
inline

Queries the OpenGL Buffer Object ID associated with this buffer. See rtBufferGetGLBOId.

int optix::BufferObj::getId ( ) const
inline

Queries an id suitable for referencing the buffer in an another buffer. See rtBufferGetId.

void * optix::BufferObj::map ( )
inline

Maps a buffer object for host access. See rtBufferMap.

void optix::BufferObj::registerD3D9Buffer ( )
inline

Declare the texture's buffer as mutable and inaccessible by OptiX. See rtBufferD3D9Register.

void optix::BufferObj::setAttribute ( RTbufferattribute  attrib,
RTsize  size,
void *  p 
)
inline

Set a Buffer Attribute. See rtBufferSetAttribute.

void optix::BufferObj::setFormat ( RTformat  format)
inline

Set the data format for the buffer. See rtBufferSetFormat.

void optix::BufferObj::setSize ( RTsize  width,
RTsize  height,
RTsize  depth 
)
inline

Set buffer dimensionality to three and buffer dimensions to specified width,height,depth. See rtBufferSetSize3D.