Goal: To construct a controllable camera with simple shading.
Synopsis: This project is intended for you to create a camera you can easily control and to get familiar with the
fundamental concepts behind ray casting.
Project Requirement:: Your grade for this project will be computed
based on completed tasks (each task has the same weight):
- Inclusion of objects into your ray caster rendered with constant color (2 tasks and 1 bonus)
- Spheres
- Planes
- Bonus: Quadrics
- Controlling your camera parameters (2 tasks)
- Demonstration of changing view direction and rotating the camera along its axis.
- Demonstration of changing field of view.
- Shading objects (you should have more than one type of objects such as spheres and planes) with different shaders (3 tasks and two bonus)
- Diffuse shading (dark and bright diffuse colors will come from desired style)
- Sharp and soft Specular highlights (specular colors will come from desired style)
- Control illumination using directional, point spot lights
- Bonus: Rectangular (or other shaped) Specular highlights.
- Bonus: Outlines (outline/border colors will come from desired style)
There are total of 7 tasks and three bonuses. One can get up to %100 from the required tasks and %10 from each bonus.
If a task is completed after the target date, you will get %50 grade of the late completed task.
Project Requirements::
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. You will use a vector library and/or GPU based shading language, namely WebGL.
For interface operations use javascript. |