[ANSWERED] What is the difference between local GUI positions and GO positions in shaders?

I tried to adaptive the Sprite specific shader to the GUI shader, but the problem is that there is some difference between the local position attribute, which I defined the same everywhere.

I have to show that the UV coordinates of the texture do not differ (the code is the same in the gui and in the sprite shader):

void main()
{
    gl_FragColor = vec4(var_texcoord0.xy, 0.0, 1.0);
}

image

but when i try to use local position attribute then i have big difference (the code is the same in the gui and in the sprite shader):

void main()
    {
        gl_FragColor = vec4(var_position_local.xy, 0.0, 1.0);
    }

image

What is this difference and how do I get the true local position attribute for GUI?

project example:
diff_gui_go_shader.zip (43.5 KB)

Not all components support support custom vertex formats yet (I should update the manuals to clarify this), and GUI is one of them unfortunately. What exactly do you want to do?

A lot of things) My game is completely made only on GUI components. I saw a nice dissovle effect Dissolve FX for sprites and would like to apply it somewhere. I also wanted to round the corners for pictures:
image
I know there are workarounds, but I didn’t want to save separate round pictures for this.
Thanks for the reply!