Desktop-Simulator

OpenGL project which consists of 3D Environment, to demonstrate assembly and disassembly of desktop parts

View the Project on GitHub AdarshRevankar/Desktop-Simulator

Desktop Simulator

Inline docs Build Status HitCount

OpenGL project which consists of 3D environment, to demonstrate assembly and disassembly of desktop parts. This uses basic glut library to construct a 3D Scene of CPU and it’s components.

Desktop-Simulator-Logo

see Code of Conduct


Demonstration - Youtube


---
## Snapshot

Instance | Image
--- | ---
Initial View | <img src="https://user-images.githubusercontent.com/48080453/60199807-5a41f600-9862-11e9-849c-9f65a8638e0d.png" alt="initial view of system" style="max-height: 80px;"/>
CPU View | <img src="https://user-images.githubusercontent.com/48080453/60199855-73e33d80-9862-11e9-9d0f-3606fbb0bbb8.png" alt="cpu view" style="max-height: 80px;"/>
Desktop View | <img src="https://user-images.githubusercontent.com/48080453/60199856-73e33d80-9862-11e9-850e-467f089f63cc.png" alt="desktop" style="max-height: 80px;"/>

---

## Setup Project

 ### Windows
  1. Setup the project with required OpenGL headerfiles in your IDE (refer this - [Visual Studio](https://www.youtube.com/watch?v=k9LDF016_1A) or [CodeBlocks](https://www.youtube.com/watch?time_continue=79&v=Le4ub4apbn0)).
  2. Copy all required __header files & data files__ the project.
  3. Run the project. `main.cpp`
  
 > **Note**: BMP Image Error - `parameter.h` change _BMP images_ path to either **Relative** to project *( Currently )* or **Absolute**  *( if error occurs )*

 ### MacOS
 Instructions to run on MacOS
 
 Install **brew**

/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”

 
 Install necesarry linking libraries

brew install freeglut glfw3 glew lstdc++

 
 Compile project into binary

clang -o main main.cpp -L/usr/local/lib -lglfw -lstdc++ -framework OpenGL -framework GLUT -framework Cocoa

 
 Run the binary

./main ```

Note: GLUT is getting deprecated on MacOS 10.9 above, so some functionalities might not work. Need to fix these deprecations soon


Controls


Requirements


References

  1. Basic 3D World Setup - lighthouse3d.com.
  2. Basic OpenGL function’s introduction - khronos.org.
  3. Texture Mapping - youtube.com.
  4. Textbook for understanding structure of OpenGL - Computer Graphics With OpenGL - Donald Hearn & Pauline Baker.

Project Report

Project Report with detailed structure of project.


Questions

Mail / Facebook messages can be done