Cleaned up GL_TEXTURE_BUFFER_*ARB usage as include/osg/GLDefines now provides the non ARB variants
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14652 16af8721-9629-0410-8352-f15c8da7e697
This commit is contained in:
parent
8b384baca9
commit
134b2e506f
@ -19,14 +19,6 @@
|
||||
#include <osg/Texture>
|
||||
#include <osg/BufferObject>
|
||||
|
||||
#ifndef GL_ARB_texture_buffer_object
|
||||
#define GL_TEXTURE_BUFFER_ARB 0x8C2A
|
||||
#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B
|
||||
#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C
|
||||
#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
|
||||
#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E
|
||||
#endif
|
||||
|
||||
namespace osg {
|
||||
|
||||
/** Encapsulates OpenGL texture buffer functionality.
|
||||
@ -48,7 +40,7 @@ class OSG_EXPORT TextureBuffer : public Texture
|
||||
/** Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. */
|
||||
virtual int compare(const StateAttribute& rhs) const;
|
||||
|
||||
virtual GLenum getTextureTarget() const { return GL_TEXTURE_BUFFER_ARB; }
|
||||
virtual GLenum getTextureTarget() const { return GL_TEXTURE_BUFFER; }
|
||||
|
||||
/** Sets the texture image. */
|
||||
void setImage(Image* image);
|
||||
|
@ -50,7 +50,7 @@ class TextureGLModeSet
|
||||
_textureModeSet.insert(GL_TEXTURE_1D);
|
||||
_textureModeSet.insert(GL_TEXTURE_2D);
|
||||
_textureModeSet.insert(GL_TEXTURE_3D);
|
||||
_textureModeSet.insert(GL_TEXTURE_BUFFER_ARB);
|
||||
_textureModeSet.insert(GL_TEXTURE_BUFFER);
|
||||
|
||||
_textureModeSet.insert(GL_TEXTURE_CUBE_MAP);
|
||||
_textureModeSet.insert(GL_TEXTURE_RECTANGLE_NV);
|
||||
|
@ -113,9 +113,9 @@ void TextureBuffer::apply(State& state) const
|
||||
if (_image.valid() && getModifiedCount(contextID) != _image->getModifiedCount())
|
||||
{
|
||||
computeInternalFormat();
|
||||
textureBufferObject->bindBuffer(GL_TEXTURE_BUFFER_ARB);
|
||||
textureBufferObject->bindBuffer(GL_TEXTURE_BUFFER);
|
||||
textureBufferObject->bufferSubData(_image.get() );
|
||||
textureBufferObject->unbindBuffer(GL_TEXTURE_BUFFER_ARB);
|
||||
textureBufferObject->unbindBuffer(GL_TEXTURE_BUFFER);
|
||||
_modifiedCount[contextID] = _image->getModifiedCount();
|
||||
}
|
||||
textureObject->bind();
|
||||
@ -135,7 +135,7 @@ void TextureBuffer::apply(State& state) const
|
||||
}
|
||||
else if (_image.valid() && _image->data())
|
||||
{
|
||||
textureObject = generateTextureObject(this, contextID,GL_TEXTURE_BUFFER_ARB);
|
||||
textureObject = generateTextureObject(this, contextID, GL_TEXTURE_BUFFER);
|
||||
_textureObjectBuffer[contextID] = textureObject;
|
||||
textureObject->bind();
|
||||
|
||||
@ -154,10 +154,10 @@ void TextureBuffer::apply(State& state) const
|
||||
|
||||
computeInternalFormat();
|
||||
_textureWidth = _image->s();
|
||||
textureBufferObject->bindBuffer(GL_TEXTURE_BUFFER_ARB);
|
||||
textureBufferObject->bindBuffer(GL_TEXTURE_BUFFER);
|
||||
textureBufferObject->bufferData( _image.get() );
|
||||
textureObject->setAllocated(true);
|
||||
textureBufferObject->unbindBuffer(GL_TEXTURE_BUFFER_ARB);
|
||||
textureBufferObject->unbindBuffer(GL_TEXTURE_BUFFER);
|
||||
|
||||
textureObject->bind();
|
||||
textureBufferObject->texBuffer(_internalFormat);
|
||||
@ -166,7 +166,7 @@ void TextureBuffer::apply(State& state) const
|
||||
}
|
||||
else
|
||||
{
|
||||
glBindTexture(GL_TEXTURE_BUFFER_ARB, 0);
|
||||
glBindTexture(GL_TEXTURE_BUFFER, 0);
|
||||
}
|
||||
|
||||
#else
|
||||
@ -208,15 +208,15 @@ void TextureBuffer::TextureBufferObject::unbindBuffer(GLenum target)
|
||||
|
||||
void TextureBuffer::TextureBufferObject::texBuffer(GLenum internalFormat)
|
||||
{
|
||||
_extensions->glTexBuffer(GL_TEXTURE_BUFFER_ARB, internalFormat, _id);
|
||||
_extensions->glTexBuffer(GL_TEXTURE_BUFFER, internalFormat, _id);
|
||||
}
|
||||
|
||||
void TextureBuffer::TextureBufferObject::bufferData( osg::Image* image )
|
||||
{
|
||||
_extensions->glBufferData(GL_TEXTURE_BUFFER_ARB, image->getTotalDataSize(), image->data(), _usageHint);
|
||||
_extensions->glBufferData(GL_TEXTURE_BUFFER, image->getTotalDataSize(), image->data(), _usageHint);
|
||||
}
|
||||
|
||||
void TextureBuffer::TextureBufferObject::bufferSubData( osg::Image* image )
|
||||
{
|
||||
_extensions->glBufferSubData(GL_TEXTURE_BUFFER_ARB, 0, image->getTotalDataSize(), image->data());
|
||||
_extensions->glBufferSubData(GL_TEXTURE_BUFFER, 0, image->getTotalDataSize(), image->data());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user