   uint in_qz_pos_z = ( qz_pos_z_normal_enum ) & 0xFFFF;
 
   // dequantize position
-  out_position = bb_min_pos + ivec3(in_qz_pos_x, in_qz_pos_y, in_qz_pos_z) * ( (bb_max_pos - bb_min_pos)/65535.0 );
+  out_position = bb_min_pos + ivec3(in_qz_pos_x, in_qz_pos_y, in_qz_pos_z) * bb_size_divisor * ( (bb_max_pos - bb_min_pos) );
 }
 
 void dequantize_radius_11(in uint rgb777_and_radius_11, in float rad_min, in float rad_max,

  int v_component = qz_normal_enumerator / num_points_u;
  int u_component = qz_normal_enumerator % num_points_u;

  int main_axis = face_id / face_divisor;

  float first_component = (u_component / float(num_points_u) ) * 2.0 - 1.0;
  float second_component = (v_component / float(num_points_v) ) * 2.0 - 1.0;

  vec3 unswizzled_components = vec3(first_component, 
                                    second_component,
                                    is_main_axis_negative * sqrt(-(first_component*first_component) - (second_component*second_component) + 1) );

  vec3 normal_to_assign = unswizzled_components.zxy;



void dequantize_color_777(in uint rgb_777_and_radius_11, out vec3 out_rgb) {
  ivec3 rgb_multiplier = (ivec3(rgb_777_and_radius_11) >> rgb_777_shift_vec) & rgb_777_mask_vec;
  out_rgb = 0.00392156862745098 * rgb_multiplier * rgb_777_quant_steps;
}

void dequantize_surfel_attributes_without_color(in uint qz_pos_xy, in uint qz_pos_z_normal_enum, in uint rgb_777_and_radius_11,
