首页 > 解决方案 > 使用 Z 坐标的 OpenGL 2d 游戏渲染层

问题描述

我正在将我的自上而下 2d 游戏的渲染从 SDL2 绘图函数转换为直接 OpenGL,以便我可以利用批处理渲染和着色器。

目前为了绘制我的各种精灵,我使用了一个图层数组,每个图层都有一个游戏对象数组。我只是在渲染时遍历图层和每个图层中的所有游戏对象,以便以正确的顺序绘制内容。即第 0 层是背景对象,第 1 层是主关卡,第 2 层是前景。

我在设计 OpenGL 代码时意识到,我现在可以选择在 Z 轴上绘制。所以,我想知道 - 摆脱我的层数组并简单地让每个游戏对象都有一个层值,我可以简单地使用它来表示特定的 Z 轴值,这对我来说是否有意义。我可以有 Z 轴 3,2 和 1,然后让 openGL 绘图调用处理顶部或前面的内容。

我的一些纹理会有透明部分,所以我也需要它来工作。

标签: c++opengl

解决方案


推荐阅读