gpt4 book ai didi

c++ - 通过 winsock 发送 Direct3D 顶点信息

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:06 26 4
gpt4 key购买 nike

我目前正在开展一个项目,我需要创建一个服务器/客户端应用程序,该应用程序使用 C++、DirectX 和 Winsock 在两个单独的应用程序窗口中绘制图形。该图像应沿服务器应用程序窗口的 x 轴平移,直到它开始从右侧的 View 中消失。当它从 View 中消失时,客户端应用程序应呈现图像并将其翻译到自己的屏幕上,给人以图像从服务器窗口移动到客户端窗口的印象。

我在这里不是在寻找任何完整的代码,而是在图像完成跨服务器应用程序窗口的翻译周期时,我如何通知客户端应用程序开始在其屏幕上再次呈现图像的指示符。我在想我可以做一些以跟踪下面代码中 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;

最佳答案

在我看来,您只是想传播对象的变换(位置、方向、比例)并有两种不同的 View ,一种用于服务器,一种用于客户端。这些 View 可以只是不同的相机位置。当对象在服务器的世界中移动时,它也会在客户端移动。对于对象和服务器摄像头之间的给定距离,您应该能够计算出它何时开始接触视锥体的边缘……并且从那里您可以推断出客户端上所需的摄像头位置具有“流” "从一个屏幕到另一个屏幕。

关于c++ - 通过 winsock 发送 Direct3D 顶点信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13335053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com