Лучшим источником образцов DirectX, как правило, является DirectX SDK, который вы можете найти здесь . Вокруг немало учебников, некоторые в SDK, некоторые здесь и здесь .
Многопоточность с DirectX (я предполагаю, что вы имеете в виду D3D в частности) просто требует осторожности с вашими объектами и использования многопоточной подсказки при создании объекта D3D. Несколько советов по этому вопросу здесь и обсуждение того, как перевести здесь .
Код будет выглядеть примерно так:
HRESULT hr = pD3DObject->CreateDevice
(
D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
D3DCREATE_MULTITHREADED, &presentParams, &pD3DDevice
);
После этого поиск преобразования расстояния зависит от того, как вы справляетесь с этим. Я не совсем уверен, что вы хотите сделать (если вы прокомментируете детали, я посмотрю, смогу ли я отредактировать что-то еще).
Чтобы сгенерировать среднее число, я бы не рекомендовал использовать DirectX. Обычный код должен справиться с этим, а работа и издержки использования D3D для усреднения 100 чисел кажутся довольно неэффективными.