#version 300 es uniform int u_type; uniform float point_size; uniform mat4 u_mvMatrix; uniform mat4 u_projMatrix; in vec4 pos; in vec2 tex; in vec4 clr; out float _type; out float _flag; out vec3 _pos; out vec2 _tex; out vec4 _clr; void main() { _type = float(u_type % 100); _flag = float(u_type / 100); _pos = pos.xyz; _tex = tex; _clr = clr; gl_PointSize = point_size; gl_Position = u_projMatrix * u_mvMatrix * pos; }