non sequential ray tracing