通过Winsock发送Direct3D顶点信息

Sending Direct3D vertex info via winsock

本文关键字:顶点 信息 Direct3D 发送 Winsock 通过      更新时间:2023-10-16

我当前正在从事一个项目,我需要创建一个服务器/客户端应用程序,该应用程序使用C ,DirectX&Winsock。图像应在服务器应用程序窗口的X轴上翻译,直到它从右侧的视图开始消失。当它从视图中消失时,客户端应用程序应渲染图像&在自己的屏幕上翻译它,给人以从服务器窗口到客户端窗口的图像的印象。

我不是在此处寻找任何完整的代码,而是指示我如何在图像完成了跨服务器应用程序窗口完成其翻译周期时,告知客户端应用程序在屏幕上再次呈现图像。我认为我可以做一些以跟踪下面代码中G_RECTX位置的位置,并通过通过Winsock发送的消息通知客户端应用程序以开始渲染&当X坐标在服务器应用程序上脱离视图时,TRNSLATING不确定如何实现。

当前,我在服务器窗口中显示了一个图像&使用标准矩阵翻译技术在窗口上翻译,这一切都很好。这是如何通知客户端应用程序何时开始渲染的方式,我不确定如何实施。

关于我如何做到这一点的任何想法将不胜感激。


摘自当前翻译代码,以防这有助于...

            // 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;

它在我看来,就像您只想传播对象的转换(位置,方向,比例),并且具有两个不同的视图,一个用于服务器,一个用于客户端。这些视图可能只是不同的相机位置。当对象在服务器上移动世界时,它也会在客户端上移动。对于对象与服务器相机之间的给定距离,您应该能够计算何时开始触摸view froustum的边缘...从那里您可以推断出客户端上所需的相机位置以使其具有"流程"从一个屏幕到另一个屏幕。