Home > Software design >  SKShapeNode: Shader transparency is ignored
SKShapeNode: Shader transparency is ignored

Time:09-11

I want to fill a SKShapeNode with a linear gradient. Being a programming perfectionist I want the solution to be as customizable as possible. So I decided to use a Gradient

If you change c1 and c2 to other colors, the bug will stay there.

CodePudding user response:

Like the comments said, the color value you return should already be premultiplied by the fragment's alpha value.

From Apple's documentation - Creating a Custom Fragment Shader:

Typically, the color value you return in this variable should already be premultiplied by the fragment’s alpha value.

You might also want to use v_color_mix.a if you want your shader to take into account the alpha value set on the node:

gl_FragColor = col * v_color_mix.a;

  • Related