红色点是多缓冲区,为各类数据(点的位置和大小)单独创建缓冲区,各自依次传输

蓝色点是单缓冲区,为一个整体数据(数组)创建一个缓冲区,按规则进行(取值)传输

attribute vec4 a_Position;
attribute float a_PointSize;

void main(){
  gl_Position = a_Position;
  gl_PointSize = a_PointSize;
}
precision mediump float;
uniform vec4 u_FragColor;
void main(){
  gl_FragColor = u_FragColor;
}