X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Funiformblock.cpp;fp=source%2Funiformblock.cpp;h=09060eb7622ce36d9ddf158339411d89e9445d86;hp=498973f91de39dccf64512a00e0eceb1b3b2d63b;hb=6c525eff3eaaa617648a869449ed3bddf9c1936d;hpb=98cc25ffe956bc162c053c96df659ba40dfe2d6e diff --git a/source/uniformblock.cpp b/source/uniformblock.cpp index 498973f9..09060eb7 100644 --- a/source/uniformblock.cpp +++ b/source/uniformblock.cpp @@ -44,11 +44,15 @@ void UniformBlock::offset_changed() buf_range = 0; } -void UniformBlock::upload_data() const +void UniformBlock::upload_data(char *target) const { if(!buf_range) buf_range = new BufferRange(*get_buffer(), get_offset(), size); - buf_range->data(&data[0]); + + if(target) + copy(data.begin(), data.end(), target); + else + buf_range->data(&data[0]); } void UniformBlock::attach(int index, const Uniform &uni)