When it comes to graphics (what I have learned) is that what you see on the screen is data placed in a memory (video buffer) and then the data or pixel is then plotted onto the screen. So when you manipulate the data in the video buffer you will also manipulate the pixels on the screen. Then it crosses my mind that when you want to plot 3D images on the screen, you can see the video buffer as a 2D plane which you can project 3D object onto. I guess this is how it's done, but I wonder which of these two is the most common or the best way to implement this method when you want to turn and rotate an object in space? 1) Having the 3D object fixed in space and rotate the surface which will become the video buffer. 2) Having the surface (video buffer) fixed and rotate the object. What im guessing is if you use method 1) you don't need to transform as many vectors but then you cannot use more than one object which you can in method 2).