9glup_in 
vec4 tex_coord_in;
 
   10glup_in highp 
float vertex_id_in;
 
   12glup_flat glup_out 
vec4 color;
 
   13glup_flat glup_out 
vec4 tex_coord;
 
   14glup_flat glup_out 
vec3 center_world_space;
 
   15glup_flat glup_out 
float radius;
 
   16glup_flat glup_out glup_id primitive_id;
 
   19    return vec4(M[0][0], M[1][0], M[2][0], M[3][0]);
 
   23    return vec4(M[0][1], M[1][1], M[2][1], M[3][1]);
 
   27    return vec4(M[0][3], M[1][3], M[2][3], M[3][3]);
 
   36    if(glupIsEnabled(GLUP_PICKING)) {
 
   38        primitive_id = float(
int(vertex_id_in + 0.5)) + 0.5;
 
   40        primitive_id = int(vertex_id_in + 0.5);
 
   44    if(glupIsEnabled(GLUP_VERTEX_COLORS)) {
 
   48    if(glupIsEnabled(GLUP_TEXTURING)) {
 
   49        if(glupIsEnabled(GLUP_INDIRECT_TEXTURING)) {
 
   50            tex_coord = tex_coord_in;
 
   52            tex_coord = GLUP_VS.texture_matrix * tex_coord_in;
 
   56    float R = vertex_in.w;
 
   58        GLUP_VS.modelviewprojection_matrix*
vec4(vertex_in.xyz,1.0);
 
   65        vertex_in.x/R, vertex_in.y/R, vertex_in.z/R, 1.0/R
 
   68    mat4 PMT = GLUP_VS.modelviewprojection_matrix * T;
 
   73    float r1Dr4T = 
dot(r1.xyz,r4.xyz)-r1.w*r4.w;
 
   74    float r1Dr1T = 
dot(r1.xyz,r1.xyz)-r1.w*r1.w;
 
   75    float r4Dr4T = 
dot(r4.xyz,r4.xyz)-r4.w*r4.w;
 
   76    float r2Dr2T = 
dot(r2.xyz,r2.xyz)-r2.w*r2.w;
 
   77    float r2Dr4T = 
dot(r2.xyz,r4.xyz)-r2.w*r4.w;
 
   79    float discriminant_x = r1Dr4T*r1Dr4T-r4Dr4T*r1Dr1T;
 
   80    float discriminant_y = r2Dr4T*r2Dr4T-r4Dr4T*r2Dr2T;
 
   81    float screen = max(GLUP_VS.viewport[2], GLUP_VS.viewport[3]);
 
   82    gl_PointSize = sqrt(max(discriminant_x, discriminant_y)) * screen/(-r4Dr4T);
 
   84    center_world_space = vertex_in.xyz;
 
Matrix< 4, Numeric::float64 > mat4
Represents a 4x4 matrix.
T dot(const vecng< 3, T > &v1, const vecng< 3, T > &v2)
Computes the dot product of 2 vectors.   vecng
vecng< 3, Numeric::float64 > vec3
Represents points and vectors in 3d.
vecng< 4, Numeric::float64 > vec4
Represents points and vectors in 4d.