[SOLVED] Computer Graphics-Lab Assignment 8

35.99 $

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

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)

 

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.