Computer Graphics, Lab Assignment 8

35.00 $

Category:
Click Category Button to View Your Next Assignment | Homework

You'll get a download link with a: zip solution files instantly, after Payment

Securely Powered by: Secure Checkout

Description

Rate this product

Computer Graphics, Lab Assignment 8

+ LabAssignment2/

+ 1/

  • py

+ 2/

  • py

+ 3/

  • py

 

  • The submission time is determined not when the commit is made but when the git push is made.

 

  1. Write a program that draws a color-changing cube.
    1. Set the window title to your student ID and the window size to (480,480).
    2. 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)

 

  1. 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
  1. Files to submit: A Python source file (Name the file whatever you want (in English). Extension should be .py)

 

  1. Write a program that draws a smooth-shaded cube.
    1. Set the window title to your student ID and the window size to (480,480).
    2. Start from the code in 8-Lighting&Shading slides. Make sure camera manipulation shortcuts ‘1’, ‘3’, ‘2’, ‘w’ work.
    3. Use glDrawElements(), not glDrawArray(). Refer the code in 7-Hierarchy&Mesh slides.
    4. Hint: In Gouraud shading, one vertex has only one normal. This makes using glDrawElements() easier.
    5. Use the following normal vector data:

 

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

 

  • LabAssignment8-h3irm8.zip