Course Title: Computer Graphics
Language: C++
Course Overview: This course introduces the principles and practices of computer graphics, with a strong emphasis on OpenGL using C++. Students will learn the foundational concepts required to create both 2D and 3D graphics applications. Topics covered include graphics programming, rendering techniques, geometric modeling, transformations, lighting, texture mapping, and animation. The course combines theoretical concepts with practical implementation, providing hands-on experience through multiple projects.
Major Projects:
-
2D Shape Renderer:
- Develop a program to draw and manipulate 2D shapes (circles, rectangles, polygons).
- Implement basic transformations: translation, rotation, and scaling.
-
3D Object Viewer:
- Create a viewer for 3D objects.
- Implement functionalities to rotate, zoom, and pan the object.
-
Lighting and Shading:
- Implement different lighting models (ambient, diffuse, specular).
- Apply shading techniques such as Gouraud and Phong shading.
-
Texture Mapping:
- Map 2D textures onto 3D surfaces.
- Handle texture coordinates and blending.
-
Simple Animation:
- Develop basic animations using keyframe techniques.
- Implement smooth transitions and interpolations between frames.
Capstone Project:
- Interactive Virtual Environment:
- Design and build an interactive 3D virtual environment.
- Integrate all learned techniques: rendering, transformations, lighting, shading, texture mapping, and animation.
- Create a user interface for interaction and navigation within the environment.
By the end of the course, students will have a robust understanding of computer graphics principles and practical experience in building sophisticated graphics applications using C++ and OpenGL.
I'm a full stack developer...