泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

让RM变成HDTV!S18显卡视频增强全攻略

  • 基于硬件PCT(Percentage Closer Filtering)的DST(Depth Stencil Texture)

    Percentage Closer Filtering技术可以大幅度提高阴影贴图的效率,有效地渲染出各种各样介乎于黑色阴影和亮光之间的昏暗阴影,营造出逼真的场景和效果:

S18
 
S18

    这是一个OpenGL阴影贴图项目中的Direct3D转换,它显示的是单一光照下的简单场景。

    此场景首先沿光的角度开始着色,使用一个纹理作为着色目标,另一个纹理作为深度模版表面(depth-stencil surface)。然后DST(深度模版材质)就被投射到了场景中,从人眼的角度来说,图像就被画上去了。一个远景的纹理存储(distance stored)和远景光源的对比就自动形成了,这决定了阴影的区域。这和OpenGL的表现主要不同之处在于:

    在这个程序中,阴影贴图能被任意扩大,因为它是一个单独的着色目标。在OpenGL表现测试中,使用了深层窗口缓存,并且还要把数据从缓存中读出,于是阴影贴图就不可能比窗口本身大。

    这个程序只支持24位的阴影贴图。在一个8位的版本中,它的运行更加系统化,硬件3D加速十分困难,因为从深层缓存中读出数据并且保存在2D的亮度纹理中是相当的困难。

    在这个例子中,我不得不使用像素阴影来评估光照的相等性。因为如果你允许加入硬件3D加速(D3D)的镜面计算使用特定功能的管道,那么镜面计算中的色彩就会在材质应用(texture applicationg)以后自动地加到像素颜色(pixelcolor)中,这意味着
(散射+镜面)*在“draw lit”过程中的材质0(texture0)
就会变成(散射+镜面)*材质0(texture0)+镜面由于对颜色总数的控制,像素阴影(pixel shader)避免了这个问题。

  • Percentage Closer Filtering (PCT)

    当只有一部分的光源照在物体表面,使之可见,半影(Penumbras)就形成了,这一部分区域是昏暗的(也就是说既不是全亮,也不是全暗)。在阴影贴图中,因为在使用点光源,这个定义就没有意义了。但是我们可以利用PCT这项技术来形成这种种介乎于黑色阴影和亮光之间的昏暗阴影[1]. Pixar的研发人员开发PCF以帮助anti-alias 阴影图边界. 随着NVIDIA的GeForce3用硬件加速阴影贴图来实现PCF。PCF通过拿当前的像素深度和阴影贴图中相应的位置的像素深度、以及其在阴影贴图中最近的像素作比较。根据阴影的不同,最终的阴影亮度是测试中的阴影贴图一定百分比。

    PCF能够消除阴影混淆现象,它不能产生十分巨大的半影。这项技术能够同过一个简单的变化实现软阴影。这比仅仅测试临近像素要好,因为在一个像Figure2 中的巨大例子中,临近像素的测试是个问题。

0人已赞

关注我们

泡泡网

手机扫码关注