Andreas Olofsson

Understanding HSV

Discussion created by Andreas Olofsson on Dec 2, 2016
Latest reply on Dec 5, 2016 by Peter Hildebrandt

Hello guys.

I felt like making a short essay on HSV. I hope it's coherent enough and that you find it informative! Feel free to point out if anything's incorrect.


What is HSV?

HSV is a color model commonly used in computer graphics. Other kinds of color models are RGB and CMYK, but they are of very little importance to us.


HSV is an acronym of “Hue, Saturation and Value”. Sometimes it’s also referred to as HSB, in which case the B stands for “Brightness”. Brightness and Value both refer to the same thing, and unless I am mistaken there’s no difference between them. I will refer to it as value for the sake of consistency.


HSV/HSB is NOT to be confused with HSL (Lightness). That color model is calculated slightly different. Using the same specified number for value will not yield the same color if applied as lightness and vice versa.


Why is understanding HSV important?

HSV is of importance to us as render artists because of value. In most programs value have a numerical range of 0-100, some programs treat it as 0-1, with decimals in between.

As I mentioned, value controls the brightness of the color.

0 is pure black and 100 is white, with grayscale in between.

Think of value as the percentage of the effect that the HSV-color is applied to. For example:

If you’re tweaking the color of your appearance’s “transparency” and set its value to 0 means you’ll have zero transparency. Setting it to 78 will give you 78% transparency and so on.


This principle applies to all parameters with a HSV-controller. Setting your value to 100 in your specular color will give you an appearance that is fully reflective. You can set your hue and saturation to whatever you like if you want to give your reflection a color tint, but those values will have no impact on the actual amount of reflectivity.



These three examples have all of their parameters except for specular color zeroed out (black).

They all have unique values for their hue and saturation - however all of their values are set to 100. And as you can see although they reflect different colors, they all share the same amount of reflectivity.



These use the same colors as above but with a value of 40. The reflection amount is consistent.


Texture maps

The understanding of value is crucial for when making texture maps.

For bump maps a value of 50 (grey) means no surface elevation/indentation. Anything over 50 (brighter) will be treated as elevation and anything less than 50 (darker) is treated as indentation.


Right now Visualize has got 4 different texture slots where you can plug in a color map, specular map, opacity map and bump.

Imagine the possibilities if you instead had the ability to plug a texture into any HSV parameter of an appearance. That's when you can get really experimental.