Skip to content

rathoddinesh14/64-Bit-Graphical-World

Repository files navigation

Intro:

This code base was created as part of my undergraduate course 
Computer Graphics (CS475) - https://www.cse.iitb.ac.in/~paragc/teaching/2017/cs475/

Notes:

1. OpenGL is a large state machine
2. Macro view of working:
    (create context -> change options -> render the context)

Dependencies:

sudo apt install libglew2.1
sudo apt install mesa-utils
sudo apt install freeglut3-dev
sudo ln -f -s /usr/lib/x86_64-linux-gnu/libGLEW.so.2.1 /usr/lib/libGLEW.so.2.0
sudo apt install libglfw3-dev
sudo apt install libglew-dev

x, y, z direction are assumed same as opengl x, y, z direction convention
Keys binding:

space	-	toggle lights
left control	-	open sliding door
right control	-	close sliding door
left shift	-	open door
right shift	-	close door
right alt	-	toggle lamp lights
left alt	-	save screenshot
tab			-	saving key frame

l 	-	start camera animation
p   - 	draw control points for beizer curve
t	-	open the lid of music box
y	-	close the lid of music box
w	-	camera forward movement
a	-	camera left movement
s	-	camera backward	movement
d	-	camera right movement
z	-	camera moving upwards
x	-	camera moving downwards
q	-	camera rotating clockwise to right
e	-	camera rotating anti-clockwise to left

j	-	open keyframe file for writing
k 	-	save keyframe
esc	-	close the program

Video preview : https://youtu.be/rVoDl_9Dk74

Reference:

1. LearnOpenGl.com