Как и пиксели в 2D-битовой карте , сами воксели обычно не имеют своего положения (т. е. координат ), явно закодированного со своими значениями. Вместо этого системы рендеринга выводят положение воксела на основе его положения относительно других вокселей (т. е. его положения в структуре данных , составляющей единое объемное изображение ). Некоторые объемные дисплеи используют воксели для описания своего разрешения . Например, кубический объемный дисплей может отображать 512×512×512 (или около 134 миллионов) вокселей.
В отличие от пикселей и вокселей, полигоны часто явно представлены координатами своих вершин (как точки ). Прямым следствием этого различия является то, что полигоны могут эффективно представлять простые трехмерные структуры с большим количеством пустого или однородно заполненного пространства, в то время как вокселы отлично подходят для представления регулярно выбранных пространств, которые неоднородно заполнены.
Одно из определений:
Воксель — изображение области трехмерного пространства, ограниченной заданными размерами, имеющее собственные координаты узловой точки в принятой системе координат, собственную форму , собственный параметр состояния , указывающий на ее принадлежность к некоторому моделируемому объекту, и обладающее свойствами моделируемой области.
Такое определение имеет следующее преимущество. Если в пределах всей модели используется фиксированная форма вокселя, то гораздо проще работать с узловыми точками вокселя (т.е. тремя координатами этой точки). Однако существует и простая форма записи: индексы элементов модельного множества (т.е. целочисленные координаты). Элементами модельного множества в этом случае являются параметры состояния, указывающие на принадлежность вокселя моделируемому объекту или его отдельным частям, включая их поверхности. [2]
Этимология
Слово воксель произошло по аналогии с « пикселем », где vo представляет « объем » (вместо «изображения» пикселя), а el представляет «элемент»; [3] похожее образование с el для «элемента» — это слово « тексель ». [3]
Термин гипервоксель является обобщением вокселя для пространств более высокой размерности .
Рендеринг
Объем, описанный как вокселы, может быть визуализирован либо путем прямого объемного рендеринга , либо путем извлечения полигональных изоповерхностей, которые следуют контурам заданных пороговых значений. Алгоритм марширующих кубов часто используется для извлечения изоповерхностей, однако существуют и другие методы.
Другой метод для вокселей включает растровую графику, где каждый пиксель дисплея просто трассируется в сцену, отслеживая ошибку, чтобы определить, когда следует сделать шаг . Типичная реализация будет трассировать каждый пиксель дисплея, начиная с нижней части экрана, используя то, что известно как y-буфер. Когда достигается воксель, который имеет более высокое значение y на дисплее, он добавляется в y-буфер, переопределяя предыдущее значение, и соединяется с предыдущим значением y на экране, интерполируя значения цвета. Существует серьезный недостаток растеризации вокселей, когда применяется преобразование, которое вызывает сильное наложение спектров . Преимуществом была возможность растеризации с использованием дешевых целочисленных вычислений на ЦП без аппаратного ускорения . [4]
Outcast и другие видеоигры 1990-х годов использовали эту графическую технику для таких эффектов, как отражение и рельефное отображение , а также, как правило, для рендеринга ландшафта . Графический движок Outcast в основном представлял собой комбинацию движка ray casting ( heightmap ), используемого для рендеринга ландшафта, и движка полигонов текстурного отображения, используемого для рендеринга объектов. Раздел «Программирование движка» в описании игр в руководстве содержит несколько подразделов, связанных с графикой, среди них: «Ландшафтный движок», «Полигональный движок», «Водный и теневой движок» и «Движок спецэффектов». [5] Хотя Outcast часто упоминается как предшественник воксельной технологии, [6] это несколько вводит в заблуждение. Игра на самом деле не моделирует трехмерные объемы вокселей. Вместо этого она моделирует землю как поверхность, которая может рассматриваться как состоящая из вокселей. Земля украшена объектами, которые моделируются с использованием полигонов с текстурным отображением. Когда разрабатывалась игра Outcast , термин «воксельный движок» применительно к компьютерным играм обычно относился к движку ray casting (например, движок VoxelSpace ). На странице технологий движка на веб-сайте игры ландшафтный движок также упоминается как «Voxels engine». [7] Движок является чисто программным ; он не полагается на аппаратное ускорение через 3D- графическую карту . [8]
Джон Кармак также экспериментировал с вокселями для движка Quake III . [9] Одной из таких проблем, на которую ссылался Кармак, было отсутствие графических карт, разработанных специально для такого рендеринга, требующего программного рендеринга.
Comanche также был первым коммерческим симулятором полета, основанным на воксельной технологии. NovaLogic использовала фирменный движок Voxel Space, разработанный для компании Кайлом Фрименом [10] (написанный полностью на языке ассемблера ), для создания открытых ландшафтов. [11] Эта техника рендеринга позволяла создавать гораздо более детализированную и реалистичную местность по сравнению с симуляциями, основанными на векторной графике того времени. [8]
Галерея
3D-рендеринг микро-КТ- сканирования фрагмента листа, разрешение около 40 мкм/воксель при просмотре в полный размер
Воксель представляет собой один образец или точку данных на регулярной трехмерной сетке. Эта точка данных может состоять из одного фрагмента данных, например, непрозрачности, или нескольких фрагментов данных, например, цвета в дополнение к непрозрачности. Воксель представляет собой только одну точку на этой сетке, а не объем; пространство между каждым вокселем не представлено в наборе данных на основе вокселей. В зависимости от типа данных и предполагаемого использования набора данных эта недостающая информация может быть реконструирована и/или приближена, например, с помощью интерполяции.
Значение воксела может представлять различные свойства. В КТ значениями являются единицы Хаунсфилда , дающие непрозрачность материала для рентгеновских лучей. [12] : 29 Различные типы значений получаются с помощью МРТ или ультразвука .
Вокселы могут содержать несколько скалярных значений, по сути, векторные (тензорные) данные; в случае ультразвукового сканирования с использованием B-режима и данных допплерографии плотность и объемный расход регистрируются как отдельные каналы данных, относящиеся к одним и тем же позициям вокселей.
Хотя воксели обеспечивают преимущество точности и глубины реальности, они, как правило, представляют собой большие наборы данных и ими трудно управлять, учитывая пропускную способность обычных компьютеров. Однако посредством эффективного сжатия и обработки больших файлов данных интерактивная визуализация может быть реализована на компьютерах потребительского рынка.
Технологии расширения вокселей до 4- и 5-мерных данных находятся в стадии изучения. [13]
Использует
Использование вокселей включает объемную визуализацию в медицине и представление рельефа в играх и симуляциях. Воксельный рельеф используется вместо карты высот из-за его способности представлять выступы, пещеры, арки и другие трехмерные особенности рельефа. Эти вогнутые особенности не могут быть представлены на карте высот, поскольку представлен только верхний «слой» данных, а все, что находится ниже, остается заполненным (объем, который в противном случае был бы внутренней частью пещер или нижней стороной арок или выступов).
Amok использует воксели для своего окружения. [14]
Armored Fist 3 — компьютерная игра, разработанная компанией Novalogic , в которой использовалась технология воксельного рендеринга.
Blade Runner — видеоигра, в которой для рендеринга персонажей и артефактов использовались воксели.
Castle Story — это разрабатываемая стратегическая игра в реальном времени, посвященная строительству замка, ландшафт которой состоит из сглаженных вокселей.
Cloudpunk — приключенческая игра в жанре киберпанк, почти полностью основанная на воксельной графике.
Dual Universe — это MMORPG-игра с единой вселенной, в которой воксели используются для строительства космических кораблей, цивилизаций и космических станций.
Ensrouded — это воксельная RPG-игра на выживание. Выпуск: февраль 2023 г., Keen Games
EverQuest Next и EverQuest Next: Landmark , отмененные MMORPG от Sony Online Entertainment , широко использовали вокселы для создания мира, а также контента, создаваемого игроками.
Hytale — это готовящаяся к выходу в свет ролевая игра-песочница с воксельной графикой, разрабатываемая студией Hypixel Studios и финансируемая Riot Games .
Master of Orion III использует воксельную графику для рендеринга космических сражений и солнечных систем. Сражения, отображающие 1000 кораблей одновременно, рендерились медленно на компьютерах без аппаратного графического ускорения.
Minecraft — это видеоигра -песочница , которая использует воксели для хранения данных о ландшафте, [16] но не использует методы рендеринга вокселей. Вместо этого она использует рендеринг полигонов для отображения каждого воксела в виде кубического «блока». [17]
Moonglow Bay — ролевая видеоигра о рыбалке, выпущенная в 2021 году и разработанная Bunnyhug с использованием стиля воксельной графики.
Miner Wars 2081 — это игра с открытым миром с шестью степенями свободы, созданная компанией Keen Software House , которая использует собственный движок воксельного рендеринга VRage, позволяющий пользователю деформировать рельеф астероидов и формировать туннели.
Nivalis — это предстоящая киберпанковская повседневная игра, действие которой происходит в воксельном мире, ранее представленном в Cloudpunk.
No Man's Sky — это игра по исследованию космоса, состоящая из процедурно сгенерированных звездных систем, содержащих исследуемые планеты, луны и астероиды, состоящие из вокселей. Воксельный движок позволяет как разрушать, так и создавать ландшафт.
Outcast — компьютерная игра в жанре экшен от третьего лица, созданная бывшим бельгийским разработчиком видеоигр Appeal [18] , в которой ландшафты визуализируются с помощью воксельного движка.
Robocraft — боевая игра с использованием транспортных средств, в которой игроки строят боевые машины из вокселей и готовых компонентов.
Shadow Warrior и Blood используют движок Build для воксельного рендеринга шутеров от первого лица вместо спрайтов в качестве опции для многих предметов и декораций. Duke Nukem 3D имеет созданный фанатами пакет в похожем стиле.
В Shattered Steel ландшафты деформировались с использованием воксельной технологии.
Trove — это воксельная MMORPG с элементами строительства, разработанная и изданная Trion Worlds . [20]
Vangers — компьютерная игра, использующая воксели для своей двухуровневой системы ландшафта. [21]
Veloren — это приключенческая ролевая игра, действие которой происходит в огромном фэнтезийном мире. [22]
Vox , выпущенная в 2012 году, представляет собой воксельную исследовательскую/RPG-игру, ориентированную на контент, создаваемый игроками.
Voxatron , компьютерная игра, созданная Lexaloffle, полностью создана и сгенерирована с использованием вокселей. [23] [24]
Werewolf — компьютерная игра, созданная Novalogic , которая использовала технологию воксельного рендеринга. Первоначально она была включена в комплект и поставлялась вместе с игрой Comanche 2 , хотя это были две отдельные игры.
Worms 4: Mayhem использует воксельный движок для моделирования деформации земли, как в старых 2D-играх Worms.
Luanti (ранее Minetest ) — это модифицируемая песочница, которая использует воксели для хранения данных о ландшафте, но не использует методы рендеринга вокселей. Вместо этого она использует рендеринг полигонов для отображения каждого воксела в виде кубического «блока»
Редакторы
В то время как визуализация научного объема не требует изменения фактических данных вокселей, редакторы вокселей могут использоваться для создания искусства (особенно пиксельного 3D-арта ) и моделей для игр на основе вокселей. Некоторые редакторы сосредоточены на одном подходе к редактированию вокселей, в то время как другие смешивают различные подходы. Вот некоторые распространенные подходы:
На основе среза: Объем разрезается по одной или нескольким осям, и пользователь может редактировать каждое изображение по отдельности с помощью инструментов 2D-растрового редактора . Они обычно хранят цветовую информацию в вокселях.
Скульптура: похожа на векторный аналог , но без ограничений топологии. Обычно они хранят информацию о плотности в вокселях и не имеют информации о цвете.
Строительные блоки: пользователь может добавлять и убирать блоки, как в игрушечном конструкторе .
Существует несколько воксельных редакторов, которые не привязаны к определенным играм или движкам. Их можно использовать как альтернативу или дополнение к традиционному 3D-векторному моделированию.
Расширения
Обобщением воксела является токсэль , или временной воксель. [25] Он используется в случае 4D- набора данных, например, последовательности изображений, которая представляет 3D-пространство вместе с другим измерением, таким как время. Таким образом, изображение может содержать 100×100×100×100 токсэлей, которые можно рассматривать как серию из 100 кадров объемного изображения 100×100×100 (эквивалентом для 3D-изображения будет показ 2D-поперечного сечения изображения в каждом кадре). Хотя хранение и обработка таких данных требуют больших объемов памяти, это позволяет представлять и анализировать системы пространства-времени .
^ Chmielewski, Sz., Tompalski, P. (2017). «Оценка видимости наружной рекламы в СМИ с использованием подхода на основе вокселей». Applied Geography , 87:1–13 doi :10.1016/j.apgeog.2017.07.007. Загрузка препринта: «Оценка видимости наружной рекламы в СМИ с использованием подхода на основе вокселей (доступна загрузка PDF)». Архивировано из оригинала 2017-10-02 . Получено 2017-10-02 .
^ Щурова, Екатерина И. (2015). «Методология разработки 3D-графического редактора для микромоделирования деталей из армированных волокном композитов». Advances in Engineering Software . 90 . Advances in Engineering Software Volume 90, December 2015, Pages 76-82: 76–82. doi :10.1016/j.advengsoft.2015.07.001.
^ ab Foley, James D.; Andries van Dam; John F. Hughes; Steven K. Feiner (1990). "Пространственно-раздельные представления; Детали поверхности". Компьютерная графика: принципы и практика . Серия системного программирования. Addison-Wesley . ISBN978-0-201-12110-0. Эти ячейки часто называют вокселями (элементами объема) по аналогии с пикселями.
^ "Voxels". tnlc.com . Архивировано из оригинала 2014-04-17.
^ Руководство Outcast . Infogrames. 1999. С. 34.
^ Бертух, Манфред (2009).«Klötzchenwelten» [Миры маленьких кубиков] в журнале c't Magazine, выпуск 04/2009». C't: Magazin für Computertechnik . Ганновер: Heise Zeitschriften Verlag GmbH & Co. KG: 183. ISSN 0724-8679.
^ "OUTCAST – Technology: Paradise". archive.org . 7 мая 2006 г. Архивировано из оригинала 7 мая 2006 г.
^ ab "Voxel landstorage engine Архивировано 2013-11-13 в Wayback Machine ", введение. В голове кодера, 2005.
^ "Немного истории – Технология 3D-рендеринга следующего поколения: Voxel Ray Casting". tomshardware.com . 21 октября 2009 г.
^ "Изобретения, патенты и патентные заявки Кайла Г. Фримена – Поиск патентов Justia". justia.com . Архивировано из оригинала 2014-02-01.
^ "FlightSim.Com – NovaLogic получила патент на воксельный космический графический движок". flightsim.com . Архивировано из оригинала 24.09.2015.
^ Novelline, Robert. Squire's Fundamentals of Radiology . Harvard University Press. 5-е издание. 1997. ISBN 0-674-83339-2 .
^ Общество, Оптика. «Высокоскоростной метод лазерной записи может упаковать 500 терабайт данных на стеклянный диск размером с CD». phys.org . Получено 2021-10-31 .
^ "Краткая история воксельных игр. | Блог DjArcas". Архивировано из оригинала 2013-12-18 . Получено 2013-12-18 .
^ "Формат куска: Формат блока". Minecraft Wiki . Получено 24 сентября 2023 г.
^ "Учебники/Единицы измерения: Расстояние". Minecraft Wiki . Получено 24 сентября 2023 г.
^ "Appeal SA - MobyGames". mobygames.com . Архивировано из оригинала 2014-12-19.
^ Зак, Роберт (4 апреля 2016 г.). ««Лучшего времени еще не было»: аттракционы Planet Coaster удовлетворяют спрос на глубокие симуляторы». Архивировано из оригинала 4 июля 2016 г. Получено 11 июля 2016 г.
^ "Trove – воксельная MMO-игра от Trion Worlds". trovegame.com . Архивировано из оригинала 22-07-2014.