when playing with the light group scale option, it struck me that it migth be better that the scale is logarithmic. That is, the slider goes from say -4 to 4, causing the scale to vary between 10^-4 and 10^4. This would allow for a greater range and would imho also be more intutative since brightness is linear in log-space.
To experiment I modified FlexImageFilm as follows:
- Code: Select all
void FlexImageFilm::SetGroupScale(u_int index, float value)
{
if (index >= bufferGroups.size())
return;
value = Clamp<float>(value, 0, 100);
bufferGroups[index].globalScale = powf(10.f, (value / 12.5) - 4);
ComputeGroupScale(index);
}
float FlexImageFilm::GetGroupScale(u_int index) const
{
if (index >= bufferGroups.size())
return 0.f;
float value = log10f(bufferGroups[index].globalScale);
value = Clamp<float>((value + 4) * 12.5, 0, 100);
return value;
}
what do you think?
edit: if it were to be implemented, the true scale should be written in the text field or something.
