From Marcus Hein, Added support for OpenGL SSBO and SSBB via osg::ShaderStorageBufferObject and osg::ShaderStorageBufferBinding to core OSG library, and added new osgSSBO example
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14599 16af8721-9629-0410-8352-f15c8da7e697
This commit is contained in:
@@ -143,4 +143,26 @@ void AtomicCounterBufferBinding::readData(osg::State & state, osg::UIntArray & u
|
||||
bo->_extensions->glBindBuffer(GL_ATOMIC_COUNTER_BUFFER, static_cast<GLuint>(previousID));
|
||||
}
|
||||
|
||||
|
||||
ShaderStorageBufferBinding::ShaderStorageBufferBinding(GLuint index)
|
||||
: BufferIndexBinding(GL_SHADER_STORAGE_BUFFER, index)
|
||||
{
|
||||
}
|
||||
|
||||
ShaderStorageBufferBinding::ShaderStorageBufferBinding(GLuint index, BufferObject* bo, GLintptr offset, GLsizeiptr size)
|
||||
: BufferIndexBinding(GL_SHADER_STORAGE_BUFFER, index, bo, offset, size)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
ShaderStorageBufferBinding::ShaderStorageBufferBinding(const ShaderStorageBufferBinding& rhs, const CopyOp& copyop)
|
||||
: BufferIndexBinding(rhs, copyop)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace osg
|
||||
|
||||
@@ -1560,3 +1560,25 @@ AtomicCounterBufferObject::AtomicCounterBufferObject(const AtomicCounterBufferOb
|
||||
AtomicCounterBufferObject::~AtomicCounterBufferObject()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// ShaderStorageBufferObject
|
||||
//
|
||||
ShaderStorageBufferObject::ShaderStorageBufferObject()
|
||||
{
|
||||
setTarget(GL_SHADER_STORAGE_BUFFER);
|
||||
setUsage(GL_STATIC_DRAW);
|
||||
}
|
||||
|
||||
ShaderStorageBufferObject::ShaderStorageBufferObject(const ShaderStorageBufferObject& ubo, const CopyOp& copyop)
|
||||
: BufferObject(ubo, copyop)
|
||||
{
|
||||
}
|
||||
|
||||
ShaderStorageBufferObject::~ShaderStorageBufferObject()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user