debug pixel: x = 340; y = 265
cast ray: end = 0 1 4; dir = 0.0447425 -0.187923 -0.981164
intersect test with obj[1]: hits = { {obj[1], 5.40695, false}, {obj[1], 5.7796, true} }
intersect test with obj[2]->A->B->B: hits = { {obj[2]->A->B->B, 4.83466, false} }
intersect test with obj[2]->A->B->A: hits = { {obj[2]->A->B->A, 3.13298, false}, {obj[2]->A->B->A, 10.9792, true} }
intersect test with obj[2]->A->B: hits = { {obj[2]->A->B->A, 3.13298, false}, {obj[2]->A->B->B, 4.83466, false} }
intersect test with obj[2]->A->A->B: hits = { {obj[2]->A->A->B, 3.15691, false}, {obj[2]->A->A->B, 5.06825, true} }
intersect test with obj[2]->A->A->A->B: hits = { {obj[2]->A->A->A->B, 6.16829, false}, {obj[2]->A->A->A->B, 7.94385, true} }
intersect test with obj[2]->A->A->A->A->A: hits = { }
intersect test with obj[2]->A->A->A->A: hits = { }
intersect test with obj[2]->A->A->A: hits = { {obj[2]->A->A->A->B, 6.16829, false}, {obj[2]->A->A->A->B, 7.94385, true} }
intersect test with obj[2]->A->A: hits = { {obj[2]->A->A->B, 3.15691, false}, {obj[2]->A->A->B, 5.06825, true}, {obj[2]->A->A->A->B, 6.16829, false}, {obj[2]->A->A->A->B, 7.94385, true} }
intersect test with obj[2]->A: hits = { {obj[2]->A->B->B, 4.83466, false}, {obj[2]->A->A->B, 5.06825, true}, {obj[2]->A->A->A->B, 6.16829, false}, {obj[2]->A->A->A->B, 7.94385, true} }
intersect test with obj[2]: hits = { {obj[2]->A->B->B, 4.83466, false}, {obj[2]->A->A->B, 5.06825, true}, {obj[2]->A->A->A->B, 6.16829, false}, {obj[2]->A->A->A->B, 7.94385, true} }
closest intersection: return = obj[2]; hit = {obj[2]->A->B->B, 4.83466, false}
call Shade_Surface with: location = 0.216315 0.0914565 -0.743598; normal = -0.389418 0.921061 0
ambient = 0.3 0 0
intersect test with obj[2]->A->B->B: hits = { }
intersect test with obj[2]->A->B->A: hits = { {obj[2]->A->B->A, 0, false}, {obj[2]->A->B->A, 2.34749, true} }
intersect test with obj[2]->A->B: hits = { {obj[2]->A->B->A, 0, false}, {obj[2]->A->B->A, 2.34749, true} }
intersect test with obj[2]->A->A->B: hits = { {obj[2]->A->A->B, 0, false}, {obj[2]->A->A->B, 1.02642, true} }
intersect test with obj[2]->A->A->A->B: hits = { }
intersect test with obj[2]->A->A->A->A->A: hits = { }
intersect test with obj[2]->A->A->A->A: hits = { }
intersect test with obj[2]->A->A->A: hits = { }
intersect test with obj[2]->A->A: hits = { {obj[2]->A->A->B, 0, false}, {obj[2]->A->A->B, 1.02642, true} }
intersect test with obj[2]->A: hits = { }
intersect test with obj[2]: hits = { }
closest intersection: none
light 0 visible; no object on ray.
shading for light 0: diffuse = 0.105672 0 0; specular = 0 0 0
intersect test with obj[2]->A->B->B: hits = { }
intersect test with obj[2]->A->B->A: hits = { {obj[2]->A->B->A, 0, false}, {obj[2]->A->B->A, 3.96602, true} }
intersect test with obj[2]->A->B: hits = { {obj[2]->A->B->A, 0, false}, {obj[2]->A->B->A, 3.96602, true} }
intersect test with obj[2]->A->A->B: hits = { {obj[2]->A->A->B, 0, false}, {obj[2]->A->A->B, 0.32138, true} }
intersect test with obj[2]->A->A->A->B: hits = { }
intersect test with obj[2]->A->A->A->A->A: hits = { }
intersect test with obj[2]->A->A->A->A: hits = { }
intersect test with obj[2]->A->A->A: hits = { }
intersect test with obj[2]->A->A: hits = { {obj[2]->A->A->B, 0, false}, {obj[2]->A->A->B, 0.32138, true} }
intersect test with obj[2]->A: hits = { }
intersect test with obj[2]: hits = { }
closest intersection: none
light 1 visible; no object on ray.
shading for light 1: diffuse = 0.121853 0 0; specular = 8.33609e-19 8.33609e-19 8.33609e-19
final color 0.527525 8.33609e-19 8.33609e-19
