GLUT 叠加层有什么用?

GLUT What are overlays good for?

When overlay hardware is available, GLUT provides a set of routine for establishing, using, and removing an overlay for GLUT windows. When an overlay is established, a separate OpenGL context is also established. A window's overlay OpenGL state is kept distinct from the normal planes OpenGL state. [1]

什么是叠加层

即使有其他来源的描述,我也不太了解它们的潜力。您能描述一下它们是什么以及它们的用途吗?

overlay hardware是什么意思? “OpenGL context thingy” 假设正常平面的 OpenGL 上下文有效,怎么可能依赖于硬件。

覆盖与子窗口

我很明白overlays是用来分隔OpenGL context的。那么它们类似于子窗口吗? (因为它们都有不同的上下文)这两者之间的区别在哪里?

OpenGL 覆盖是一项遗留功能,几乎没有任何实施支持。最值得注意的是,您可以在上个千年制造的旧 SGI 机器上使用它们,然后在 3Dlabs 停产之前制造的一些显卡上使用它们。

从本质上讲,它们能够呈现多个“层”的内容,这些内容将在扫描时合成。它们的用途是启用一种在渲染之上绘制用户界面元素的方法,无需重新渲染整个内容即可进行更改。

如今,您最好使用离屏渲染到帧缓冲区对象和合成中来获得相同的结果,而无需经历叠加的所有麻烦。

我的建议:尽量忘记您曾经阅读过此功能并在以后忽略它。它已经 20 多年没有相关性了。