# Computer Graphics
## progression
- draw 2d point , 2d position and color .
- draw scan-line of triangle , given its 2d screen space vertex positions , 3 vertices for 1 triangle .
- draw quad of 2 adjacent triangles , 2 shared vertices for each of these 2 composing triangles .
- rotate vertices , center position and axis and plane and normal vector of rotation ( 2d or 3d rotation ) .
- transformation matrices for 2d or 3d rotation , after naive implementation before .
- barycentric coordinates for color blending , shading and later uv 2d coordinates for texture mapping .
- simple initial shading , flat shading and directional light-source .
- mesh loading of a cube and initial rendering of it , from a file maybe in obj format .
- improved rendering of a cube by Hidden Surface Removal Algorithms ( first Back-face Culling , removed the roof of the cube to inspect and check , then Z-buffer that catches more general cases of geometries ) .
- transform and lighting : rotating and lighting and rasterization of a rotating and lit cube mesh object .
- smooth shading interpolation , maybe Gouraud shading , applied to curved surfaces from triangulated mesh loading from external file .
- bitmap file loading and texture mapping applied to a triangulated mesh with uv coordinates in each triangle vertex for positioning the image stretched across the 3d triangle surface componing the mesh object .
- loading an ambient mesh object and apply partitioning for culling such as occlusion culling and faster calculations by means of partitioning for intersections then maybe collision .
- move and rotate the virtual scene camera by input devices such as mouse and keyboard and gamepad or just by touching a touch-sensitive screen display .
## links
-
-