First, I'd like to provide some context. I have a low resolution 3d map. I made this map by subdividing a hexagon and applying a Displace modifier to it. A little color-ramp magic in the shader, and I have something that's conceivably usable for my purposes:
However, switching between the displacement texture and the rendering shader is inconvenient for painting changes onto the model. Before, it was the only way to do things, but now, I thought I'd try to use the Geometry Nodes system to displace my vertices with Vertex Paint as the input instead of a texture.
The problem is, the Displace node uses the texture's HSV value at each vertex directly, which is different from the color values visible in the spreadsheet editor. For instance, while a color with an HSV value of 0.0 has an internal value of 0.0, and a color with an HSV value of 1.0 has an internal value of 1.0, a color with an HSV value of 0.5 is stored with a value of 0.216 per the spreadsheet editor.
How do I convert the stored value into something approximating the HSV value?