-------------------------------------------- student : asundqui graded by : Damian Isla time : Wed Nov 17 1:32:59 EST 1999 problem set: ivray -------------------------------------------- -1 PT: NO EXECUTABLE TURNED IN Eye ray generation (0-2): 2 Cone, cyl, poly isection (0-2): 1.5 Shadow (0-1): 1 Reflection (0-2): 2 Transmission (0-2): 2 Shading (0-2): 2 Supersampling and jittering (0-2): 1.5 Statistics (0-1): 1 Exactitude (0-1): 1 total (0-15): 13 -------------------------------------------- notes: Great job on a very tought problem set. I had just a few problems with your code: There seemed to be something wrong with polygon intersections: all polygons are being rendered as flat black. Your jitter was not quite right. When you jitter with super-sampling you want to start with the regularly sampled subgrid of the type that you create when doing normal supersampling, but then perturb each of these rays slightly within its own subgrid. As for the comments in your READTHIS: 2) In general, we do color blending this way so that we can cleanly separate specular highlights from reflectivity. In your scheme, any material with a specular highlight must also be reflective -- obviously not the case for materials like plastics, brushed metal etc. You're right in one respect: perhaps it is fairly arbitrary to use the SAME value for calculating highlights and for scaling reflected radiance. What we're doing in the solutions is a bit tricky -- we're using obj->ks to test whether or not the material is reflective at all (and we update the weights by this value) and then using obj->SpecularColor to actually do the scaling of the reflected radiance. You're right, there's probably a better, more physical way to do all this. 3) You're also right that transparency and reflectivity should not interact in any way -- this is physically accurate as well. However, realize that multiplying the other color components by (1-transparency) would be wrong. Surface diffuse color and transparency, are completely separate phenomena, as you might observe it you look through a partially transparent balloon, for example. If we wanted to create a perfectly transparent glass ball, on the other hand, we would have to take care to set the diffuse surface color to black, to make sure that the surface in fact contributed NO color to the final image. The rest) You're right that there was a lot in this problem set to guess at, or to come up with on your own. What you did for angular attenuation and eta-accumulation, for example, were fine. --------------------------------------------