Esempio n. 1
0
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() );
	}
}
Esempio n. 3
0
///////////////////////////////////////////////////////////////////////////////////////////
// ScopedBuffer
ScopedBuffer::ScopedBuffer( const BufferObjRef &bufferObj )
	: mCtx( gl::context() ), mTarget( bufferObj->getTarget() )
{
	mCtx->pushBufferBinding( mTarget, bufferObj->getId() );
}