gpt4 book ai didi

java - 仅使用 OpenGL 上下文 ID 渲染到纹理 (Java)

转载 作者:行者123 更新时间:2023-11-30 06:07:57 24 4
gpt4 key购买 nike

我们需要渲染整个游戏窗口的纹理。我们只有来自客户端的 java SDK jar,并且只能访问它们在游戏运行时创建的窗口的 OpenGL 窗口上下文 ID。

我的问题是,窗口上下文是否足以以某种方式将其渲染为纹理?

我们无法更改客户端的代码,但我们需要在其 java SDK 之上呈现编辑器窗口。

他们正在使用 LWJGL 进行渲染。计划是将游戏渲染到单独的窗口中,类似于:

enter image description here

我想这只能通过提到的纹理渲染来实现。

最佳答案

如果您可以使用常规的 openGL 命令,那么您可能可以做一些事情。问题是您需要更改 openGL 的状态机,这可能会与他们的游戏正在执行的操作相勾结。

一件事可能有效,但同样可能与他们正在做的事情发生冲突。由于您想要显示它们的最终输出,因此可以肯定它们会渲染到默认帧缓冲区。因此,您创建自己的具有纹理颜色附件的帧缓冲区,并使用 glBlitFramebuffer 将默认帧缓冲区传输到您自己的帧缓冲区中。这样你就应该将默认的帧缓冲区放入纹理中。为此,您需要在位图传输之前执行 glBindFramebuffer(GL_READ_FRAMEBUFFER, 0)glBindFramebuffer(GL_DRAW_FRAMEBUFFER, **your buffer**) 来设置操作的目标。

因为我不知道是否可以为每一帧编写代码,所以我不确定这是否有效,但可能值得一试。

关于java - 仅使用 OpenGL 上下文 ID 渲染到纹理 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50895022/

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