On the project page, the videos do not have audio. However, the mouse actions were captured in all the videos. I suggest that you view each video in full screen mode carefully. Please pay attention to the mouse icon shown inside the window. - When the circle next to the mouse icon turns into red, it indicates that the left mouse button is held down. - When the circle becomes green, it indicates that the middle mouse button is held down. When the wheel of the middle mouse button is rolled, you should see an arrow and its direction. - The right mouse button is reserved for invoking the menu. In the first video, (1) dragging the left mouse button horizontally across the window rotates the camera about an axis vertical to the ground plane. In the video, it looks like the ground plane and the object rotate the other way. This is because the scene is rendered with respect to the camera's view point. (2) Dragging the left mouse button button vertically up (or down) zooms into (or out of) the scene. (3) Dragging the middle mouse button horizontally is the same as dragging the left button horizontally. (4) Dragging the middle mouse button vertically up (or down) across the window changes the elevation angle of the camera looking at the ground plane. Correspondingly, this tilts the entire scene up or down. If the middle button of your mouse has a scroll wheel, you can program your code so that rolling the wheel would move the camera closer (zoom in) or further away (zoom out of) the scene. You can imagine that dragging the left or middle mouse button allows the user to move the camera on the surface of a dome or a sphere (i.e., changing its azimuth and elevation angles) while the camera's fixation point remains unchanged (pointing at the centre of the dome), while zooming in/out corresponds to moving the camera forward/backward radially (so the radius of the dome decreases/increases). To simplify the geometry, you can put the origin of the global coordinate system at the centre of the dome. By default, when an object is brought into the scene, you may assume that it would be placed at the origin somewhere on the ground plane. In the 2nd and 3rd videos, we only show you examples for changing the object's rotation and texture scale (for the menu item "Rotation/Texture Scale"). For the menu item "Position/Scale", your scene editor should allow the user to move the object across the ground plane, upward (so the object is in mid air above the ground plane), and downward (so the object can become part-way below the ground plane) as well as scale the object up or down (so the object becomes bigger or smaller). Using the right mouse button, the user should be able to bring up the menu and then select any menu item. Depending on what menu item is selected, the subsequent mouse action should be interpreted appropriately. For instance, "Rotate/Move Camera" is the first (and therefore the default) menu item, so all the mouse events affect the camera; if the "Position/Scale" menu item is selected, then subsequent mouse events should affect the object instead. When a new object is brought into the scene, by default, it should become the current object. So all subsequent mouse events should affect this new current object. You can program your scene editor (by inserting extra menu items, for instance) so that an older object in the scene can be selected to become the current object.