message: Compile one more kernel
  Use geometric normals when no shading normals are available
diff: // This file is distributed under the MIT license.
  // See the LICENSE file for details.
  +#include <cassert>
  +
  #include <visionaray/kernels.h> // make_kernel_params()
  #include "render.h"
  @@ -10,7 +12,7 @@ namespace visionaray
  void render_instances_cpp(
  index_bvh<index_bvh<basic_triangle<3, float>>::bvh_inst>& bvh,
  - aligned_vector<vec3> const& /*geometric_normals*/,
  + aligned_vector<vec3> const& geometric_normals,
  aligned_vector<vec3> const& shading_normals,
  aligned_vector<vec2> const& tex_coords,
  aligned_vector<generic_material_t> const& materials,
  @@ -35,6 +37,8 @@ void render_instances_cpp(
  primitives.push_back(bvh.ref());
  + if (shading_normals.size() != 0)
  + {
  auto kparams = make_kernel_params(
  normals_per_vertex_binding{},
  colors_per_vertex_binding{},
  @@ -55,5 +59,30 @@ void render_instances_cpp(
  call_kernel( algo, sched, kparams, frame_num, ssaa_samples, cam, rt );
  }
  + else
  + {
  + assert(geometric_normals.size() != 0);
  +
  + auto kparams = make_kernel_params(
  + normals_per_face_binding{},
  + colors_per_vertex_binding{},
  + primitives.data(),
  + primitives.data() + primitives.size(),
  + geometric_normals.data(),
  + tex_coords.data(),
  + materials.data(),
  + colors.data(),
  + textures.data(),
  + lights.data(),
  + lights.data() + lights.size(),
  + bounces,
  + epsilon,
  + bgcolor,
  + ambient
  + );
  +
  + call_kernel( algo, sched, kparams, frame_num, ssaa_samples, cam, rt );
  + }
  +}
  } // visionaray
  