In VisPy with gloo backend, The with of lines drawn via 3D coordinates can modified through
GL.glLineWidth(max(width1, 1.))
at once, altogether.
Is there any way to give the widths/thickness of line using array like colors? Should I modify gloo or can set the Line_Width with some command?
VERTEX_SHADER = """
varying vec4 v_color;
void main(void) {
gl_Position = $transform($to_vec4($position));
v_color = $color;
}
"""
# gl_LineWidth = v_color;
# varying vec4 v_color;
FRAGMENT_SHADER = """
varying vec4 v_color;
void main() {
gl_FragColor = v_color;
}
"""
Is there any way to give the widths/thickness of line using array like colors?
no
Should I modify gloo or can set the Line_Width with some command?
I'm not sure what this means. Like you mention you can se the line with globally with
GL.glLineWidth(width);
Unfortunately line widths > 1 are in general not supported. The WebGL1 spec via the OpenGL ES 2.0 spec says the max required size is 1.0. OpenGL core, on which WebGL on Linux and Mac is implemented says line widths > 1.0 are deprecated. Angle on Windows on which OpenGL ES is emulated also only supports line widths of 1.0. Effetively that means line width > 1.0 are pretty much not supported anywhere
So basically if you want lines > 1 pixel think you need to make them from polygons