A ray tracing system comprising: a tester module configured to receive a bundle of rays to be tested for intersection with a box, wherein the tester module comprises: a first testing block configured to perform a first bundle intersection test to determine whether or not all of the rays of the bundle intersect the box, wherein if the first bundle intersection test determines that all of the rays of the bundle intersect the box, an intersection testing result for the bundle with respect to the box is that all of the rays of the bundle intersect the box; and a second testing block configured to perform a second bundle intersection test to determine whether or not all of the rays of the bundle miss the box, wherein if the second bundle intersection test determines that all of the rays of the bundle miss the box, the intersection testing result for the bundle with respect to the box is that all of the rays of the bundle miss the box, and wherein the tester module is configured to cause the first testing block to perform the first bundle intersection test for the bundle with respect to the box in parallel with the second testing block performing the second bundle intersection test for the bundle with respect to the box, the tester module being further configured to if the first bundle intersection test does not determine that all of the rays of the bundle intersect the box and if the second bundle intersection test does not determine that all of the rays of the bundle miss the box: split the bundle of rays up into individual rays; and perform intersection tests for the individual rays with respect to the box to determine which of the individual rays intersect the box. a tester module configured to receive a bundle of rays to be tested for intersection with a box, wherein the tester module comprises: a first testing block configured to perform a first bundle intersection test to determine whether or not all of the rays of the bundle intersect the box, wherein if the first bundle intersection test determines that all of the rays of the bundle intersect the box, an intersection testing result for the bundle with respect to the box is that all of the rays of the bundle intersect the box; and a second testing block configured to perform a second bundle intersection test to determine whether or not all of the rays of the bundle miss the box, wherein if the second bundle intersection test determines that all of the rays of the bundle miss the box, the intersection testing result for the bundle with respect to the box is that all of the rays of the bundle miss the box, and a first testing block configured to perform a first bundle intersection test to determine whether or not all of the rays of the bundle intersect the box, wherein if the first bundle intersection test determines that all of the rays of the bundle intersect the box, an intersection testing result for the bundle with respect to the box is that all of the rays of the bundle intersect the box; and a second testing block configured to perform a second bundle intersection test to determine whether or not all of the rays of the bundle miss the box, wherein if the second bundle intersection test determines that all of the rays of the bundle miss the box, the intersection testing result for the bundle with respect to the box is that all of the rays of the bundle miss the box, and wherein the tester module is configured to cause the first testing block to perform the first bundle intersection test for the bundle with respect to the box in parallel with the second testing block performing the second bundle intersection test for the bundle with respect to the box, the tester module being further configured to if the first bundle intersection test does not determine that all of the rays of the bundle intersect the box and if the second bundle intersection test does not determine that all of the rays of the bundle miss the box: split the bundle of rays up into individual rays; and perform intersection tests for the individual rays with respect to the box to determine which of the individual rays intersect the box. split the bundle of rays up into individual rays; and perform intersection tests for the individual rays with respect to the box to determine which of the individual rays intersect the box.