debug pixel: x = 350; y = 250 cast ray: end = 0 1 4; dir = 0.0665729 -0.219699 -0.973293 intersect test with obj[0]->B: hits = { {obj[0]->B, 3.49551, false}, {obj[0]->B, 4.86338, true} } intersect test with obj[0]->A: hits = { {obj[0]->A, 3.15594, false}, {obj[0]->A, 5.06981, true} } intersect test with obj[0]: hits = { {obj[0]->A, 3.15594, false}, {obj[0]->A, 5.06981, true} } closest intersection: return = obj[0]; hit = {obj[0]->A, 3.15594, false} call Shade_Surface with: location = 0.2101 0.306642 0.928347; normal = 0.2101 0.306642 0.928347 ambient = 0.3 0 0 intersect test with obj[0]->B: hits = { } intersect test with obj[0]->A: hits = { } intersect test with obj[0]: hits = { } closest intersection: none light 0 visible; no object on ray. shading for light 0: diffuse = 0.0704605 0 0; specular = 2.16263e-20 2.16263e-20 2.16263e-20 intersect test with obj[0]->B: hits = { } intersect test with obj[0]->A: hits = { {obj[0]->A, 3.21965e-15, false}, {obj[0]->A, 0.482147, true} } intersect test with obj[0]: hits = { {obj[0]->A, 3.21965e-15, false}, {obj[0]->A, 0.482147, true} } closest intersection: return = obj[0]; hit = {obj[0]->A, 0.482147, true} light 1 not visible; obscured by object obj[0] at location 0.410082 0.643066 0.64676