debug pixel: x = 380; y = 250
cast ray: end = 0 1 6; dir = 0.131204 -0.140474 -0.981352
intersect test with obj[0]: hits = { {obj[0], 21.3563, false} }
intersect test with obj[1]: hits = { {obj[1], 5.72043, false}, {obj[1], 6.59916, true} }
closest intersection: return = obj[1]; hit = {obj[1], 5.72043, false}
call Shade_Surface with: location = 0.750543 0.196431 0.386246; normal = -0.498915 0.392861 0.772492
ambient = 0 0 0
intersect test with obj[0]: hits = { }
intersect test with obj[1]: hits = { {obj[1], 0, false}, {obj[1], 1.03251e-14, true} }
closest intersection: none
light 0 visible; no object on ray.
shading for light 0: diffuse = 0.256392 0 0; specular = 1.5535e-08 1.5535e-08 1.5535e-08
intersect test with obj[0]: hits = { }
intersect test with obj[1]: hits = { {obj[1], 0, false}, {obj[1], 9.32587e-15, true} }
intersect test with obj[2]: hits = { {obj[2], 0.668742, false}, {obj[2], 1.0895, true} }
closest intersection: return = obj[2]; hit = {obj[2], 0.668742, false}
light 1 not visible; obscured by object obj[2] at location 0.330984 0.355718 0.882042
intersect test with obj[0]: hits = { {obj[0], 4.46884, false} }
intersect test with obj[1]: hits = { {obj[1], 0, false}, {obj[1], 1.7264e-14, true} }
closest intersection: return = obj[0]; hit = {obj[0], 4.46884, false}
light 2 not visible; obscured by object obj[0] at location 0.234806 -2 4.24374
final color 0.256392 1.5535e-08 1.5535e-08
