В настоящее время я работаю над проектом, в котором мне нужно создать серверное/клиентское приложение, которое рисует графику в двух отдельных окнах приложения, используя C++, DirectX и Winsock. Изображение должно перемещаться по оси x окна серверного приложения, пока оно не начнет исчезать из поля зрения с правой стороны. Когда оно исчезает из поля зрения, клиентское приложение должно визуализировать изображение и перевести его на свой экран, создавая впечатление перемещения изображения из окна сервера в окно клиента.
Я не ищу здесь какой-либо готовый код, а скорее индикаторы того, как я могу информировать клиентское приложение о том, чтобы снова начать рендеринг изображения на своем экране, когда изображение завершило свой цикл преобразования в окне серверного приложения. Я думаю, что могу сделать что-то, связанное с отслеживанием местоположения g_Rectx в приведенном ниже коде и информированием клиентского приложения через сообщение, отправленное через winsock, чтобы начать рендеринг и преобразование, когда координата x выходит из поля зрения в серверном приложении, но я не уверен, как этого добиться.
В настоящее время у меня есть изображение, отображаемое в окне сервера и транслируемое по окну с использованием стандартной техники матричного перевода, все это работает нормально. Это как сообщить клиентскому приложению, когда начинать рендеринг на его стороне, что я не знаю, как реализовать.
Любые мысли о том, как я могу это сделать, будут высоко оценены.
выдержка из текущего кода перевода на случай, если это поможет...
// translation matrix to move the image along x axis
D3DXMATRIX TranslateMatrix;
D3DXMatrixTranslation(&TranslateMatrix, g_RectX, g_RectY, g_RectZ);
g_pd3dDevice -> SetTransform(D3DTS_WORLD, &TranslateMatrix);
// Update the rectangle's x co-ordinate
g_RectX += 0.1f;