Call Ray ray(position, direction);
PODVector<RayQueryResult> results;
RayOctreeQuery query(results, ray, Urho3D::RAY_TRIANGLE, 0.5f, Urho3D::DRAWABLE_GEOMETRY, VIEW_MASK_FOR_MISSILE);
for the big vector of elements from different threads. If a thread one (created from main thread), that everything works well. At thw and more threads in a random time there is a mistake:
in
void Octant::GetDrawablesInternal(RayOctreeQuery& query) const
...
Drawable* drawable = *start++;
drawable - invalid pointer 0xcccccc… .
Perhaps, a mistake at me, but I do all manipulations with a scene and nodes in the main thread in event E_UPDATE or E_POSTUPDATE.
Update/
As it appeared, the mistake is shown and at one thread, which is carried out in parallel with the main thread.