美文网首页
03.遮罩圆形头像

03.遮罩圆形头像

作者: cmd_ts | 来源:发表于2020-05-08 14:36 被阅读0次
    444.png 333.png

    接下来就是画一个圆,圆的半径为0.5.

    o.a = 1.0 - smoothstep(0.5 - 0.010.5,0.5 + 0.010.5,length(uv));

    // Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.  
    
    CCEffect %{
      techniques:
      - passes:
        - vert: vs
          frag: fs
          blendState:
            targets:
            - blend: true
          rasterizerState:
            cullMode: none
          properties:
            texture: { value: white }
            alphaThreshold: { value: 0.5 }
    }%
    
    
    CCProgram vs %{
      precision highp float;
    
      #include <cc-global>
      #include <cc-local>
    
      in vec3 a_position;
      in vec4 a_color;
      out vec4 v_color;
    
      #if USE_TEXTURE
      in vec2 a_uv0;
      out vec2 v_uv0;
      #endif
    
      void main () {
        vec4 pos = vec4(a_position, 1);
    
        #if CC_USE_MODEL
        pos = cc_matViewProj * cc_matWorld * pos;
        #else
        pos = cc_matViewProj * pos;
        #endif
    
        #if USE_TEXTURE
        v_uv0 = a_uv0;
        #endif
    
        v_color = a_color;
    
        gl_Position = pos;
      }
    }%
    
    
    CCProgram fs %{
      precision highp float;
      
      #include <alpha-test>
      #include <texture>
    
      in vec4 v_color;
    
      #if USE_TEXTURE
      in vec2 v_uv0;
      uniform sampler2D texture;
      #endif
    
      void main () {
        vec4 o = vec4(1, 1, 1, 1);
        vec2 uv = v_uv0 - 0.5;
        #if USE_TEXTURE
          CCTexture(texture, v_uv0, o);
        #endif
    
        o *= v_color;
        
        o.a = 1.0 - smoothstep(0.5 - 0.01*0.5,0.5 + 0.01*0.5,length(uv));
        ALPHA_TEST(o);
    
        gl_FragColor = o;
      }
    }%
    
    

    相关文章

      网友评论

          本文标题:03.遮罩圆形头像

          本文链接:https://www.haomeiwen.com/subject/rsoidhtx.html