我目前正在进行一个项目,需要创建一个服务器/客户端应用程序,该应用程序使用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;发布于 2012-11-11 20:27:58
在我看来,您只是想传播对象的转换(位置、方向、比例),并有两个不同的视图,一个用于服务器,一个用于客户机。这些视图可以只是不同的摄像机位置。当对象在服务器上移动时,它也会在客户机上移动。对于您的对象和服务器的摄像机之间给定的距离,您应该能够计算它何时开始接触视图结果的边缘.从那里,你可以推断出客户端所需的摄像机位置,以便从一个屏幕到另一个屏幕有一个“流”。
https://stackoverflow.com/questions/13335053
复制相似问题