10glup_in 
float clip_dist;
 
   11glup_flat glup_in 
float depth_radius;
 
   12glup_flat glup_in glup_id primitive_id;
 
   16    if(glupIsEnabled(GLUP_CLIPPING) && (clip_dist < 0.0)) {
 
   20    vec2 V = 2.0*(gl_PointCoord - 
vec2(0.5, 0.5));
 
   21    float one_minus_r2 = 1.0 - 
dot(V,V);
 
   22    if(one_minus_r2 < 0.0) {
 
   26    vec3 N = 
vec3(V.x, -V.y, sqrt(one_minus_r2));
 
   27    glup_FragDepth = gl_FragCoord.z - depth_radius * N.z;
 
   29    if(glupIsEnabled(GLUP_PICKING)) {
 
   30        glup_FragColor = glup_picking(
int(primitive_id));
 
   35    if(glupIsEnabled(GLUP_VERTEX_COLORS)) {
 
   38        result = GLUP.front_color;
 
   40    if(glupIsEnabled(GLUP_TEXTURING)) {
 
   41        result = glup_texturing(result, tex_coord);
 
   43    if(glupIsEnabled(GLUP_LIGHTING)) {
 
   44        result = glup_lighting(result, N);
 
   46    glup_FragColor = result;
 
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.
vecng< 2, Numeric::float64 > vec2
Represents points and vectors in 2d.