11#if GLUP_PRIMITIVE_DIMENSION==2
16#ifdef GLUP_NO_GEOMETRY_SHADER
17 vec4 vertex_clip_space;
21#if GLUP_PRIMITIVE_DIMENSION==2
23# ifdef GLUP_NO_GEOMETRY_SHADER
31 if(glupIsEnabled(GLUP_VERTEX_COLORS)) {
32 VertexOut.color = color_in;
34 if(glupIsEnabled(GLUP_TEXTURING)) {
35 if(glupIsEnabled(GLUP_INDIRECT_TEXTURING)) {
36 VertexOut.tex_coord = tex_coord_in;
39 GLUP.texture_matrix * tex_coord_in;
43#ifndef GLUP_NO_GL_CLIPPING
44 if(glupIsEnabled(GLUP_CLIPPING)) {
45 gl_ClipDistance[0] =
dot(
46 vertex_in, GLUP.world_clip_plane
49 gl_ClipDistance[0] = 0.0;
53#if GLUP_PRIMITIVE_DIMENSION==2
55 glupIsEnabled(GLUP_LIGHTING) &&
56 glupIsEnabled(GLUP_VERTEX_NORMALS)
58 VertexOut.normal = GLUP.normal_matrix * normal_in.xyz;
62 gl_Position = GLUP.modelviewprojection_matrix * vertex_in;
64#if GLUP_PRIMITIVE_DIMENSION==2
65# ifdef GLUP_NO_GEOMETRY_SHADER
66 VertexOut.vertex_clip_space = gl_Position;
67 if(glupIsEnabled(GLUP_DRAW_MESH)) {
70 int lv = gl_VertexID % glup_primitive_nb_vertices;
71 VertexOut.mesh_tex_coord =
vec4(
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.