这是我的看法。像素不是正方形,甚至不是矩形。像素是具有关联颜色的点(无限小)。
我个人曾经看到过显示器观看(解释)的像素的唯一方法是使用“最近邻居”采样,其中像素位于矩形网格上,这意味着显示器上任何给定空间的颜色就是显示器的颜色。最接近的像素。
这是说“像素是矩形并布置在网格上”的一种奇特的方式,但请与我保持联系:P
结果,图像格式也将其像素存储在网格中,并假设网格中最近的邻居也将用于显示它。例如,许多图像将内置抗锯齿功能,因此在“最近的邻居网格”上显示时它们看起来会很好。
交互式应用程序(游戏)可能使用的纹理并非要在最近的相邻网格上显示,因此是该规则的一种例外。他们之所以这样做,是因为在执行过程中,他们会进行抗锯齿,双线性纹理采样等操作,这样,当显示器将其显示为最近的邻居网格时,无论将其推出到显示器中的任何图片都将看起来不错!
现在,进一步解决您的问题:六角形网格会具有任何优势吗?
我认为是的,它将!
首先,我认为最近的邻居看起来会更好。我没有任何对此事表示遗憾的真实证据,但是六边形更接近于一个圆,并且由于它不是规则的数据网格,我认为您的眼睛正在获得更好的数据分布。对不起,那只手有点摇摆。
我认为为什么看起来更好的很大一部分是线性滤波将从6个邻居而不是4个信息中获取信息,并且将在3个轴而不是2个值上进行内插。 =产生更好的图像。
进行三次插值也比在网格上进行三次插值要好,因此质量也会随着您算法质量的提高而提高。
至于它是否可以更有效地存储数据,它可以用更少的数据进行更好的过滤这一事实对我来说意味着可以更有效地存储数据。
最后,我想...也许您可以利用这些属性来发挥自己的优势。也许您可以将图像格式存储为较低的res六边形格式,然后在需要在运行时显示图像之前,可以使用采样算法将其转换回网格。
也许甚至有一种在像素着色器中有效执行此操作的好方法,因此它在运行时也会使用更少的内存吗?
这是一个有趣的主意(:
PS-拥有一个模拟显示器(没有单个像素,而是一个连续的彩色表面)会多么酷,它将所发送的像素数据看成不是矩形,而是作为连续表面上的采样点。也许在那里....