gpt4 book ai didi

c++ - OpenGL实时渲染传输

转载 作者:太空狗 更新时间:2023-10-29 22:52:52 26 4
gpt4 key购买 nike

我正在试验用 C++ 开发一个用于远程 OpenGL 渲染的工具。基本思想是:

  1. 客户端像普通应用程序一样发出 OpenGL 命令
    • 这些命令实际上是通过网络发送到外部服务器
    • 服务器使用一些离屏技术执行渲染
    • 完成后,服务器通过网络将单个帧传输给客户端
    • 客户端在屏幕上呈现框架。
    • 循环。

我知道如果我还没有成品我不应该开始担心优化,但我很确定那会很慢,瓶颈可能是单帧传输通过网络,即使这些计算机连接在同一个 LAN 中也是如此。

我正在考虑使用某种视频流媒体库。这样,帧将使用适当的压缩算法进行传输,从而使过程更快。

我的做法是否正确?在这里使用视频流媒体库是否合适?如果您这么认为,什么是适合这项任务的库(C 或 C++,最好是 C++)?

感谢您的帮助!

最佳答案

你有两个解决方案。

解决方案一

  • 远程运行应用
  • 拦截 openGL 调用
  • 在网络上转发他们
  • 在本地发出 openGL 调用

-> 复杂,尤其是在处理缓冲区和纹理时;真正的 openGL 代码在本地执行,这可能不是您想要的,但这取决于您。更重要的是,它对远程应用程序是透明的(无需修改源代码,无需重建)。几乎没有网络通信。

解决方案 2:您所描述的内容及其优缺点。

如果您选择解决方案 2,请暂时不要担心速度。相信我,使用 openGL 你将面临足够多的挑战。

以同步模式开始:渲染、获取、发送、渲染、获取、发送然后是异步模式:渲染、开始获取、渲染、获取结束、开始发送、渲染等我想这已经够难了

关于c++ - OpenGL实时渲染传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3522952/

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