npr
NPR也就是非真实感渲染,它与PBR是相对的。
卡通渲染,素描,油画,水墨等都是属于NPR。
总的来说卡通渲染主要分为两部分。
第一部分就是描边。
描边主要分为一下几类:
1.传统利用dot(N,V)来检测
2.利用两个Pass扩张顶点
3.Z便宜
4.利用几何着色器的线框
5.屏幕后效基于深度和法线的检测
第二部分是内部颜色部分。
首先我们观察到卡通变化的光照颜色变化并不是平滑过渡的,所以我们进行梯度漫反射,这个可以通过一维纹理或者对满反射系数进行分割。
高光部分也不是平滑过渡的,可以利用smoothstep来达到效果。
还有基于色调的着色技术(tone-based shading),公式如下:
在素描方面,首先准备好过度的线图,然后进行分割漫反射系数,在过度部分进行lerp即可达到效果。
水墨,我查了很多资料,渲染的方式也很多,但是很多都是用一维高斯纹理来查找的。
下面是我学习NPR时的一些资料:
https://blog.uwa4d.com/archives/usparkle_cartoonshading.html
http://doc.okbase.net/zhanlang96/archive/125006.html
http://gad.qq.com/article/detail/18724
http://gad.qq.com/article/detail/10052
相关阅读
JavaScript中的hasOwnProperty()和isPrototypeOf()
这两个属性都是Object.prototype提供的Object.prototype.hasOwnProperty()hasOwnProperty()方法用来判断某个对象是否含有指定的
originpro 2017也就是OriginLab OriginPro 2017,是一款非常专业的函数绘图软件,是各科学科的研究人员最好的帮手。它既可以根据数据
参见链接:http://www.ilovematlab.cn/thread-262603-1-1.htmlregionprops统计被标记的区域的面积分布,显示区域总数。函数regionpro
转自:Matlab图像处理函数:regionprops 这里给出在Matlab图像处理工具箱中非常重要的一个图像分析函数:regionprops。顾名思义:它的用
有这样一幅图, 我们想获取其中的连通区域,可以使用以下代码: src_img_name = 'blue_sky_white_clound_002594.jpg';img = imread(src