This repository contains academic resources, lab work, and materials for the Computer Graphics (CSE423) course.
Computer Graphics is a comprehensive course covering the fundamental concepts and practical implementations of graphics programming, including:
- Introduction: Overview of graphics systems, applications, and display technologies
- Line Drawing: DDA and Mid Point line drawing algorithms
- Clipping: Cohen-Sutherland and Cyrus beck clipping algorithms
- Transformation: 2D and 3D transformations (translation, rotation, scaling, etc)
- Projection: Parallel and perspective projections, viewing transformations
- Color Model: RGB, CMY, HSV color spaces
- Lighting Model: Ambient, diffuse, and specular lighting, Phong reflection model
- Curves: Continuity, Bezier curves, and parametric representations
CSE423/
├── Assignment/ # Course assignments
├── Lab/ # Lab assignments and exercises
├── Notes & Practice Sheet Solve/ # Course notes and practice materials
├── Previous Question/ # Previous exam questions and solutions
└── README.md # This file
This repository contains Computer Graphics lab assignments implemented in Python using PyOpenGL and GLUT.
Focus: Basic OpenGL primitives (GL_POINTS, GL_LINES, GL_TRIANGLES), interaction, and animation.
- Task 1 (House in Rainfall): A 2D scene featuring animated rain with wind direction control (arrow keys) and a day/night background transition.
- Task 2 (The Amazing Box): An interactive simulation of bouncing points featuring mouse-click spawning, speed adjustments, and blink effects.
Focus: Scan conversion algorithms and 8-way symmetry.
- Project (Catch the Diamonds): A falling-object game rendered entirely using the Midpoint Line Drawing Algorithm (generating lines using only
GL_POINTS).
- Features: Custom implementation of lines for all 8 zones, AABB collision detection, and interactive UI buttons (Pause, Resume, Restart).
Focus: 3D Coordinate systems, Geometric Transformations, and Camera Control.
- Project (Bullet Frenzy): A 3D shooter game utilizing
gluPerspectiveandgluLookAtfor scene rendering.
- Features:
- 3D Modeling: Hierarchical character models (Player, Enemies) built using cylinders and spheres.
- Camera: Toggleable First-Person and Third-Person perspective modes.
- Mechanics: Enemy pursuit AI, 3D collision detection, and an auto-aim "Cheat Mode".
The project demonstrates advanced graphics concepts including:
- 3D object rendering
- Camera controls and perspective
- Collision detection
- Particle systems
- Game physics
- OpenGL - Graphics rendering
- Python - Programming language
This repository is for academic purposes only.
Abdullah Al Fahad



