static void UpdateInstancingParams (bool allDataDirty, const DataArray& array, csRef<iRenderBuffer>& buffer, csShaderVariable* sv) { bool updateData = allDataDirty; if (!buffer || (buffer->GetElementCount() != array.Capacity())) { buffer = csRenderBuffer::CreateRenderBuffer (array.Capacity(), CS_BUF_STREAM, CS_BUFCOMP_FLOAT, sizeof (typename DataArray::ValueType) / sizeof(float)); sv->SetValue (buffer); updateData = true; } if (updateData) buffer->SetData (array.GetArray()); }