13void emit_vertex_2(in 
int i, in vec2 offset, in 
bool do_clip) {
 
   14#ifndef GLUP_NO_GL_CLIPPING 
   15    if(glupIsEnabled(GLUP_CLIPPING)) {
 
   17            clip_distance(vertex_clip_space_in(i),do_clip);
 
   20    gl_Position = vertex_clip_space_in(i) / vertex_clip_space_in(i).w ;
 
   21    gl_Position.x += offset.x;
 
   22    gl_Position.y += offset.y;
 
   23    gl_Position.z -= 0.001; 
 
   24    VertexOut.vertex_clip_space = gl_Position;
 
   25    if(glupIsEnabled(GLUP_VERTEX_COLORS)) {
 
   26        VertexOut.color = color_in(i);
 
   28    if(glupIsEnabled(GLUP_TEXTURING)) {
 
   29        VertexOut.tex_coord = tex_coord_in(i);
 
   35    gl_PrimitiveID = gl_PrimitiveIDIn;
 
   37    R = 2.0*(GLUP.mesh_width/(GLUP.viewport[2]+GLUP.viewport[3]));
 
   38    p1_ndc = vertex_clip_space_in(0).xy / vertex_clip_space_in(0).w;
 
   39    p2_ndc = vertex_clip_space_in(1).xy / vertex_clip_space_in(1).w;
 
   42    emit_vertex_2(0,-U-V,
true);
 
   43    emit_vertex_2(0,-U+V,
true);
 
   44    emit_vertex_2(1, U-V,
true);
 
   45    emit_vertex_2(1, U+V,
true);
 
vec3 normalize(vec3 v)
Computes a normalized vector.
vecng< 2, Numeric::float64 > vec2
Represents points and vectors in 2d.