I have realised I am have a problem with the limitations of precision with floats. Specifically, storing a number ~25000 in a FFloat16 is not precise enough for what I need. My plan to solve this was to reduce the values saved in the texture by say a factor of 10 or 100 and then multiply in the material back up to the original values.
This doesn’t appear to be working, is this because when I am manipulating floats and colours in material networks it is using 16 bit floats? I couldn’t find any technical documentation detailing the specifics of it.
HLSL spec seems to suggest it would be a 32 bit float but for some reason my HLSL code window doesn’t seem to be showing anything useful.