I am studingwriting an OpenGL because I want to create a 3d3D game. Of course there There will be tons of triangles for terrain and objects in use.
I am studying from the OpenGL official guide and the first presented method is to call a function glVertexglVertex after the glBeginglBegin for each vertex you want to draw.
However this method sounds quite antique and inefficient when you have to draw thousands of triangles. I guess there are methods to store in the graphic card memory the information that does not change at every frame so that when you render each frame that information is already there. While for more "unstable" information probably you have to send new vertex data every frame and so a different tecnique might be more efficient.
Coming to my question: I would like a clear explanation of the most modern and efficient OpenGL functions and tecniques used to send vertex information to the hardware and to give instruction to render.
What are the best ways and OpenGL tools to send the order to render vertex data that seldom changes during the frames (i think of terrain and objects) and what it the best way to send vertex data that changes a lot during frames?
Thank you very much. Marco