Assignment 0 - Hello World

Q: What physical quantity do we measure along a ray?
A: Radiance.

Q: What lrt class is used to describe the reflection of light at a point?
A: BSDF.

Q: How are vectors and normals treated differently?
A: Unlike vectors, normals cannot be added to a point and we cannot take the cross product of two normals.

Q: What's the difference between Intersect and IntersectP?
A: Unlike Intersect, IntersectP does not fill the DifferentialGeometry structure.

Q: What lrt class is used to describe the intersection between a ray and a shape? Give a brief description of each field in this class.
A: DifferentialGeometry. Data structure:

   Point P;            -> intersection point
   Normal N;           -> normal of the surface at intersection point
   Vector dPdu, dPdv;  -> parametric partial derivatives
   Vector S, T;        -> two tangent vectors of the surface
   Float u, v;         -> coordinates of the parameterization of the surface 
   const Shape *shape; -> pointer to the Shape class that the differential geometry lies on

Q: What kind of coordinates are used to parameterize a triangle?
A: Barycentric coordinates.