if(info.bind_point>=0)
{
if(!buffer)
- {
buffer = new Buffer(UNIFORM_BUFFER);
- buffer->set_usage(STREAM_DRAW);
- }
block = new UniformBlock(info.data_size);
block->use_buffer(buffer, last_block);
{
unsigned required_size = last_block->get_required_buffer_size();
if(last_block->get_required_buffer_size()>buffer->get_size())
- buffer->data(required_size, 0);
+ {
+ if(buffer->get_size()>0)
+ {
+ delete buffer;
+ buffer = new Buffer(UNIFORM_BUFFER);
+ last_block->change_buffer(buffer);
+ }
+
+ buffer->storage(required_size);
+ }
}
}