Assignment 4

Rendered with checker texture:

Rendered with checker texture on sphere, three lights, and star:

As an extra, I implemented something similar to what povray calls "quilted". I wasn't able to find their algorithm explained in depth. Therefore, mine isn't configurable in the same way.

I had some trouble with the lighting after implementing "quilted". On the edges of the tiles, the normals can describe surfaces that are not visible to a light, despite the true surface being visible. This caused bright highlights in the cracks of the tiles.

I fixed this by translating the point of intersection by the normal and determining if it moved closer to or farther from the light. If it moved away, the point is hidden and no diffuse or specular is applied.

Rendered same as above, but with procedural normal map on floor:

Assignment List