首页 > 解决方案 > OpenGL 跨多个进程共享纹理

问题描述

我目前正在尝试为 Minecraft 创建一个 mod,它可以播放来自 url ingame 的视频。

我使用库 VLCJ(LibVLC 的 JAVA 桥接器)。它对视频进行编码并提供一个缓冲区,可用于上传纹理(通过 OpenGL)并进行渲染。

这绝对可以正常工作,但是一旦同时播放多个视频,就会出现问题。VCLJ 建议每个进程只有一名玩家。所以唯一的解决方案是为每个玩家创建一个新的流程。问题是将渲染数据从新进程传输回原始进程。

OpenGL (lwjgl) 提供共享内存解决方案( source ),所以我的问题是:

这是否适用于多个进程? 玩家是否可以上传纹理,而其他进程(Minecraft)可以使用该纹理来渲染它?

好处是不需要通过 websocket 或其他进程间通信可能性传输大量数据。

标签: javaopenglmemorytextureslwjgl

解决方案


推荐阅读