The CPU sends the meshes (set of vertices) and textures (non-uniform colors that go in the area between vertices) to the GPU when the software is loaded. Those are saved in the GPU memory. They can be updated from time to time, but they are changed as rarely as possible.
For each frame, the CPU sends commands to show those meshes by sending their position, axis, and scale, and those textures by sending in between which vertices it should appear. The GPU gets all those objects from memory, put them in the good position, axis, and scale in RGB arrays, and combines them. Combining them includes having only the ones in the front if they are opaque, and doing some addition if they have some transparency. The GPUs can also compute the effects of lights, in particular using ray tracing, to determine the brightness of each pixel.
Here is some extra information: https://computergraphics.stackexchange.com/questions/12110/what-data-is-passed-from-the-cpu-to-the-gpu-each-frame
Latest Answers