   EndPrimitive();
 }
 
-void processSide(mat4 matrix, vec4 center, vec4 side, vec4 varying1,
-                 vec4 varying2)
+void processSide(const mat4 matrix, const vec4 center, const vec4 side,
+                 const vec4 varying1, const vec4 varying2)
 {
   vec4 triangle[3] = vec4[3](center + side - varying1 - varying2,
                              center + side - varying1 + varying2,

  {
    vec4 temp = cutPositions[i];
    int j = i - 1;
    while(hasSmallerAngle(matrix * center, matrix * temp, matrix * cutPositions[j]) && j >= 0)
    {
      cutPositions[j+1] = cutPositions[j];
      j = j - 1;
    }
    cutPositions[j + 1] = temp;

  float magnitude = sqrt(dot(plane.xyz, plane.xyz));
  plane = plane / magnitude;

  for (int i = 0; i < 3; ++i)
  {
    vec4 inPos = triangle[i];
