Вот мой взгляд на это. Пиксель - это не квадрат и даже не прямоугольник. Пиксель - это точка (бесконечно мала), цвет которой связан с ней.
Единственный способ, которым я лично когда-либо видел пиксели, просматриваемые (интерпретируемые) дисплеем, - это использовать выборку «ближайшего соседа», где пиксели были на прямоугольной сетке, что означает, что цвет любого данного пространства на дисплее - это цвет пиксель, к которому он ближе всего.
Это причудливый способ сказать «пиксели прямоугольные и расположены на сетке», но оставайтесь со мной в этом: P
В результате пиксели форматов изображений также сохраняются в сетке, при условии, что ближайший сосед в сетке также будет использоваться для его отображения. Например, многие изображения будут иметь встроенное сглаживание, чтобы они хорошо выглядели при отображении в «сетке ближайших соседей».
Интерактивные приложения (игры) могут использовать текстуры, которые не должны отображаться как есть в сетках ближайших соседей, поэтому являются своего рода исключением из этого правила. Они делают это потому, что в рамках своего выполнения они выполняют сглаживание, билинейную выборку текстур и т. Д., Так что любое изображение, которое они выдвигают на дисплей, будет хорошо выглядеть, когда на дисплее будет отображаться сетка ближайшего соседа!
Теперь, приближаясь к вашему вопросу: будет ли шестиугольная сетка иметь какие-либо преимущества?
Я думаю, что да, это будет!
Во-первых, я думаю, что ближайший сосед будет выглядеть лучше. У меня нет никаких реальных доказательств этого сожаления, но шестиугольник более близко приближается к кругу, и, поскольку он не является регулярной сеткой данных, я думаю, что ваш взгляд получает лучшее распределение данных. Извините, это немного взволнованно.
Я думаю, что большая часть того, почему это выглядело бы лучше, заключается в том, что линейная фильтрация будет принимать информацию от 6 соседей вместо 4, и будет интерполировать по 3 осям вместо 2. Больше информации из менее регулярно расположенных выборок, чем сетка, дает вам = лучше полученное изображение.
Выполнение кубической интерполяции также будет лучше, чем кубическая интерполяция в сетке, поэтому качество возрастает по мере увеличения качества вашего алгоритма.
Что касается того, насколько эффективно он хранит данные, тот факт, что он может лучше фильтровать с меньшим количеством данных, означает для меня, что да, он может хранить данные более эффективно.
И я думаю, наконец ... может быть, вы могли бы использовать эти свойства в ваших интересах. Возможно, вы могли бы сохранить формат изображения в шестиугольном формате с низким разрешением, а затем, прежде чем вам нужно было отобразить изображение во время выполнения, вы могли бы использовать алгоритмы выборки, чтобы преобразовать его обратно в сетку.
Может быть, даже был бы хороший способ сделать это эффективно в пиксельном шейдере, чтобы он также использовал меньше памяти во время выполнения?
Это интересная идея (:
PS - как здорово было бы иметь аналоговый дисплей (без отдельных пикселей, но с непрерывной цветной поверхностью), который смотрел бы на отправленные вами данные пикселей не в виде прямоугольников, а вместо этого в качестве точек выборки на непрерывной поверхности. Может быть, немного там, хотя ....