Use visibility layers instead of explicit object hiding for first-person object occlusion