Manga Shader

  之前给自己的渣引擎添加了简易的漫画效果·

  简易的MangaShader其实和CartoonShader差不多一样·也一样需要额外准备一张(或者几张)纹理资源·作为网点·

主要的处理都在像素(片元)着色器·首先把颜色转换为亮度(直接dot一个float3(0.29f, 0.58f, 0.11f)就行)·先由预先指定的阀值决定划分出不同的色块·当处于网点的色块时·从模型坐标转换到屏幕坐标·然后贴上去就行了·

稍微不同的地方:

    if(t_Value < s_ColorLevel1){                         //填充色
       Color.rgb = s_FillColor;
    }
    else if(t_Value < s_ColorLevel2){
       Color.rgb *= SetDotsColor(i_VPos);                //网点色
    }
    else{
       Color.rgb = float3(1.0f, 1.0f, 1.0f);             //白色
    }

t_Value是之前取得的亮度值,ColorLevel为划分的颜色等级越多实际效果的层级也就越多·这里只使用了一张网点纹理·

和Cartoon一样应该加上Edge·另外阴影的处理其实没弄好·

(PS:人物模型为 うさうさ 作者:ehehe さん·背景模型为 天界·出处不明···)

原文地址:https://www.cnblogs.com/macom/p/3399948.html