c++ - Trying to understand OpenGL shaders for input vertices -
this question has answer here:
here code begin with, vertex shader
"#version 400\n" "layout(location = 0) in vec2 vp;" "layout(location = 1) in vec2 tex;" "out vec2 texcoord;" "void main () {" " gl_position = vec4 (vp, 0.0f, 1.0f);" " texcoord = tex; " "}";
quiet common , basic
so trying understand, vertex shader run every vertex attribute separately ? or runs 1 attribute individually?
as far have understood if give input vertices triangle
x y u v {-0.5,-0.5, 0.0, 0.0 0.5, -0.5 , 1.0, 0.0 0.0 0.0 , 0.5, 1.0 };
does mean vertex shader run both of vertex attributes , produce each individual fragment within area of both triangles (sample) result in xy coordinates both of defined triangles each attribute?
or vertex shader run gl_position produce xy coordinates area in first attribute i.e vp?
the entire shader program runs once per vertex. in case, runs 3 times. doesn't work per-attribute.
Comments
Post a Comment