screenmap shadow主要是为了对shadow进行后处理使其边缘软化。
    主要步骤是:
1,一个pass,从光源方向渲染所有产生shadow的物体深度到一张shadowmap上。
2,一个pass,用第一步生成的shadowmap为贴图,从camera方向渲染接收shadow的物体,将shadowmap proj到这些物体上,阴影的地方着色为黑色,非阴影的地方着色为白色(或者其它任何颜色,只要可以正确blend),这一步仍然渲染到一张图上(screenmap)。
3,对screenmap进行blur使其软化。
4,从camera方向正常渲染场景物体。
5,将screenmap blend到target中。
    *第一步和第二步就是标准shadowmap的做法,所以可以像标准shadowmap一样作变形,例如将其创建为tsm。
    *screenmap的主要问题是比普通shadowmap多了一个pass,但这两个pass都只需要vertex的position数据,一般对于处理比较灵活的引擎,顶点都应该使用多流,并灵活切换shader,允许的情况下还可以对position流进行压缩,可以将这两个pass的时间将到最低。