void BufferTexture::setBuffer( const BufferObjRef &buffer, GLenum internalFormat ) { mInternalFormat = internalFormat; mBufferObj = buffer; gl::context()->bindTexture( mTarget, mId ); glTexBuffer( mTarget, mInternalFormat, buffer->getId() ); }
void TransformFeedbackObjImplHardware::setIndex( int index, BufferObjRef buffer ) { auto exists = mBufferBases.find( index ); if( exists == mBufferBases.end() ) { mBufferBases.insert( std::pair<int, BufferObjRef>( index, buffer ) ); glBindBufferBase( GL_TRANSFORM_FEEDBACK_BUFFER, index, buffer->getId() ); } }
/////////////////////////////////////////////////////////////////////////////////////////// // ScopedBuffer ScopedBuffer::ScopedBuffer( const BufferObjRef &bufferObj ) : mCtx( gl::context() ), mTarget( bufferObj->getTarget() ) { mCtx->pushBufferBinding( mTarget, bufferObj->getId() ); }