What should I expect the value of gl_in[3] to be if the drawing array only has three vertices to draw? Is there a default value chosen by OpenGL?
gl_in
is sized by the layout
declaration which declares the input primitive type. So if the input primitive type is triangles
, gl_in
will only have three elements and accessing gl_in[3]
is invalid. If a geometry shader is active but the input primitive type doesn’t match the primitives which are actually generated, the drawing command will generate a GL_INVALID_OPERATION
error.