🎨 A 3D interactive simulation of computer hardware using OpenGL & GLUT
| Feature | Description |
|---|---|
| 🎯 Purpose | Interactive visualization of desktop components through 3D graphics |
| 🧠 Learning Goals | Understand internal PC structure and behavior via simulation |
| 🧰 Tech Stack | C++, OpenGL, GLUT, FreeGLUT |
| 🎮 User Interaction | Controlled via keyboard and mouse |
| Software Requirements | Hardware Requirements |
|---|---|
| • Windows 10 / Linux (Ubuntu 20.04+) • Visual Studio or g++ compiler • OpenGL & FreeGLUT Libraries |
• Intel/AMD Processor (1.5GHz+) • 2GB RAM or higher • 500MB Disk Space • 1920×1080 resolution display |
| Module | Functionality |
|---|---|
| 🧩 Object Module | Renders desktop hardware parts like CPU, GPU, RAM, PSU, etc. |
| 🖱️ Input Handler | Manages mouse and keyboard inputs |
| 🔄 Transformation Engine | Handles object movement, rotation, and scaling |
| 🖼️ Display Renderer | Draws and updates scenes dynamically |
| 📝 Annotation System | Adds contextual labels and info in the simulation |
📌 Main File to Run:
main.cpp
| Step | Instructions |
|---|---|
| 1️⃣ | Install OpenGL and FreeGLUT libraries |
| 2️⃣ | Clone this repository |
| 3️⃣ |
Compile the project: Linux: g++ main.cpp -lGL -lGLU -lglut -o desktop_simulation./desktop_simulationWindows: Create new project → Add files → Link `opengl32.lib`, `glut32.lib` |
| 4️⃣ | Run the compiled binary or hit ▶ Run in IDE |
| 5️⃣ |
Controls: • Enter – Start simulation• Esc – Exit simulation• Arrow keys / Mouse – Navigate & explore |
| Scene | Preview |
|---|---|
| 🌐 Intro Screen | ![]() |
| 🧰 Full Desktop View | ![]() |
| 🔍 Disassembled View | ![]() |
| 🧠 CPU Zoom | ![]() |
| 🔧 GPU Close-up | ![]() |
| 🖼️ Textured Motherboard | ![]() |
| ❄️ Cooling System Animation | ![]() |
| 📑 Download Link | 🔗 QR Code |
|---|---|
| Click to Download | ![]() |
| Feature | Description |
|---|---|
| 🎛️ Component Selector | Choose between different types of hardware parts |
| 🧪 Performance Benchmarks | Measure the performance of simulated builds |
| 🕹️ Drag-and-Drop Interaction | Visually assemble parts through mouse controls |
| 🤖 Guided Learning Mode | Show tips and info bubbles on each part |
| Name | Contact |
|---|---|
| Sunil R | sunilr31r@gmail.com |
| Varsha V | varshaa112003@gmail.com |
| Resource | Link |
|---|---|
| OpenGL Docs | khronos.org |
| Bitmap Textures | Henry's Blog |
| OpenGL Sphere Code | songho.ca |
| Fan Animation Code | vharesh4 |
💡 Design. Simulate. Understand.
🌟 If you liked this project, star it and share it!








