GPUPro360 reducing texture memory usage by 2-channel Color Encoding

# brief
- rgb改成色彩平面上的uv,另外平面也是有边界的,用2个basecolor来划出

# introduction
- motivation:画面(holly wood movie, game)色调有限,所以有文章提出可以用2个channel来encode framebuffer
- 1 channel for full luminance, other for hue/saturation encoding

# 22.2 texture encoding algorithm
## 22.2.1 color plane estimation
- 要做的是找到一个平面,能尽可能你和cube空间中的颜色
- srgb->linear:来回转换都用2power,因为只是用来编码存储,所以快速解码有好处
- 不适用perceptually correct linear RGB(用luminance,u,v来定义的),因为会更耗
- 虽然不用perceptually correct space,但是可以scale一下,让重要的hue有更高的权重
- 实验用的scaling factor是0.5 red, 1 green, 0.25 blue(试过用算灰度的那套weight,但是发现有些texture还是用全相等的weight好)
- 然后就是要用最小二乘来找出合适的平面
- 有一点没看懂,说什么最后一步要把由于weight导致的distortion给revert

# 22.2.2 computing base color
- 首先平面是平面这点定义了,而且由于一定过(0,0,0)所以平面只用一个normal就能定义
- 所有的颜色在2个basecolor向亮中间的空间
- 找base color,把8个edge依次和plane算交点,取最近非0的2个就对了

# 22.2.3 luminance encoding
- 这么想反而很奇怪了,为啥要单独encoding luminace,为啥不直接encode平面上的uv?

# 22.2.4 Hue estimation and encoding
- 感觉这里是特意要fully directly存luminance
- 所以2个channel一个是灰度luminance。blend factor和2个basecolor确定了一条轴,luminance用来在这个轴上调强度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值