private const byte k_MaxByteForOverexposedColor = 191;
/// <summary>
/// hdrcolor转普通color
/// </summary>
/// <param name="linearColorHdr"></param>
/// <param name="baseLinearColor"></param>
/// <param name="exposure"></param>
public static void DecomposeHdrColor(Color linearColorHdr, out Color32 baseLinearColor, out float exposure)
{
baseLinearColor = linearColorHdr;
var maxColorComponent = linearColorHdr.maxColorComponent;
// replicate Photoshops's decomposition behaviour
if (maxColorComponent == 0f || maxColorComponent <= 1f && maxColorComponent >= 1 / 255f)
{
exposure = 0f;
baseLinearColor.r = (byte)Mathf.RoundToInt(linearColorHdr.r * 255f);
baseLinearColor.g = (byte)Mathf.RoundToInt(linearColorHdr.g * 255f);
baseLinearColor.b = (byte)Mathf.RoundToInt(linearColorHdr.b *
unity hdr与普通颜色转换
最新推荐文章于 2025-03-28 10:03:27 发布

最低0.47元/天 解锁文章
1035

被折叠的 条评论
为什么被折叠?



