NPR特性(基于真实感渲染)
真实感--》翻译成非真实感的过程
NPR风格
需要转换为渲染中的操作
1.描边
B-->普通边界(不是下面几种的)
C-->折痕
M-->材质边界
S-->需要在物体外面一圈上,并且是多个面共享的
描边方法:
1.shading
找到Sihouette边-->观察的方向和fragmant法线垂直的地方, 这些地方颜色加深
通过设置阈值来增加黑色范围,比喻与视线大于60度就开始描黑
step函数,smoothstep函数
2.几何方法
找到面向视线方向的面
正面正常渲染
背面扩大一圈渲染 (疑问:都要双面渲染?)
3.后期图像处理
通过图像找边界,使用Sobel 核过滤
比如墙上的竖边,白色部分乘以正数,黑色乘以负数,颜色差会进一步拉大--》出现边界效果
找到边界后再加回到原图即可
还可以通过Gbuffer中的信息处理(比如normal,depth上找边界)
2.色块
阈值化,在某一范围内的颜色,统一成一个值
3.素描效果
贴不同密度的纹理
远处 uv会被缩小,如果还用lod0,会变黑--》远处使用mipmap lod高级别的贴图
参考自:Lecture10 Real-Time Physically-based Materials (surface models)_哔哩哔哩_bilibili