如何在 LibGDX 中推送和弹出矩阵堆栈

How do I push and pop the matrix stack in LibGDX

我很难在 LibGDX 中找到与非常基本的 OpenGL 功能 glPushMatrixglPopMatrix 等效的东西。

我已经渲染了我的场景,我想在场景顶部渲染一个叠加层,但我想在屏幕坐标中进行渲染,所以我想推送模型视图矩阵并加载标识。

本质上我想执行相当于:

glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();

... stuff ...

glPopMatrix();

但就我的生活而言,我在 LibGDX 文档和我看过的部分源​​代码中都找不到关于 push 或 pop 的任何提及。

我错过了什么吗?是否有其他首选方法来实现此目的?

编辑:

我想要实现的是在我加载下一个级别然后淡入时淡入黑色。我通过使用 alpha 在显示器上渲染一个黑色矩形来实现这一点。 None 这是个问题,我只想有一个独立于当前世界变换的固定已知坐标系来渲染这个矩形。

这些方法是 OpenGL ES 1 固定渲染管道的一部分。自 libGDX 版本 1.0.0 起,已删除对 OpenGL ES 1 的支持。仅支持 OpenGL ES 2 及更高版本的可编程渲染管道。如果你真的想使用这样的旧方法,那么你可以使用旧版本的 libGDX.

问题 "how to render a HUD overlay?" 过于宽泛,无法在这里解释。但是对于基本方法(比如渲染 HUD 覆盖)libGDX 抽象掉了使用任何 gl 方法的需要。您可能想看看 wiki, which includes some basic examples. And follow a tutorial(尽管教程往往会过时,所以请注意这一点)。

但假设您使用的是 SpriteBatch,则使用 batch.setProjectionMatrix()