首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL可以处理非OpenGL图形吗?

OpenGL可以处理非OpenGL图形吗?
EN

Stack Overflow用户
提问于 2014-05-14 05:21:12
回答 2查看 46关注 0票数 1

使用OpenGL渲染的图形可以与不使用OpenGL渲染的图形一起工作吗?

我开始学习OpenGL,但当我真正用OpenGL编写代码时,我仍然很害羞,我觉得用JPanel或Canvas把它们画出来更舒服。我假设它在代码方面不会引起太多问题,但同时显示所有代码可能会导致问题?或者我只能选择其中的一个?

EN

回答 2

Stack Overflow用户

发布于 2014-05-14 05:39:56

将OpenGL图形与另一个非OpenGL图像集成或渲染归结为合成图像。您可以获取2D图像并将其作为纹理加载到OpenGL中,这样就可以使用该纹理在OpenGL中绘制曲面,或者按照您的问题的建议绘制背景。或者,可以使用OpenGL中的帧缓冲区将OpenGL场景渲染为纹理,然后将其转化为2D位图并与其他图像组合。

当然,这种方法也有局限性。一旦将OpenGL场景移动到2D图像,通常会丢失所有深度(如果您想要这样做,可以在图像中的其他通道中保留深度,但这将涉及额外的工作)。

此外,由于您可能希望一个图像不会简单地覆盖另一个图像,因此您必须在其中一个图像中包含一个alpha (透明度)通道,以便当您组合它们时,尚未绘制的区域将最终显示底层图像。

但是,我建议您努力找到一个能满足您所有需求的渲染API。从长远来看,您为组合来自两个API的呈现输出所做的额外工作可能是徒劳的。将OpenGL控件嵌入到封闭的应用程序中是一回事,该应用程序使用更传统的应用程序接口呈现它的许多控件。另一方面,尝试将来自OpenGL和另一个呈现API的输出合成到同一个输出区域是非常不寻常的。

也许如果你能提供一个更具体的例子来说明你正在谈论的渲染类型,人们可能会提供更有帮助的建议。

票数 2
EN

Stack Overflow用户

发布于 2014-05-14 05:25:39

你只能选择其中的一个。你不能把它们放在一起。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23641796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档