调色板颜色的空间插值— UMBC CMSC 491最终项目

调色板的索引以及基本纹理被馈送到Func_Palette函数中。 Func_Palette是一个简单的函数,该函数使用布尔算法确定纹理的每个像素对应的颜色索引,然后将该信息与调色板索引组合在一起以在每个调色板中找到相应的颜色。


在三维空间中,权重之间混合的方法很多。 利用RGB也是三维空间这一事实,我们基于距离对每个调色板进行简单的线性混合。 每个调色板都有一个权重,然后按照距离的倒数来缩放这些权重(距离的平方的倒数也可以得到令人愉悦的结果,如果这是您想要的效果,则更适合光线衰减)然后我们将所有这些标定值相加。 使用总和作为除数,我们可以确定每个调色板的比例权重。

结合每个调色板的相应颜色和比例权重,我们最终可以确定输出颜色。 我们利用RGB色彩空间的累加属性来简单转换基本色(此处选择为常数(0,0,0),但艺术家可能会用到其他替代品)沿每个调色板颜色矢量的长度等于比例重量。 最终,我们得到一个混合输出,然后将其传递给发光颜色,以备将来在着色器管线中使用。

可能的后续措施包括将方法移植到Unity,缩放和优化用户定义的颜色区域数量,定义单一颜色的非混合区域,具有从边缘而不是仅从点开始的混合以及探索不同的混合方法。