Дело было не в бобине.
Похоже, внутри urho3d отсутствуют проверки внутри их "умных" указателей. Причём они, похоже, это монго встроили везде куда могли дотянуться.
Что делаю:
class cobject
{
cobject () { buf = new urho3d::vertexbyffer(); }
~cobject () { delete buf; }
urho3d::vertexbyffer *buf;
}
Казалось бы — валидный код. Ан нет, нифига подобного. У них почти любой объект — refcounted, в том числе и
этот вертексбуффер. В результате валится в ReleaseRef(); внутри urho
Далее,
интерфейсы SetVertexBuffer и SetIndexBuffer явно указывают на утечки памяти, если не удалять самостоятельно. Собственно вот поэтому и рулил сам.
И на самом деле я до сих пор сомневаюсь что там нет утечек.