» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[其他] 请达人来回答,锯齿为什么总会产生?

引用:
原帖由 planar 于 2007-9-10 21:22 发表

以后游戏都做成4096x3072```然后按照720P大小显示?很聪明?
首先,反锯齿就是类似这个原理实现的;

其次,720p大小是多大?


TOP

哎哟,现在的人,一是懒,不肯学,一是嘴硬,不懂装懂。。。


1] 游戏引擎使用Direct3D或OpenGL创建一个3D环境,这些3D API都使用三角形作为基本块,每个三角形在3D空间中有一个坐标,通过特殊的驱动程序可计算坐标的转换和光线处理。假设屏幕为10*10像素,三角形的三个顶点分别是(5,5)、(10,10)和(10,0)。

[2] API按照不同的屏幕分辨率供给不同的坐标,当顶点经过转换和光线处理器之后,它会得到一个屏幕相对坐标,此坐标与3D应用程序中的真实世界坐标有所区别,最终屏幕分辨率决定了坐标的位置。在抗锯齿处理中,我们需要进行上行采样来获得更多标本(Geforce/Geforce2用T&L单元来完成采样工作),至少要在垂直和水平方向各采样一次,才能得到有效的抗锯齿图像。

  更多的子采样需要原始像素要做更多的转换,同时也意味着过渡更平滑,游戏画面变得更漂亮。上行采样次数通常是2的倍数,屏幕分辨率也会上升2的倍数,如上例子10*10像素经过2倍OGSS就成为了20*20像素,三角形顶点坐标分别是(10,10)、(20,20)和(20,0)。要注意的是,三角形在屏幕的相对位置不变,与抗锯齿之前相同。
< [3] 所有几何图形将会从垂直和水平方向同时作缩放,渲染工作当然也会加倍,接着发到非屏幕缓冲,在里面进行下行采样,去掉一些多余像素,并保留高质量纹理信息,最后送到屏幕显示缓冲。此例仅基于一个三角形,在实际应用中,抗锯齿工作会在每个三角形中进行,再组成一幅完整的3D图像。

[4] 当超级采样的帧渲染结束,我们会得到一个高分辨率图像,下行采样的主要工作是混合像素色彩,从四个邻近的像素颜色值得到一个加权平均数来作为混合像素值,即四个数值相加再除以4,与纹理双线性过滤的工作原理一样。由于四个高分辨率像素是最终像素的子采样,过滤之后会变得很平滑。假设一个简单的例子包括黑条(0%)和白色背景(100%),在垂直方向表示斑纹效果,一个子采样包含两个黑色和两个白色子采样,0%和100%交互混合将得到50%的效果。10*10例子中的三角形重新回复正常,只是加入了OGSS超级采样技术,让画面变得漂亮了。



TOP

简单说,就是增加渲染的分辨率,减少锯齿。

至于为什么不直接提高分辨率输出……如果每家每户都用G520玩游戏,就用不着FSAA了。


TOP

引用:
原帖由 kelaredbull 于 2007-9-12 13:17 发表


你站到15米外再看看?
站到10000米外也有锯齿,你这不抬杠么……

TOP

引用:
原帖由 kelaredbull 于 2007-9-12 13:20 发表


原来游戏画面不是用来看的,是用来战的阿!前面无数人说了,锯齿这玩意,肉眼分辨不出来了,就可以认为不存在了。
看?你玩游戏都站在15米外看?

TOP

发新话题
     
官方公众号及微博