    {
         BOOLEAN  one_slice;
         one_slice = ( n_slices1 == 1 && weights1[0] == 1.0 &&
         (volume_data2 == (void *) NULL ||
         (n_slices2 == 1 && weights2[0] == 1.0)) );

         switch( volume1_type )
         {
           case UNSIGNED_BYTE:
             if( volume_data2 == NULL )
             {
               if( one_slice )
               { 
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
  render_one_rgb_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                 }
                 else
                 { 
  render_one_cmap_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                 }
               }
               else
               {
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
  render_many_rgb_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                 }
                 else
                 { 
  render_many_cmap_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                 }
               }
             }
             else
             {
               switch( volume2_type )
               {
               case UNSIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_char_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_char_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_char_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_char_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case UNSIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_char_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_char_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_char_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_char_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case UNSIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_char_unsigned_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_char_unsigned_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_char_unsigned_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_char_unsigned_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case SIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_char_signed_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_char_signed_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_char_signed_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_char_signed_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case SIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_char_signed_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_char_signed_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_char_signed_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_char_signed_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case SIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_char_signed_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_char_signed_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_char_signed_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_char_signed_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case FLOAT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_char_float(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_char_float(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_char_float(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_char_float(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case DOUBLE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_char_double(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_char_double(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_char_double(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_char_double(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               }
             }
            break;
           case UNSIGNED_SHORT:
             if( volume_data2 == NULL )
             {
               if( one_slice )
               { 
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
  render_one_rgb_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                 }
                 else
                 { 
  render_one_cmap_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                 }
               }
               else
               {
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
  render_many_rgb_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                 }
                 else
                 { 
  render_many_cmap_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                 }
               }
             }
             else
             {
               switch( volume2_type )
               {
               case UNSIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_short_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_short_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_short_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_short_unsigned_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case UNSIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_short_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_short_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_short_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_short_unsigned_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case UNSIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_short_unsigned_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_short_unsigned_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_short_unsigned_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_short_unsigned_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case SIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_short_signed_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_short_signed_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_short_signed_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_short_signed_char(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case SIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_short_signed_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_short_signed_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_short_signed_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_short_signed_short(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case SIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_short_signed_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_short_signed_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_short_signed_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_short_signed_int(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case FLOAT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_short_float(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_short_float(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_short_float(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_short_float(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               case DOUBLE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_one_rgb_unsigned_short_double(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_one_cmap_unsigned_short_double(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
  render_many_rgb_unsigned_short_double(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       rgb_colour_map,
       rgb_pixel_ptr
       );
                   }
                   else
                   { 
  render_many_cmap_unsigned_short_double(
       volume_data1,
       y,
       start_x,
       end_x,
       y_offsets1,
       row_offsets1,
       start_slices1,
       n_slices1,
       weights1,
       volume_data2,
       y_offsets2,
       row_offsets2,
       start_slices2,
       n_slices2,
       weights2,
       cmode_colour_map,
       cmap_pixel_ptr
       );
                   }
                 }
                 break;
               }
             }
            break;
           case UNSIGNED_INT:
             if( volume_data2 == NULL )
             {
               if( one_slice )
               { 
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                   if( rgb_colour_map == NULL )
                   { 
                     render_one_rgb_unsigned_int_direct(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   {
                     render_one_rgb_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                 }
                 else
                 { 
                     render_one_cmap_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
               else
               {
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_many_rgb_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_many_cmap_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
             }
             else
             {
               switch( volume2_type )
               {
               case UNSIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_unsigned_int_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_unsigned_int_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_unsigned_int_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_unsigned_int_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_unsigned_int_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_unsigned_int_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_unsigned_int_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_unsigned_int_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_unsigned_int_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_unsigned_int_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_unsigned_int_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_unsigned_int_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_unsigned_int_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_unsigned_int_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_unsigned_int_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_unsigned_int_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_unsigned_int_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_unsigned_int_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_unsigned_int_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_unsigned_int_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_unsigned_int_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_unsigned_int_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_unsigned_int_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_unsigned_int_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case FLOAT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_unsigned_int_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_unsigned_int_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_unsigned_int_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_unsigned_int_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case DOUBLE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_unsigned_int_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_unsigned_int_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_unsigned_int_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_unsigned_int_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               }
             }
            break;
           case SIGNED_BYTE:
             if( volume_data2 == NULL )
             {
               if( one_slice )
               { 
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_one_rgb_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_one_cmap_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
               else
               {
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_many_rgb_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_many_cmap_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
             }
             else
             {
               switch( volume2_type )
               {
               case UNSIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_char_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_char_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_char_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_char_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_char_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_char_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_char_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_char_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_char_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_char_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_char_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_char_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_char_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_char_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_char_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_char_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_char_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_char_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_char_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_char_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_char_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_char_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_char_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_char_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case FLOAT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_char_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_char_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_char_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_char_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case DOUBLE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_char_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_char_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_char_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_char_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               }
             }
            break;
           case SIGNED_SHORT:
             if( volume_data2 == NULL )
             {
               if( one_slice )
               { 
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_one_rgb_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_one_cmap_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
               else
               {
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_many_rgb_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_many_cmap_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
             }
             else
             {
               switch( volume2_type )
               {
               case UNSIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_short_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_short_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_short_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_short_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_short_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_short_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_short_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_short_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_short_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_short_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_short_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_short_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_short_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_short_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_short_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_short_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_short_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_short_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_short_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_short_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_short_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_short_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_short_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_short_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case FLOAT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_short_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_short_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_short_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_short_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case DOUBLE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_short_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_short_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_short_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_short_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               }
             }
            break;
           case SIGNED_INT:
             if( volume_data2 == NULL )
             {
               if( one_slice )
               { 
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_one_rgb_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_one_cmap_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
               else
               {
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_many_rgb_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_many_cmap_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
             }
             else
             {
               switch( volume2_type )
               {
               case UNSIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_int_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_int_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_int_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_int_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_int_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_int_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_int_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_int_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_int_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_int_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_int_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_int_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_int_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_int_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_int_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_int_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_int_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_int_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_int_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_int_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_int_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_int_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_int_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_int_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case FLOAT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_int_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_int_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_int_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_int_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case DOUBLE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_signed_int_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_signed_int_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_signed_int_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_signed_int_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               }
             }
            break;
           case FLOAT:
             if( volume_data2 == NULL )
             {
               if( one_slice )
               { 
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_one_rgb_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_one_cmap_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
               else
               {
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_many_rgb_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_many_cmap_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
             }
             else
             {
               switch( volume2_type )
               {
               case UNSIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_float_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_float_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_float_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_float_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_float_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_float_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_float_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_float_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_float_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_float_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_float_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_float_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_float_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_float_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_float_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_float_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_float_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_float_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_float_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_float_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_float_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_float_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_float_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_float_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case FLOAT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_float_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_float_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_float_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_float_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case DOUBLE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_float_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_float_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_float_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_float_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               }
             }
            break;
           case DOUBLE:
             if( volume_data2 == NULL )
             {
               if( one_slice )
               { 
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_one_rgb_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_one_cmap_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
               else
               {
                 if( pixels->pixel_type == RGB_PIXEL )
                 { 
                     render_many_rgb_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                 }
                 else
                 { 
                     render_many_cmap_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                 }
               }
             }
             else
             {
               switch( volume2_type )
               {
               case UNSIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_double_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_double_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_double_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_double_unsigned_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_double_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_double_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_double_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_double_unsigned_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case UNSIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_double_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_double_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_double_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_double_unsigned_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_BYTE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_double_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_double_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_double_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_double_signed_char(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_SHORT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_double_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_double_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_double_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_double_signed_short(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case SIGNED_INT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_double_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_double_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_double_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_double_signed_int(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case FLOAT:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_double_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_double_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_double_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_double_float(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               case DOUBLE:
                 if( one_slice )
                 { 
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_one_rgb_double_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_one_cmap_double_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 else
                 {
                   if( pixels->pixel_type == RGB_PIXEL )
                   { 
                     render_many_rgb_double_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          rgb_colour_map,
                          rgb_pixel_ptr
                          );
                   }
                   else
                   { 
                     render_many_cmap_double_double(
                          volume_data1,
                          y,
                          start_x,
                          end_x,
                          y_offsets1,
                          row_offsets1,
                          start_slices1,
                          n_slices1,
                          weights1,
                          volume_data2,
                          y_offsets2,
                          row_offsets2,
                          start_slices2,
                          n_slices2,
                          weights2,
                          cmode_colour_map,
                          cmap_pixel_ptr
                          );
                   }
                 }
                 break;
               }
             }
            break;
        }
    }
