I use 16 bit footage with baked in uvmaps, and a shader to map the faces onto. This is what the windows preview looks like, (I guess it somehow remaps the tone values) and what I want the final output too look like.
When playing back dds R16G16B16A16 you can actually see that a lot of the image is outside SDR monitor range. I want to remap the colors back into SDR range. (The faces are marked in the alpha channel)
So, what’s an easy way to do this? I don’t need perfectly matching colours, just a good approximation to bump up saturation and dynamic.
@woei that comment was just about how Blender displays the 16bit image in its viewport. It seems to remap to SDR, because it had to look more washed out. When exporting everything is fine with the 16bit UV map.
The animation was not done in-house, I believe they worked with After Effects in SDR space, then switched the face textures for my 16bit uv map, then reset the composition settings and exported as 16bit png sequence. I could get more information if that helps.
you don’t need to do anything special if the values are already in linear space because the Stride pipeline is HDR in linear color space. all conversions will happen automatically on the GPU at the right moment unless you do something special with the raw values.
the preview you posted doesn’t really look like HDR data rendered directly to me; i’d expect white clipping and excessive contrast.
in case it really is, you’d need to tonemap HDR range to SDR.
if it’s only about linear vs gamma rgb, here are the simple approximations for conversion:
the even less accurate formulae for saving even more gpu cyles would be
Gamma(x) = sqrt(x)
DeGamma(x) = x*x
for anyone too lazy to read the links mentioned above:
the reason the precise srgb conversion is more complex is that it has a linear portion at the dark end and the majority of the curve has gamma 2.4