c++ - 使用 Z 坐标的 OpenGL 2d 游戏渲染层
问题描述
我正在将我的自上而下 2d 游戏的渲染从 SDL2 绘图函数转换为直接 OpenGL,以便我可以利用批处理渲染和着色器。
目前为了绘制我的各种精灵,我使用了一个图层数组,每个图层都有一个游戏对象数组。我只是在渲染时遍历图层和每个图层中的所有游戏对象,以便以正确的顺序绘制内容。即第 0 层是背景对象,第 1 层是主关卡,第 2 层是前景。
我在设计 OpenGL 代码时意识到,我现在可以选择在 Z 轴上绘制。所以,我想知道 - 摆脱我的层数组并简单地让每个游戏对象都有一个层值,我可以简单地使用它来表示特定的 Z 轴值,这对我来说是否有意义。我可以有 Z 轴 3,2 和 1,然后让 openGL 绘图调用处理顶部或前面的内容。
我的一些纹理会有透明部分,所以我也需要它来工作。
解决方案
推荐阅读
- python - 从数据框中提取共现数据
- google-sheets - Google API token.json 文件是一次性使用的吗?
- flutter - Flutter 和 Cloud Firestore:如何同步数据更改的最佳实践
- mysql - 如何保证更新mysql中的最新行
- graphql - @nestjs/graphql 使用 typeORM 自定义多对多关系
- java-8 - 为 Flink/Beam 批处理作业并行化来自 Cassandra 的读取
- apache-kafka - 为什么主题__consumer_offsets 的cleanup.policy 是COMPACT?
- node.js - 为 Mongo 模式生成 EARD
- spring - 运行 Spring 项目会导致警告“RMI TCP Accept-0:ServerSocket [addr=0.0.0.0/0.0.0.0,localport=54571] 的接受循环抛出”
- php - 是什么导致无法在此 Laravel 8 应用程序中从服务器物理删除图像?