9glup_in 
vec4 tex_coord_in;
 
   10glup_in highp 
float vertex_id_in;
 
   11glup_out 
vec3 vertex_view_space;
 
   12glup_out 
float clip_dist;
 
   14glup_out 
vec4 tex_coord;
 
   15glup_out 
vec4 mesh_tex_coord;
 
   16glup_flat glup_out glup_id primitive_id;
 
   18#if GLUP_PRIMITIVE_DIMENSION==2 
   19glup_in 
vec4 normal_in;
 
   25    if(glupIsEnabled(GLUP_CLIPPING)) {
 
   27            vertex_in, GLUP_VS.world_clip_plane
 
   31    if(glupIsEnabled(GLUP_PICKING)) {
 
   37            int(vertex_id_in+0.5)/glup_primitive_nb_vertices
 
   40        primitive_id = int(vertex_id_in + 0.5)/glup_primitive_nb_vertices;
 
   44    if(glupIsEnabled(GLUP_LIGHTING)) {
 
   45        vertex_view_space = (GLUP_VS.modelview_matrix * vertex_in).xyz;
 
   46#if GLUP_PRIMITIVE_DIMENSION==2 
   47        if(glupIsEnabled(GLUP_VERTEX_NORMALS)) {
 
   48            normal = GLUP_VS.normal_matrix*normal_in.xyz;
 
   53    if(glupIsEnabled(GLUP_VERTEX_COLORS)) {
 
   57    if(glupIsEnabled(GLUP_TEXTURING)) {
 
   58        if(glupIsEnabled(GLUP_INDIRECT_TEXTURING)) {
 
   59            tex_coord = tex_coord_in;
 
   61            tex_coord = GLUP_VS.texture_matrix * tex_coord_in;
 
   65    if(glupIsEnabled(GLUP_DRAW_MESH)) {
 
   66        mesh_tex_coord = get_mesh_tex_coord(
int(vertex_id_in + 0.5));
 
   69    gl_Position = GLUP_VS.modelviewprojection_matrix * vertex_in;
 
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.