山寨SSSSS
主要参考了KlayGE里的SSSSS实现,在Unity里山寨了一下:
SSSSS打开 | SSSSS关闭 |
---|---|
然后不得不吐槽u3d的API太少了,怎么优化都不给力…
- 参考MRT example用倒是用出来了,不过有点麻烦,而且后来根本没法跑3个Loop,删到只剩下x/y方向各一次也用不上了…
- 在后处理里没法用stencil真是猎奇啊啊啊,Using the stencil-buffer in a post-process?这个帖子里描述的一模一样;
- 替换掉
Graphics.Blit
也基本没有效果提升; - 没有factor blend真麻烦,还要自己在代码里算混合…
- 最后还尝试了在
OnPostRender()
里搞,如果是相机有RT的话、这样能读取到stencil倒是,不过会有其他的问题
反正就是各种蛋疼,N5上都只有30fps;实在不行只能考虑纹理空间的SSS了,不然每次算整个屏幕太费了~