百科问答小站 logo
百科问答小站 font logo



能否通过渲染矢量画面,从根本上解决游戏锯齿问题? 第1页

  

user avatar   729041652 网友的相关建议: 
      

你真以为游戏模型不是矢量的?


user avatar   netwarm007 网友的相关建议: 
      

游戏画面当中的锯齿其实根据其产生的原因不同,包含几个类别:

1. 显示设备分辨率造成的锯齿

比如红白机的画面,本身输出分辨率就那样,无论如何都是有锯齿的。(当然如果将其显示为一个图标的大小,估计就看不太出来了)

2. 建模面数不够造成的锯齿

比如在FF7原版当中的爱丽丝是长这样的:

而在FF7R当中的爱丽丝是长这样的:

当然这种差别其实包含了很多要素,但是首先就是建模精度上的巨大区别。PS2时代一个人物最多也就上千个三角面,但是如今已经可以高达百万,甚至千万面。

3. 贴图精度不够造成的锯齿

由于游戏用贴图目前均为点阵图,其自身分辨率是有限的。目前的游戏主流贴图尺寸一般在2K x 2K分辨率以内,一些小物件非重点物件的贴图则更小,一般512 x 512左右还可能是多个图合用一张的。因此当距离近到一定程度导致屏幕上渲染的分辨率大于贴图本身的分辨率比较多时,就会出现锯齿现象。

上图中右侧的纹饰就是这样的例子。因为这是一个场景道具且为次要道具,其贴图的分辨率是比较小的。因此当镜头靠得很近的时候,就会因为贴图本身分辨率不足导致锯齿。

图中的纹饰看起来比较模糊是因为GPU对贴图进行了过滤,以减弱锯齿感。但是代价就是变模糊。

4. 因为渲染算法自身造成的锯齿

比如下图当中墙壁上突出的横木(不知道建筑学术语叫啥,欢迎评论区补充)下侧的阴影,这个阴影就有明显的锯齿感。

这是由于阴影计算的算法本身导致的。与模型和贴图的精度并没有直接关系。

同样类型且很常见的锯齿还有高光锯齿,就是游戏当中金属等高反射材质上的高光部分的锯齿。这个同样是由渲染算法造成的,而不是因为贴图质量或者别的什么。

因此可知,将所有贴图换成矢量图,且不论性能问题,最有帮助的也只是上面第三类:贴图精度造成的锯齿问题。然而解决这个问题其实还有更为简单的方法:增加贴图自身的分辨率。

当然,并不是说使用矢量图就没有意义。只是,从到目前为止的计算机发展情况看来,增加存储空间的成本要远少于增加计算量。而且游戏所用贴图很多都是手绘图或者实拍图,矢量化并不容易。(相对的,字体等就是属于容易矢量化的情形)


user avatar   Liuuzaki 网友的相关建议: 
      

中途岛战役……




  

相关话题

  游戏引擎的前身是不是工业软件? 
  为什么从PS2到PS3画面进步这么明显,而PS3到PS4不怎么明显?PS4NEO和PS5会怎样 
  如何阅读PBRT3? 
  Unreal 和 Unity 3D 各有什么特点?如何选择? 
  为什么黑魂和只狼这么小? 
  OpenGL会淘汰吗? 
  未压缩的游戏有好几十TB这是真的么? 
  历届 SIGGRAPH 上有什么新奇、有趣的项目? 
  GDC 2014 之后,游戏引擎市场会有怎样的变化? 
  如何开始用 C++ 写一个光栅化渲染器? 

前一个讨论
刘禹锡被认为有政治才能,曾被当做宰相苗子培养,但为什么却因为桃花诗两次被贬?
下一个讨论
下述想法是否正确?





© 2024-12-27 - tinynew.org. All Rights Reserved.
© 2024-12-27 - tinynew.org. 保留所有权利