使用OpenGL渲染的图形可以与不使用OpenGL渲染的图形一起工作吗?
我开始学习OpenGL,但当我真正用OpenGL编写代码时,我仍然很害羞,我觉得用JPanel或Canvas把它们画出来更舒服。我假设它在代码方面不会引起太多问题,但同时显示所有代码可能会导致问题?或者我只能选择其中的一个?
发布于 2014-05-14 05:39:56
将OpenGL图形与另一个非OpenGL图像集成或渲染归结为合成图像。您可以获取2D图像并将其作为纹理加载到OpenGL中,这样就可以使用该纹理在OpenGL中绘制曲面,或者按照您的问题的建议绘制背景。或者,可以使用OpenGL中的帧缓冲区将OpenGL场景渲染为纹理,然后将其转化为2D位图并与其他图像组合。
当然,这种方法也有局限性。一旦将OpenGL场景移动到2D图像,通常会丢失所有深度(如果您想要这样做,可以在图像中的其他通道中保留深度,但这将涉及额外的工作)。
此外,由于您可能希望一个图像不会简单地覆盖另一个图像,因此您必须在其中一个图像中包含一个alpha (透明度)通道,以便当您组合它们时,尚未绘制的区域将最终显示底层图像。
但是,我建议您努力找到一个能满足您所有需求的渲染API。从长远来看,您为组合来自两个API的呈现输出所做的额外工作可能是徒劳的。将OpenGL控件嵌入到封闭的应用程序中是一回事,该应用程序使用更传统的应用程序接口呈现它的许多控件。另一方面,尝试将来自OpenGL和另一个呈现API的输出合成到同一个输出区域是非常不寻常的。
也许如果你能提供一个更具体的例子来说明你正在谈论的渲染类型,人们可能会提供更有帮助的建议。
发布于 2014-05-14 05:25:39
你只能选择其中的一个。你不能把它们放在一起。
https://stackoverflow.com/questions/23641796
复制相似问题