I have to draw a wheel that would be rotating and advancing through the x axis . The wheel is made up of a simple circle and 4 diameter lines. Now in each iteration the lines translated and rotated by a small degree , and the circle and center should be only translated along xaxis.
What would be the best way to achieve this in opengl? I have 2 methods in mind

create an initial array of vertices and line coordinates and then create two shaders for circle and the lines. And then in each iteration calculate the rotation and translation matrix and pass to the vertex shader this matrix and the initial vertices through uniform at each iteration.

calculate the transformation matrix once , and then in each iteration update the vertex array with the new coordinates ( I don’t know how to return data from.vertex shader though) .
So which would be most efficient way of doing this animation and if it is 2 please explain how I can achieve this as I don’t know how to get the vertex shader output of one iteration to use in the next iteration .