@@ -28,20 +28,20 @@ struct DefaultCascades
2828 data[cascadeIx] = promote<CascadeLayerType, float32_t>(0.0f );
2929 }
3030
31- void addSampleIntoCascadeEntry (CascadeLayerType _sample, uint16_t lowerCascadeIndex, SSplattingParameters::scalar_t lowerCascadeLevelWeight, SSplattingParameters::scalar_t higherCascadeLevelWeight, uint32_t sampleCount)
31+ void addSampleIntoCascadeEntry (layer_type _sample, uint16_t lowerCascadeIndex, SSplattingParameters::scalar_t lowerCascadeLevelWeight, SSplattingParameters::scalar_t higherCascadeLevelWeight, sample_count_type sampleCount)
3232 {
3333 const SSplattingParameters::scalar_t reciprocalSampleCount = SSplattingParameters::scalar_t (1.0f ) / SSplattingParameters::scalar_t (sampleCount);
3434
3535 sample_count_type lowerCascadeSampleCount = cascadeSampleCounter[lowerCascadeIndex];
3636 data[lowerCascadeIndex] += (_sample * lowerCascadeLevelWeight - (sampleCount - lowerCascadeSampleCount) * data[lowerCascadeIndex]) * reciprocalSampleCount;
37- cascadeSampleCounter[lowerCascadeIndex] = sample_count_type ( sampleCount) ;
37+ cascadeSampleCounter[lowerCascadeIndex] = sampleCount;
3838
3939 uint16_t higherCascadeIndex = lowerCascadeIndex + uint16_t (1u);
4040 if (higherCascadeIndex < CascadeCount)
4141 {
4242 sample_count_type higherCascadeSampleCount = cascadeSampleCounter[higherCascadeIndex];
4343 data[higherCascadeIndex] += (_sample * higherCascadeLevelWeight - (sampleCount - higherCascadeSampleCount) * data[higherCascadeIndex]) * reciprocalSampleCount;
44- cascadeSampleCounter[higherCascadeIndex] = sample_count_type ( sampleCount) ;
44+ cascadeSampleCounter[higherCascadeIndex] = sampleCount;
4545 }
4646 }
4747};
@@ -51,9 +51,10 @@ struct CascadeAccumulator
5151{
5252 using scalar_t = typename SSplattingParameters::scalar_t;
5353 using input_sample_type = typename CascadesType::layer_type;
54+ using sample_count_type = typename CascadesType::sample_count_type;
5455 using this_t = CascadeAccumulator<CascadesType>;
5556 using cascades_type = CascadesType;
56- NBL_CONSTEXPR_STATIC_INLINE uint32_t CascadeCount = cascades_type::CascadeCount;
57+ NBL_CONSTEXPR_STATIC_INLINE uint16_t CascadeCount = cascades_type::CascadeCount;
5758 NBL_CONSTEXPR_STATIC_INLINE scalar_t LastCascade = scalar_t (CascadeCount - 1u);
5859 cascades_type accumulation;
5960
@@ -62,15 +63,15 @@ struct CascadeAccumulator
6263 static this_t create (NBL_CONST_REF_ARG (SPackedSplattingParameters) settings)
6364 {
6465 this_t retval;
65- for (uint32_t i = 0u; i < CascadeCount; ++i)
66+ for (uint16_t i = 0u; i < CascadeCount; ++i)
6667 retval.accumulation.clear (i);
6768 retval.splattingParameters = settings.unpack ();
6869
6970 return retval;
7071 }
7172
7273 // most of this code is stolen from https://cg.ivd.kit.edu/publications/2018/rwmc/tool/split.cpp
73- void addSample (uint32_t sampleCount, input_sample_type _sample)
74+ void addSample (const sample_count_type sampleCount, input_sample_type _sample)
7475 {
7576 const scalar_t luma = splattingParameters.calcLuma<input_sample_type>(_sample);
7677 const scalar_t log2Luma = log2<scalar_t>(luma);
0 commit comments