• PA6 Ray Casting is due on Nov 25, 11:59pm
  • Code: cs451-PA6.7z Δ
  • Solution: cs451-PA6-solution.7z Δ
  • This assignment will help you deepen the understanding of the following topics
    • Ray generation
    • Ray-triangle Intersection
    • Basic Lighting (Diffusion, Specular, Ambient, directional light, point light, spot light, etc)
  • What to submit
    • Your code (with everything)
    • You RT file (name it cs451_pa6.rt)
    • Rendered images. Make sure that you name your images as follows
      • 3 images with 1, 10, 100, 1000 rays per pixel
        • name these images cs451_pa6_0001.jpg, cs451_pa6_0010.jpg, cs451_pa6_0100.jpg, cs451_pa6_1000.jpg
    • README.txt file in cs451-PA6 folder with the following information
      • The OS and compiler that you compile your code
      • How to build your program
      • Tasks that you completed
      • Tasks that you started but did not complete
      • Tasks that you did not start
      • What are the known bugs in your code?
  • How to submit
    • email me (jmlien@cs.gmu.edu) and your TA (ple13@masonlive.gmu.edu) a link to all source code, images and README.txt in a file named cs451_pa6_[your last name].zip
    • Please do not send us the file directly

Tasks

  • Task 1 (20%): Generate rays
  • Task 2 (20%): Compute Intersection between ray and the triangles
  • Task 3 (20%): Determine the normal direction of the intersection point using Barycentric coordinates.
  • Task 4 (15%): Determine the color of the ray via diffuse, specular and ambient lights
  • Task 5 (20%): Cast shadow rays and determine if the point is inside a shadow
  • Task 6 (5%): Create your own *.RT file.

Examples:

  • with 1 ray per pixel
  • with 30 rays per pixel