21#ifndef SO_GPU_BUFFER_OBJECT_H
22#define SO_GPU_BUFFER_OBJECT_H
32template<
typename ResourceType>
struct Resource;
#define SO_BUFFER_SIZE_ALL
Used to indicate that we want to use the whole buffer.
SO_PIMPL_PUBLIC_DECLARATION(SoFileDataAdapter)
#define SO_TYPED_CLASS_HEADER()
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> CPU buffer objec...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> GPU buffer objec...
virtual bool setSize(size_t size)
Sets the size in bytes of the buffer object.
BufferAccessNature getAccessNature() const
Returns the current buffer access nature hint for this buffer object.
BufferAccessFrequency getAccessFrequency() const
Returns the current buffer access frequency hint for this buffer object.
virtual SoBufferObject * createInstance() const
Create a new buffer with the same properties as the current one.
BufferAccessFrequency
Available values for hints on how frequently the application will be changing the buffer's data.
@ STATIC
The application will set the data once.
virtual void clearInstance()
This function clears the content of the buffer, it frees the memory if the mode was COPY.
SoGpuBufferObject(BufferAccessFrequency accessFrequency=STATIC, BufferAccessNature accessNature=SHARED)
Constructor.
BufferAccessNature
Available values for hints on the nature of the application's access to the buffer.
@ SHARED
The application will be writing data to the buffer, but will not read it.