Vertex shaders do not process pixels. They take model vertices and their attributes as input. The vertex shader outputs transformed vertices which are eventually arranged into primitives (e.g., triangles). These primitives are later rasterized downstream and the resulting fragments (pixels and attributes) are passed to the fragment shader.