我试图用一系列颜色对表面进行着色以实现某些视觉效果。一种效果是从一种颜色到另一种颜色的渐变。假设我有一个带有黑色和白色纹素的查找纹理。我通过选择颜色序列的 [0,1] 将颜色应用到整个表面。线性插值创建了一个很好的渐变。现在我想重复那个序列。直观地说,我想使用 [0,2] 的范围,并且应该沿着表面绘制两次渐变。
但这会在中间产生硬边,因为每个渐变占据了表面的 50%。(一般问题,不是 GL 特定的)我可以挤入一个“隐藏的”纹素并使用一些额外的空间在序列的最后一种颜色和第一种颜色之间进行插值。但随后缩放变得丑陋。沿表面应用于 [0,1] 的序列将比应用于 [0,2] 的每个重复序列的长度略多两倍。
另一个效果是创建条纹的重复图案。在那里我不需要重复序列之间的额外空间。例如,如果我在第一个和第二个 b,w 序列之间挤压任何东西,带有 b,w,b,w 条纹着色的表面就会被破坏。
如果我将 b,w 重复到 b,w,b,w 我会得到带有 NN 的工作条纹,但中间的硬边用于渐变。如果我将 b,w,b 重复到 b,w,b,b,w,b 它适用于线性 ip,但 NN 会弄乱条纹的大小。
所以看起来我必须确保颜色序列以相同的颜色开始和结束,如果我想要平滑的重复。如果我想创建可区分的条纹而不是渐变,我必须切换插值行为(调用 GL 或在着色器中手动插值)?有人可以绕过所有这些,并告诉我我是否走在正确的轨道上或遗漏了什么。感觉现在有点蒙。
问问题
100 次