code: def _render_normal(self, mesh, deg):
      view_mat = np.identity(4)
      view_mat[:3, :3] *= 2 / 256
      rz = deg / 180.0 * np.pi
      model_mat = np.identity(4)
      model_mat[:3, :3] = euler_to_rot_mat(0, rz, 0)
      model_mat[1, 3] = self.offset
      view_mat[2, 2] *= -1
  
      self._normal_render.set_matrices(view_mat, model_mat)
      self._normal_render.set_normal_mesh(
          self.scale_factor * mesh.vertices,
          mesh.faces,
          mesh.vertex_normals,
          mesh.faces,
      )
      self._normal_render.draw()
      normal_img = self._normal_render.get_color()
      return normal_img
  
file_path: pifuhd/lib/evaluator.py
imports: import trimesh
  import trimesh.proximity
  import trimesh.sample
  import numpy
  import math
  import os
  from PIL import Image
  import argparse
label_desc: Use image node_id 6 for calling the MeshEvaluator obj's underlying member method code with example usage: obj._render_normal(mesh, deg) and returns: normal_img