This repository contains the development and implementation of assignments for the CC3501 - Computer Graphics course at the Faculty of Physical and Mathematical Sciences, University of Chile, under the guidance of Professor Ivan Sipiran. The course focuses on foundational concepts in computer graphics, including 3D modeling, rendering, lighting, camera systems, and physics simulations, with a particular emphasis on space navigation and the solar system.
-
T1: 2D Solar System
- Implemented a basic 2D solar system simulation, with planets around the sun. This task introduces basic OpenGL concepts to emulate objects.
-
T2: Cameras and Object Movements
- Enhanced the solar system simulation by adding rotation, translation, and camera systems to navigate around the scene, allowing users to observe the solar system from different perspectives. This assignment introduces camera control and object animation.
-
T3: Multiple Cameras, Textures, and Scene Graphs
- Implemented multiple camera views and incorporate textures onto planets and other objects. Additionally, a scene graph is used to manage the hierarchy of objects and their relationships in the simulation.
-
T4: Shaders (Color, Flat, Phong, Toon, Textured) and Lights
- Introduced various types of shaders (color, flat, Phong, toon, and textured) to simulate different visual effects and lighting conditions. This assignment also covers light sources and how they interact with objects in the scene.
-
T5: Collisions and Physics
- Added a physics engine to simulate object collisions and interactions in the space environment. This assignment delves into collision detection, rigid body dynamics, and more advanced physics-based simulations.
To replicate this project and run the assignments locally, follow these steps:
- Clone the repository
git clone https://github.com/patricioespinozaa/CC3501-Computer-Graphics-Space-Navigation-The-Solar-System-and-Its-Dynamics.git
- Install libraries Follow the installation instructions from the setup guide