docstr: This is the example habitat example scene from inside
  http://dl.fbaipublicfiles.com/habitat/habitat-test-scenes.zip
  
  The scene is "already lit", i.e. the textures reflect the lighting
  already, so we want to render them with full ambient light.
docstr_tok: ["This","is","the","example","habitat","example","scene","from","inside","http",":","\/\/dl.fbaipublicfiles.com\/habitat\/habitat-test-scenes.zip","The","scene","is","``","already","lit","''",",","i.e",".","the","textures","reflect","the","lighting","already",",","so","we","want","to","render","them","with","full","ambient","light","."]
code: def test_load_apartment(self):
      """
      This is the example habitat example scene from inside
      http://dl.fbaipublicfiles.com/habitat/habitat-test-scenes.zip
  
      The scene is "already lit", i.e. the textures reflect the lighting
      already, so we want to render them with full ambient light.
      """
  
      self.skipTest("Data not available")
  
      glb = DATA_DIR / "apartment_1.glb"
      self.assertTrue(glb.is_file())
      device = torch.device("cuda:0")
      mesh = _load(glb, device=device)
  
      if DEBUG:
          texturesuv_image_PIL(mesh.textures).save(
              DATA_DIR / "out_apartment.png"
          )
  
      for i in range(19):
          # random locations in the apartment
          eye = (
              (np.random.uniform(-6, 0.5), np.random.uniform(-8, 2), 0),
          )
          at = (
              (np.random.uniform(-6, 0.5), np.random.uniform(-8, 2), 0),
          )
          up = ((0, 0, -1),)
          RT = look_at_view_transform(eye=eye, at=at, up=up)
          _render(mesh, f"apartment_eau{i}", RT=RT, use_ambient=True)
  
      for i in range(12):
          # panning around the inner room from one location
          pan = axis_angle_to_matrix(
              torch.FloatTensor([0, radians(30 * i), 0])
          )
          _render(
              mesh, f"apartment{i}", 1.0, -90, pan, use_ambient=True
          )
  
imports: import os.path
  import unittest
  from math import radians
  import numpy
  import torch
  from PIL import Image
  from pytorch3d.io import IO
  from pytorch3d.io.experimental_gltf_io import _read_header, MeshGlbFormat
  from pytorch3d.renderer import AmbientLights, BlendParams, FoVPerspectiveCameras, look_at_view_transform, PointLights, RasterizationSettings, rotate_on_spot
  from pytorch3d.renderer.mesh import HardPhongShader, MeshRasterizer, MeshRenderer, TexturesVertex
  from pytorch3d.structures import Meshes
  from pytorch3d.transforms import axis_angle_to_matrix
  from pytorch3d.utils import ico_sphere
  from pytorch3d.vis.texture_vis import texturesuv_image_PIL
  from .common_testing import get_pytorch3d_dir, get_tests_dir, TestCaseMixin
label_desc: Use image node_id 1 for calling the TestMeshGltfIO obj's underlying member method code with example usage: obj.test_load_apartment() without return types