a3-model-160050060_160050019 created by GitHub Classroom
160050019 - Aman Jain 160050060 - Shubham Anand
Key Controls----
Escape - For closing the window
To select the root of the models for moving them about their centroid ----
F3 - Humanoid
F4 - Dog
F0 - Box
For selecting the joint as the current node---
--------HUMANOID----------
H = torso2
F7 = neck
Y = shoulderr
U = shoulderl
T = elbowr
I = elbowl
R = handr
O = handl
B = hipr
N = hipl
V = kneer
M = kneel
C = footr
COMMA = footl
----------DOG--------------
LEFT_BRACKET = dogneck;
RIGHT_BRACKET = dogtail;
J = dogarm1;
K = dogarm2;
L = dogarm3;
SEMICOLON = dogarm4;
APOSTROPHE = dogtail;
---------BOX---------------
0 = box (basically lowerbox(root));
1 = openbox();
2 = closebox();
For rotating the selected joint as the current node---
LEFT = decrease angle of rotation along y-axis by 5 degrees
RIGHT = increase angle of rotation along y-axis by 5 degrees
UP = decrease angle of rotation along x-axis by 5 degrees
DOWN = increase angle of rotation along x-axis by 5 degrees
PAGE_UP = decrease angle of rotation along z-axis by 5 degrees
PAGE_DOWN = increase angle of rotation along z-axis by 5 degrees
For toggling between opening and closing umbrella ---- 5 - toggle
For Perspective vision-------
P = toggle between enabling & disabling perspective;
For rotating the world------- (kept granularity of rotation = 5 degrees for easablity)
A = y axis rotates by -5.0 degrees
D = y axis rotates by +5.0 degrees
W = x axis rotates by -5.0 degrees
S = x axis rotates by +5.0 degrees
Q = z axis rotates by -5.0 degrees
E = z axis rotates by +5.0 degrees
----------CAMERA CONTROLS-----------
LEFT SHIFT = Zoom Out
RIGHT SHIFT = Zoom In
KEYPAD 1 = Move Camera along positive X axis
KEYPAD 3 = Move Camera along negative X axis
KEYPAD 4 = Move Camera along positive Y axis
KEYPAD 6 = Move Camera along negative Y axis
KEYPAD 7 = Move Camera along positive Z axis
KEYPAD 9 = Move Camera along negative Z axis
Note : Camera Motion controls are on keypad numbers (Not the number buttons placed below function buttons)
We have done following tasks :
Created Room and added table, door, window, lamp, a light
Added extra furnitures - wardrobe, photoframe, stool, chair
Placed the music box on table and other furnitures appropriately
Textured all the furnitures
Added Controls to move Camera
The lookat vector is set at the box at the table in the center so that all the view in the room can be seen via translation of camera.
We have done lighting also but we have not added the switch yet.
We have partially completed the function to output keyframes, interpolate between two frames and make multiple frames out of it, apply the frames.
We have also done saving the current frame to jpg file via saveFrame().
But since one of the piece was missing due to which we did not give this funtionality and hence commented it out.
References :
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-5-a-textured-cube/
https://learnopengl.com/Lighting/Basic-Lighting
https://goo.gl/yXg2Yy
http://www.lighthouse3d.com/tutorials/glut-tutorial/keyboard-example-moving-around-the-world/