graphics - 如果您需要深度缓冲区或使用 WebGL 中的 DEPTH_BUFFER_BIT 标志进行 2D 和/或视差
问题描述
想知道WebGL 中的视差,在我看来至少涉及到不同层的深度。
想知道这是否与深度缓冲区和/或使用DEPTH_BUFFER_BIT
. 我有一个在初始阶段正在开发的 2D 游戏,我想知道这里是否曾经使用过深度缓冲区以及用于什么目的,以及我是否应该使用该标志。或者,如果深度缓冲区仅真正用于 3D 内容。
我所说的视差是指背景移动比前景慢的横向滚动游戏。
解决方案
通常不需要,2D 视差游戏不需要深度缓冲区,但这完全取决于您。如果您的前景是 100% 不透明的(没有半透明区域),那么使用深度缓冲区可能会更快。您将先绘制前景层,然后再绘制背景层。使用深度缓冲区意味着被前景像素覆盖的背景像素将不会被绘制。另一方面,如果您的某些前景像素是部分透明的,那么您将被迫向后拉到前面以获得正确的透明度,在这种情况下深度缓冲区无济于事。
推荐阅读
- angular - 我将如何使用在 Angular 的后期阶段确定其值的变量?
- python - Can't delete and reinstall Python 3 because of new user folder name
- assembly - 在 Z80 CP/M 上等待一段时间
- javascript - 具有多个固定列和多个滚动的表格
- javascript - JS数组递归
- powerbi - Power BI 中的 COUNTIF(需要新的计算列)
- c# - 替换 AuthenticationHandler 进行集成测试
- c# - 尝试在本地驱动器上打开与数据库的 SQL 连接会导致 System.Data.SqlClient.SqlException
- javascript - 为什么我会收到这些未定义的值?
- django - 将 .git 文件夹添加到 Github 是一种好习惯吗?