Warnock(PolyList PL, ViewPort VP)
If ( PL simple in VP) then
Draw PL in VP
else
Split VP vertically and horizontally into VP1,VP2,VP3,VP4
Warnock(PL in VP1, VP1)
Warnock(PL in VP2, VP2)
Warnock(PL in VP3, VP3)
Warnock(PL in VP4, VP4)
end
Scan convert polygon clipped to viewport
Shade pixel based on closest polygon in the pixel