Strictly, the maximum value (if we discard the a parameter) is b+c, not b alone. c will modify all values if non null. The sentence from me you quoted is incorrect in that regard.
Another example with exponent (phong):
I have a grayscale image. By default b=1 and c=0, meaning that the maximum phong exponent will range from 0 (black pixels) to 1 (white pixels). That's too low for this material parameter, wich should have it's smallest value closer to 1 (as a minimum), and wich can go up to millions.
More precisely for this example, I want the texture to describe an exponent ranging from 689 to 12800, not more not less.
That means that black pixels should return the value 689 instead of zero; 689 will be the choosen value for c. But, if I use 12800 for b then the max possible value will be 12800+689=13489... not what's planned.
So, whenever c is used, I need to "amend" b consequently. To obtain the aimed range, I will have to substract c from b to find the maximum possible value for b within that range.
The values I need to use are:
b = 12800-689 = 12111
c = 689
No value will then go below 689, nor above 12800.
I hope this fixes the puzzle, feel free to ask more if needed
