message: Change quantizeUnorm and quantizeSnorm to use template argument
  This makes sure that even if compiler can't inline the functions for
  whatever reason, we get constant folding for scale.
diff: @@ -104,11 +104,11 @@ MESHOPTIMIZER_API VertexFetchStatistics analyzeVertexFetch(const unsigned int* i
  // Quantization into commonly supported data formats
  // Quantize a float in [0..1] range into an N-bit fixed point unorm value
  -// Assumes reconstruction function (q / (2^bits-1)), which is the case for fixed-function normalized fixed point conversion
  -// Maximum reconstruction error: 1/2^(bits+1)
  -inline int quantizeUnorm(float v, int bits)
  +// Assumes reconstruction function (q / (2^N-1)), which is the case for fixed-function normalized fixed point conversion
  +// Maximum reconstruction error: 1/2^(N+1)
  +template <int N> inline int quantizeUnorm(float v)
  {
  - const float scale = float((1 << bits) - 1);
  + const float scale = float((1 << N) - 1);
  v = (v >= 0) ? v : 0;
  v = (v <= 1) ? v : 1;
  @@ -117,12 +117,12 @@ inline int quantizeUnorm(float v, int bits)
  }
  // Quantize a float in [-1..1] range into an N-bit fixed point snorm value
  -// Assumes reconstruction function (q / (2^(bits-1)-1)), which is the case for fixed-function normalized fixed point conversion (except OpenGL)
  -// Maximum reconstruction error: 1/2^bits
  -// Warning: OpenGL fixed function reconstruction function can't represent 0 exactly; when using OpenGL, use this function and have the shader reconstruct by dividing by 2^(bits-1)-1.
  -inline int quantizeSnorm(float v, int bits)
  +// Assumes reconstruction function (q / (2^(N-1)-1)), which is the case for fixed-function normalized fixed point conversion (except OpenGL)
  +// Maximum reconstruction error: 1/2^N
  +// Warning: OpenGL fixed function reconstruction function can't represent 0 exactly; when using OpenGL, use this function and have the shader reconstruct by dividing by 2^(N-1)-1.
  +template <int N> inline int quantizeSnorm(float v)
  {
  - const float scale = float((1 << (bits - 1)) - 1);
  + const float scale = float((1 << (N - 1)) - 1);
  float round = (v >= 0 ? 0.5f : -0.5f);
  