Skip to content

moathmushtaha/Computer-Graphics-opengl

Repository files navigation

Computer Graphics - OpenGL

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.

🚀 Projects Included

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

🛠 Tech Stack

Technology Usage
C++ Programming language
OpenGL Graphics API
GLUT / freeglut Windowing and input

💡 Concepts Demonstrated

  • 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

                • ▶️ Running the Projects

                • 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.

                  🎓 Academic Context

                  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.

                  👤 Author

                  Moath A. Mushtaha

                  • GitHub: @moathmushtaha
                    • University: Islamic University of Gaza (IUG)

                    • 📄 License

                    • MIT

About

Computer Graphics - Lab / c++ , opengl / IUG

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors