上次想出来的方法有一点不妥当之处,就是只能勾出轮廓,没有根据Z值来进行勾边,比如说一个人物的手摆动到身体内部的时候,手的边缘并不能很好的勾画出来。于是冥思苦想,又研究出一套能比较好的解决这个问题的方法。
同样的把人物通过shader往法线方向拉伸得到一个扩大模型,不过渲染的时候不需要用stencil buffer或者z buffer了,而是渲染三角形的时候改成逆时针方向渲染,也就是渲染反面,这样一来,几乎所有的边缘都可以比较好的勾画出来了,而且效率也很高。
哦弥豆腐,在卡通渲染上的研究终于可以告一段落。
如果原图的alpha混合的scr为0,dest为1的话,得到勾边概念效果: