VIZA 654 / CSCE 646 : Digital Image
Fall 2020

Project 11: 2D Diffuse Shader First Review: Nov. 23
Submissions Due: Nov. 30
 

Problem Description:

You will implement a local illumination shader and turn one of your previous works into video processing. We will show the final video in semester end-show, therefore the idea must be something that can get aesthetic video results.

  1. Video Processing: Turn one of your previous works into video processing. Your program must be able to take an few input videos, that can be given a set of images. From these videos, it will create a final video to be shown semester end show.
  2. Diffuse (Lambertian) Illumination Shader: You will read a normal map image and illuminate it with a light source. You will only use basic shading with diffuse reflections. Shader will be described by two color texture images instead of single color: diffuse and ambient. You will make an animation by moving the light source direction or position.
  3. Specular Highlight Shader: You will add specular highlights to your diffuse shader. Shader will be described by three color texture images instead of single color: diffuse, ambient and specular. You will make an animation by moving the light source direction or position.

For the required parts of the project, implement your operations only using the basic programming operations such as while or for loops and basic mathematical operations such as addition, subtraction, multiplication, division and power. In other words, no high level operation provided by some programming languages is allowed.


Project Submission:

Please write the program in either Processing or Java or C or C++. For C and C++ use OpenGL and GLUTgraphics routines for the display. Upload your program and all essential files to webassign as a "as small as possible" zip directory. In your program, include comments about the program and your name. Also make sure to provide information that and instructions on how to run it.


Video Submission Guidelines:

  • Each student should submit their final video to the google drive file found at this link.
  • The submission should be a zip file containing an image sequence (jpg, png or tiff, NOT ppm).
  • Frames should be numbered in sequence.
  • The zip file should be named: lastname_finalvideo
  • The video should be at 24 fps.
  • The lenght should be at least 3 seconds, approximately 100 frames.
  • The video will be displayed at 1920x1080, so that is the preferred image size, although 1280x720 will also work, if necessary.
  • If submitting multiple animations, the images for each animation should be in seperate sub-folders.
  • The video deadline could be earlier than the usual code submission deadline of 11:00pm on Monday, as the class video will need to be prepared from submissions and submitted to the department.