[SOLVED] Computer Graphics-Lab Assignment 7 

30.00 $

Programming resource
Digital learning resource
Category:
✓ Practical programming resource
✓ Suitable for guided study and reference
✓ Tutor guidance available when needed

Description

5/5 - (2 votes)

1.     Write a program that draws a color-changing cube.

A.     Set the window title to your student ID and the window size to (480,480).

B.     Start from the code in 7-Lighting&Shading slides. Draw a flat-shaded cube. Make sure camera manipulation shortcuts ‘1’, ‘3’, ‘2’, ‘w’ work. C. Use the following light setting:

lightPos = (3.,4.,5.,1.)

glLightfv(GL_LIGHT0, GL_POSITION, lightPos)

ambientLightColor = (.1,.1,.1,1.)     glLightfv(GL_LIGHT0, GL_AMBIENT, ambientLightColor)

specularObjectColor = (1.,1.,1.,1.)     glMaterialfv(GL_FRONT, GL_SPECULAR, specularObjectColor)

glMaterialfv(GL_FRONT, GL_SHININESS, 10)

D.     If you press or repeat a key, the diffuse & specular color of the light and the ambient & diffuse color of the object should be changed as shown in the Table:

Key
Action
A
Change the light color to red
S
Change the light color to green
D
Change the light color to blue
F
Change the light color to white
Z
Change the object color to red
X
Change the object color to green
C
Change the object color to blue
V
Change the object color to white
E.      Files to submit: A Python source file (Name the file whatever you want (in English). Extension should be .py)

2.     Write a program that draws a smooth-shaded cube.

A.     Set the window title to your student ID and the window size to (480,480).

B.     Start from the code in 7-Lighting&Shading slides. Make sure camera manipulation shortcuts ‘1’, ‘3’, ‘2’, ‘w’ work.

C.     Use glDrawElements(), not glDrawArray(). Refer the code in 6-Viewing&projection2, Mesh slides.

i. Hint: In Gouraud shading, one vertex has only one normal. This makes using glDrawElements() easier.

D.     Use the following normal vector data:

E.      If you press or repeat a key, the ambient & diffuse color of the object should be changed as shown in the Table:

Key
Action
R
On/Off the object color of red
G
On/Off the object color of green
B
On/Off the object color of blue
F.      Expected result: Uploaded LabAssignment7-2.mp4

G.     Files to submit: A Python source file (Name the file whatever you want (in English). Extension should be .py)

Resource details

Understand the Task Before You Use the Resource

Review the requirements, identify the programming concepts involved, study the implementation and test your understanding with your own examples and modifications.