A collection of Computer Graphics lab assignments and projects built with C++ and OpenGL, completed as part of the Computer Science curriculum at the Islamic University of Gaza (IUG). These programs demonstrate fundamental graphics programming concepts including 2D/3D rendering, geometric transformations, and interactive graphics.
| File | Description |
|---|---|
DrawCircle.txt |
Draw a circle using OpenGL primitives |
Filling.txt |
Shape filling algorithms |
Flurry.txt |
Flurry/particle animation effect |
Game.txt |
Simple interactive game with OpenGL |
House_Tree_Sun.txt |
2D scene rendering (house, tree, sun) |
Mouse Click #6.txt |
Mouse event handling and interaction |
Rectangles Color.txt |
Colored rectangle rendering |
Tic_Tac_Toe.txt |
Interactive Tic-Tac-Toe game |
case2-Clipping.txt |
Line/shape clipping algorithms |
parameterizedHouse.txt |
Parameterized/scalable house rendering |
street loop.txt |
Animated street scene |
Case Study 2-6-6.txt |
Case study exercises |
| Technology | Usage |
|---|---|
| C++ | Programming language |
| OpenGL | Graphics API |
| GLUT / freeglut | Windowing and input |
- 2D primitive rendering — points, lines, circles, polygons
-
- Geometric transformations — translation, rotation, scaling
-
- Scene composition — building complex images from primitives
-
- Mouse and keyboard interaction — event-driven OpenGL programming
-
- Animation loops — idle function callbacks for movement
-
- Clipping algorithms — Cohen-Sutherland and related techniques
-
- Color manipulation — RGBA color models
-
-
Game logic — Tic-Tac-Toe state management with OpenGL rendering
-
Each file contains C++ source code for an OpenGL program. To compile and run:
-
# Install OpenGL and GLUT (Linux) sudo apt-get install freeglut3-dev # Compile (example) g++ -o output DrawCircle.cpp -lGL -lGLU -lglut ./output
On Windows, use Code::Blocks or Visual Studio with the appropriate OpenGL/GLUT libraries.
These projects were completed as part of the Computer Graphics course at the Islamic University of Gaza (IUG), covering both theoretical foundations and hands-on OpenGL programming.
Moath A. Mushtaha
- GitHub: @moathmushtaha
-
-
University: Islamic University of Gaza (IUG)
-
MIT
-
-