Computer Graphics

Project Overview

This series of computer graphics projects explores fundamental concepts in 3D rendering and visualization. Offline 1 focuses on camera control, enabling users to navigate a 3D space, manipulate a rolling ball, and interact with a magic cube. Offline 2 delves into rasterization, rendering 3D objects onto a 2D plane by transforming, projecting, and coloring pixels. Offline 3 introduces ray tracing, simulating realistic light behavior by tracing rays to create shadows, reflections, and refractions for highly detailed scenes.

Features

Offline 1: Camera Control and Interactions

  • Camera Control: Navigate and manipulate the camera in a 3D environment to explore the scene.
  • Rolling Ball: Interact with a rolling ball, demonstrating movement and collision in 3D space.
  • Magic Cube: Manipulate a 3D magic cube to understand object transformations and rotations.

Offline 2: Rasterization

  • 3D to 2D Projection: Transform and project 3D objects onto a 2D plane using rasterization techniques.
  • Pixel Rendering: Render objects by coloring pixels based on vertex and fragment data.
  • Object Lighting: Apply basic lighting and shading models to enhance visual realism.

Offline 3: Ray Tracing

  • Realistic Light Simulation: Trace rays to simulate realistic lighting effects like shadows and reflections.
  • Scene Rendering: Render complex scenes with refractions and accurate light interactions.
  • Advanced Effects: Achieve high detail with techniques like anti-aliasing and global illumination.

Technologies Used

  • C++