[gpu pro]hybrid min/max plane-based shadow maps

[gpu pro]hybrid min/max plane-based shadow maps_第1张图片

对min/max shadow map的一个优化,min/max shadow map的简单介绍可以看这个:http://developer.download.nvidia.com/presentations/2007/gdc/SoftShadows.pdf

min/max shadow map基本做法:

  • 使用min filter和max filter分别构建两个texture,都是带有mipmap的,mipmap构建也是使用min/max filter
  • 在filter shadow的时候,通过min/max depth来快速剔除一些不需要深入filtering的像素,进而达到优化的目的
gpu pro这篇文章在这几个方面做了优化:
  • 使用一个贴图的两个通道来分别存min/max值
  • 在一定情况想,使用一个plane来表示shadow depth信息可以更好的提出,这种情况下就不存min/max depth,转而存表达plane的四个数
    • 至于什么时候plane比较合适文中没有说的很清楚,但是这个plane的引入就让这个文章的名字cool了一大截:hybrid min/max plane based shadow map
  • 在构建hybrid sm的时候,使用了新的硬件的特性,
    • gather指令,可以一次把linear的四个texel返回,这样就不用sm3这样,使用多个tex2D指令,尤其是针对非linear filter的min/max filter
    • 也提到DirectCompute的shared memory,对filter类的操作是神器
  • 在最后使用的时候,不是标准min/max shadow map的那种mipmap做很多转移,而是直接就一个mip

你可能感兴趣的:([gpu pro]hybrid min/max plane-based shadow maps)