faster shadow check