尽管我是一名程序员,但我几乎没有接触过游戏开发。我这个问题已有一段时间了,现在我正在研究游戏开发,所以我认为这是个好时机。
为什么阴影贴图似乎是游戏用来制作阴影的唯一方式?直言不讳,它看起来很糟糕。即使现代游戏的阴影设置已达到最大值,也会出现锯齿状的块状Y阴影,这非常分散注意力。
11年前制作的《毁灭战士3》使用的阴影体积看上去比我见过的任何阴影贴图实现都要好得多,其中包括在发布此问题的同一周发布的AAA游戏。《毁灭战士3》的第三方修改器甚至使阴影的边缘变得柔和,使它们在视觉上更加令人印象深刻。
实现诸如阴影卷之类的东西是否存在某种技术问题或限制?阴影贴图是否易于实施,以至于开发人员甚至不需要考虑其他任何东西?
我能够找到的关于该主题的唯一信息是,构成体积的多边形可能很大,从而要求更高。影子卷可能对系统有更高的要求,但是如果是这样的话,它们在2004年如何摆脱使用它们的困扰?
这个问题并非仅针对阴影映射与阴影体积,它们只是我在完整产品中使用过的仅有的两个,而我只是无法在其他任何技术上找到很多信息。
3
仅需注意-Doom 3当时的性能非常密集,即使在某些现代系统上,它仍然是起伏不定的(而且我并不是在谈论集成GPU,尽管在这里并不太合适;当然,很有可能由于年代久远,但是...)。我已经看到它在许多不能进行阴影和照明的计算机上运行。显然,要在游戏中获得正确的阴影有很多复杂性,而《毁灭战士3》就是一个很好的例子,说明了逼真的图形在众多计算机配置上的难易程度。
—
a安2015年
《毁灭战士3》比开发开始时要早几年(至少考虑到图形API的选择)。它有几个后端可以处理几代硬件在Shader Model 2.0之前的版本,这意味着大约1/4的引擎几乎是便携式的(甚至早于GLSL),其余3/4是古老的NV和ATI硬件扩展的代码路径。与游戏发布时间无关。它选择的模具阴影量可能是其最少的问题。
—
安东·科尔曼