快速 3D Lut 查找

piz*_*lms 5 c lookup graphics colors

我正在尝试编写一个快速 3D lut 查找函数,并注意到大多数 lut 不是 33x33x33 就是 17x17x17。

为什么是33或17?用 32 或 16 来计算不是更快吗?那么你可以做一些轮班而不是划分吗?或者也许我不明白为什么。

任何人?

Tat*_*ize 3

本文将提供概要:https://www.hpl.hp.com/techreports/98/HPL-98-95.pdf

基本上,您需要的是将颜色空间划分为一定数量的部分,并在这些部分之间进行线性插值。这是一种执行查找表的方法,这样您就可以找到颜色位置,而不会出现太大错误,但查找比其他方式更稀疏。

原因是:如果你把一条线剪 2 次,你就会得到 3 块。

你有 17 或 33 而不是 16 或 32 的原因是你需要你所在的棋子,而不是最近的位置。如果进行除法,您将位移 2^8 的值,您将得到 16 个值。但是,由于您需要对该片段内的位置进行线性插值,因此需要 17 个值。

简而言之,你有 17 而不是 16 的原因是,使用 17,你可以将值除以 16,这样更快,然后检查地板整数除法出现的值,然后做出有根据的猜测你应该在哪里在这些值之间。这需要查找表中的 N+1 个值。