-------------------------------------------- student : zxf graded by : Damian Isla problem set: ivscan -------------------------------------------- Renders 1st test (triangle) (0-3): 0 Renders 2nd test (rgb) (0-2): 1 Renders 3rd test (cube) (0-2): 1 Renders 4th test (interpen) (0-2): 1 Renders 5th test (ellipse) (0-2): 1 Renders 6th test (geekball) (0-2): 1 Exactitude (0-2): 1 total (0-15): 6 -------------------------------------------- notes: Your renderer has the serious problem that it crashes when I try and run it on anything. It fails with an assert error in EdgeRecList::NextPolyEdge, which suggests to me that it could be a matter of removing polygon edges too soon. Besides that, a few smaller matters: 1) You were not correctly intializing the EdgeRec, in that you were not correctly adjusting the starting value of X to account for the start of the edge being off-pixel-center. i.e. the initial value of xcurr does NOT equal xstart, but rather xstart + epsilon (finding epsilon is the trick). Because what you REALLY want is the value of X at the intersection of the edge with the next scan line. Note that it is not JUST X that should be adjusted in this way, but also color and depth (and inverse depth). 2) Linearly interpolating Z in screen space is wrong. You needed to instead use linearly interpolated values of h in order to correcly gauge depth. --------------------------------------------