请教个2d shader的问题

如图,蓝色框是我png图的大小,现在我要用shader把alpha为0的区域全部填充白色,运行后发现,填充区域仅仅是透明度裁剪后的那一部分区域,还有一大部分没有填充,为什么呢
123

顶点怎么设置的

// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.

CCEffect %{

  techniques:

  - passes:

    - vert: vs

      frag: fs

      blendState:

        targets:

        - blend: true

      rasterizerState:

        cullMode: none

      properties:

}%

CCProgram vs %{

  precision highp float;

  #include <cc-global>

  #include <cc-local>

  in vec3 a_position;

  in vec4 a_color;

  out vec4 v_color;

  in vec2 a_uv0;

  out vec2 v_uv0;

  void main () {

    vec4 pos = vec4(a_position, 1);

    pos = cc_matViewProj * pos;

    v_uv0 = a_uv0;

    v_color = a_color;

    gl_Position = pos;

  }

}%

CCProgram fs %{

  precision highp float;

  #include <texture>

  in vec4 v_color;

  in vec2 v_uv0;

  uniform sampler2D texture;

  void main () {

    gl_FragColor = vec4(1.0,0.0,1.0,1.0);

  }

}%

现在测试直接不采样图片,填充也不是全部区域
1234

可能得改图片

这里得设置吧 :thinking:

trim关了的,而且测试不采样图,也是有问题的

packable取消勾选看看

cc.sprite 组件是 RAW 吗

谢谢,找到原因了,是图片设置中的trim type设置none就可以了

谢谢,找到原因了

之前只改了节点trim,没有改图片的

这shader语法格式看着真恶心啊,,,哎,还不如JSON。。。。