[SOLVED] Computer Graphics-Lab Assignment 8

35.99 $

Category:

Description

Rate this product
  • Only accept answers submitted via git push to this course project for you at https://hconnect.hanyang.ac.kr (<Year>_<Course no.>_<Class code>/<Year>_<Course no.>_<Student ID>.git).
  • Place your files under the directory structure <Assignment name>/<Problem no.>/<your file> just like the following example.

+ 2020_ITE0000_2019000001

+ 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)