code: def render_voxels_from_blender_camera(
      voxels,
      object_rotation,
      object_translation,
      height,
      width,
      focal,
      principal_point,
      camera_rotation_matrix,
      camera_translation_vector,
      frustum_size=(256, 256, 512),
      absorption_factor=0.1,
      cell_size=1.0,
      depth_min=0.0,
      depth_max=5.0,
  ):
      """Renders the voxels according to their position in the world."""
      batch_size = voxels.shape[0]
      voxel_size = voxels.shape[1]
      sampling_volume = sampling_points_from_frustum(
          height,
          width,
          focal,
          principal_point,
          depth_min=depth_min,
          depth_max=depth_max,
          frustum_size=frustum_size,
      )
      sampling_volume = place_frustum_sampling_points_at_blender_camera(
          sampling_volume,
          camera_rotation_matrix,
          camera_translation_vector,
      )
  
      interpolated_voxels = object_rotation_in_blender_world(
          voxels, object_rotation
      )
  
      # Adjust the camera (translate the camera instead of the object)
      sampling_volume = sampling_volume - object_translation
      sampling_volume = sampling_volume / CUBE_BOX_DIM
      sampling_volume = sampling_points_to_voxel_index(
          sampling_volume, voxel_size
      )
  
      camera_voxels = trilinear.interpolate(
          interpolated_voxels, sampling_volume
      )
      camera_voxels = tf.reshape(
          camera_voxels, [batch_size] + list(frustum_size) + [4]
      )
      voxel_image = emission_absorption.render(
          camera_voxels,
          absorption_factor=absorption_factor,
          cell_size=cell_size,
      )
      return voxel_image
  
file_path: graphics/tensorflow_graphics/projects/neural_voxel_renderer/helpers.py
imports: import numpy
  import tensorflow
  from tensorflow_graphics.geometry.representation import grid
  from tensorflow_graphics.geometry.transformation import rotation_matrix_3d
  from tensorflow_graphics.math.interpolation import trilinear
  from tensorflow_graphics.rendering.camera import perspective
  from tensorflow_graphics.rendering.volumetric import emission_absorption
label_desc: Use image node_id 8 for calling a global function with example usage: render_voxels_from_blender_camera(voxels, object_rotation, object_translation, height, width, focal, principal_point, camera_rotation_matrix, camera_translation_vector, frustum_size, absorption_factor, cell_size, depth_min, depth_max) and returns: voxel_image