Interested Article - Воксел
- 2020-12-19
- 2
|
В статье есть список
источников
, но
не хватает
сносок
.
|
Во́ксел (в разговорной речи во́ксель , англ. Voxel — образовано из слов: объёмный ( англ. vo lumetric ) и пиксель ( англ. pi xel )) — элемент объёмного изображения, содержащий значение элемента растра в трёхмерном пространстве . Воксели являются аналогами двумерных пикселей для трёхмерного пространства. Воксельные модели часто используются для визуализации и анализа медицинской и научной информации.
В компьютерной графике воксели используются как альтернатива полигонам . Новички иногда ошибочно считают воксели заменой для физических пикселей (элементов матрицы дисплея). На самом деле под вокселом обычно понимается виртуальный элемент, соответствующий набору из шести прямоугольных полигонов. Всё в виртуальном мире — виртуальные пиксели, полигоны и воксели — должно быть спроецировано на пиксели физического экрана: [ источник не указан 1601 день ]
- Виртуальными пикселями «рисуют» плоские 2D модели объектов (спрайты) в 3D мире.
- Полигонами или 2D плоскостями как бы обволакивают пустое 3D пространство.
- Вокселами выкладывают объёмные модели объектов, которые имеют внутренности.
То есть в отличие от полигонов и пикселей, воксели — это истинный 3D кирпичик, а не 2D плоскость, которая «окружает» пустое 3D пространство. [ источник не указан 1601 день ]
Моделирование в виртуальных пикселях уже почти не встречается в производстве 3D графики. Сейчас при 3D моделировании объекты часто создают в основном только двумя способами:
- либо с помощью плоских полигонов — тем самым будет создана полая модель без внутреннего наполнения, но для тех, кто наблюдает 3D, часто и не требуется знать, что, например, у 3D кошки внутри ничего нет. Для наблюдателя достаточно лишь хорошо сшитой из треугольных полигонов поверхности кошки.
- либо с помощью объёмных кубиков — вокселей, которые полностью заполняют внутренности 3D модели, где каждый такой кубик несёт в себе информацию о том, чем он является, например, кожей, мышцами, костями и т.д. [ источник не указан 1601 день ]
Ввиду того, что полигональные модели пусты по своей природе, очень трудно моделировать их поведение в 3D мире. Например, если программисту нужно смоделировать поведение воды в 3D игре про пиратов, он сталкивается с проблемой: как смоделировать волны на поверхности воды? Как моделировать всплески воды, ведь вода в игре — это просто ковёр, сплетённый из треугольников голубого цвета, под этой плоскостью ничего нет, а между тем нужно показать пенящуюся и плескающуюся воду. То есть надо показать отделение частей воды друг от друга в виде пены и всплесков. Приходится вводить новые объекты в память компьютера, а управление этими дополнительными объектами требует большого искусства именно от программиста, а не от дизайнера. [ источник не указан 1601 день ]
Если же воду моделировать через воксели, то всё становится гораздо проще, ибо вся вода от поверхности океана и до дна состоит из «атомов», которые легко «отделяются» друг от друга естественным, с точки зрения программиста, путём. [ источник не указан 1601 день ]
Представление в памяти
Как и в случае с пикселями, сами по себе вокселы не содержат информации о своих координатах в пространстве. Их координаты вычисляются из их позиции в трёхмерной матрице — структуре, моделирующей объёмный объект или поле значений параметра в трёхмерном пространстве.
Этим вокселы отличаются от объектов векторной графики , для которых известны координаты их опорных точек (вершин) и прочие параметры.
Воксельные модели имеют определённое разрешение . Каждый воксел имеет определённое значение, например, цвет.
Для хранения воксельной модели применяют массив размерами X×Y×Z. Несжатые воксельные модели (по сравнению с векторными) потребляют гораздо больше места в памяти для обработки. К примеру, одна несжатая модель размером 256×256×256 вокселей будет занимать память объёмом от 32 МБ (256*256*256=16777216 вокселей и как минимум 2 байта на воксель даже в 256 градациях серого, так как к ним надо добавить 256 градаций прозрачности, итого 16777216*2=33554432 байт=33554432/1024=32768 КБ = 32768/1024=32 МБ ), в то время как векторной модели может потребоваться в десятки или даже сотни раз меньше.
Разреженное воксельное октодерево
Одной из новейших перспективных технологий, позволяющей делать эффективную детализацию воксельных объектов, является разреженное воксельное октодерево ( sparse voxel octree ). Её преимущества: значительная экономия памяти, естественная генерация уровней детализации (аналога mipmap -карт) и высокая скорость обработки в рейкастинге .
Первый узел дерева — корень — является кубом, содержащим весь объект целиком. Каждый узел или имеет 8 кубов-потомков, или не имеет никаких потомков. В результате всех подразбиений получается регулярная трёхмерная сетка вокселей.
Докселы
Докселы — это вокселы, изменяющиеся во времени. Как ряд картинок составляет анимацию , так и ряд воксельных моделей во времени могут составлять трёхмерную анимацию .
Области применения
Благодаря тому, что трёхмерная матрица хранит значение воксела для каждого единичного элемента объёмного пространства, воксельные модели хорошо подходят для моделирования непрерывных сред и полей значений (например, распределение угарного газа в атмосфере над городом), в то время как векторные более предназначены для моделирования дискретных объектов.
Медицинские данные
Ряд медицинских устройств, например, сканеры компьютерной томографии , трёхмерное УЗИ , МРТ выдают послойную информацию при сканировании. По завершении сканирования строится воксельная модель. Значения вокселей в этом случае отражают данные с устройства. В компьютерной томографии, например, это прозрачность тела по шкале Хаунсфилда , то есть прозрачность для рентгеновских лучей.
Для воксельных моделей (например, медицинских данных со сканера МРТ ) просто реализуется вывод любого сечения модели. Это даёт возможность изучить любой срез данных.
Визуализация
Для воксельных моделей существует множество алгоритмов визуализации . Один из быстрейших способов называется «бросанием снежков» (англ. splatting ). Вокселы «бросаются» на поверхность просмотра в порядке удалённости от неё, от дальних к близким. Получившиеся «следы от снежков» (сплэты) рендерятся как диски, цвет и прозрачность которых изменяется в зависимости от диаметра в соответствии с нормальным (гауссовым) распределением . В различных реализациях могут использоваться другие элементы или же другие распределения.
Для улучшения качества изображения используются более сложные алгоритмы отрисовки: алгоритм Marching cubes и другие. Алгоритм «Marching Cubes» (бегущие кубики) строит изоповерхность , опираясь на данные вокселов. Обычная реализация алгоритма использует значения 8-ми соседних вокселов, чтобы отрисовать полигон внутри куба, образованного их координатами. Так как существует всего 256 возможных комбинаций, можно заранее их подготовить и использовать типовые «кирпичики» (уже в экранных координатах) для отрисовки больших объёмов данных в хорошем качестве.
Существуют и другие алгоритмы, например, проекция максимальной интенсивности , которая хорошо отображает положение в трёхмерном пространстве наиболее ярких участков трёхмерного объекта.
Объёмные дисплеи
Объёмные дисплеи могут выводить модели в трёхмерном объёме. Такие дисплеи используют различные физические механизмы для показа светящихся точек в пределах некоторого объёма. Например, могут состоять из множества плоскостей, формирующих изображение, которые расположены одна над другой, или плоских панелей, создающих эффект объёмности за счёт своего вращения в пространстве .
Иногда для таких дисплеев указывается их разрешение в вокселах, например 128×128×128.
Вокселы в компьютерных играх
|
В разделе
не хватает
ссылок на источники
(см.
рекомендации по поиску
).
|
Вокселы давно используются в компьютерных играх , однако их использование ограничено из-за серьёзных требований к аппаратной части. Чаще всего в играх вокселы используются для отрисовки моделей. Иногда используются воксельные ландшафты вместо обычного поля высот — это позволяет создавать более сложные пространства с пещерами и мостами. Одной из самых важных возможностей воксельных ландшафтов, интерьеров и объектов является возможность их динамического изменения и разрушения в реальном времени.
Воксельные движки встречались в играх:
- Игра Space Engineers , где воксельная графика используется для создания и изменения ландшафта планет, лун и астероидов, а также разнообразных пород для добычи ресурсов.
- Компания NovaLogic использовала воксельные графические движки в сериях игр Delta Force , и Comanche .
- Игры Command & Conquer: Tiberian Sun и Command & Conquer: Red Alert 2 от компании Westwood Studios использовали воксельные модели транспортных средств.
- Игра Blade Runner .
- Игра Outcast использовала вокселы для прорисовки объектов.
- Игра .
- Игра — игра с процедурно-генерируемым миром, которая представляет собой песочницу (с различными режимами, включая выживание ), построенная на воксельной графике. Благодаря этому можно полностью изменять ландшафт (копать пещеры, строить, наращивать горы и создавать водоёмы).
- Игра Вангеры использовала большие многоуровневые непрерывные воксельные пространства с изменяемыми «живыми» ландшафтами.
- В движке Build Engine есть возможность использования воксельных объектов. Такие объекты используются в шутерах Shadow Warrior и Blood , построенных на этом движке, а также в переработанном Duke Nukem 3D High Resolution Pack.
- Игра .
- Игра .
- Master of Orion III использует воксельную графику для отображения космических битв и солнечных систем.
- В игровом движке CryEngine 2 , который использовался в играх Crysis , Crysis Warhead и Crysis Wars , вокселы использовались для построения пустых пространств под поверхностью ландшафта уровня.
- В 3D-шутере Z.A.R (1997) и аддоне Mission Pack (1999) использовался воксельный движок для отображения разрушаемого ландшафта.
- Игры Worms 3D и Worms 4: Mayhem использовали «покселы» ( англ. poxel , образовано от voxel (воксел) + polygon (полигон)) для динамически разрушаемого трёхмерного ландшафта, подобного ландшафту в двухмерных версиях.
- Игра .
- Игра Minecraft использует подобие воксельной графики для создания случайно генерируемого ландшафта, но рендеринг производит с помощью полигонов.
- Движок Panda 3D
- Игра (похожа на ARK: Survival Evolved , но имеет воксельную графику)
- Игра Voxelstein 3D использует воксельный движок «Voxlap», благодаря которому вся геометрия игры построена на вокселах и полностью разрушаема .
- Движок id Tech 6 компании id Software будет использовать инновационную технологию « Sparse Voxel Octree » (SVO, рус. Разреженное воксельное октодерево ) для визуализации статических объектов (ландшафта, массивных строений и т. д.) игрового уровня.
- Графический движок OTOY , ориентированный на серверное исполнение, будет использовать вокселы для построения геометрии уровня и трассировку лучей для освещения.
- Игра Ace of Spades использует воксельный движок Voxlap.
- Игра использует воксельную графику для создания случайно генерируемого игрового мира, моделей игроков и NPC.
- Игра Trove использует воксельный движок, написанный на C++.
- Игра компании Housemarque.
- Игра 7 Days to Die
- Игра Shadows of Doubt генерирует мир для детективных расследований на основе воксельной технологии.
- В игре Astroneer игровой процесс полностью базируется на преобразовании воксельного ландшафта в структуры, необходимые игроку для достижения поставленных задач: пещеры, тоннели, мосты, дороги и т. д.
- Игра No Man’s Sky использует воксельный рендеринг.
- А также игры и
См. также
Примечания
- от 25 декабря 2009 на Wayback Machine Компьюлента, 24.12.2008.
- от 29 января 2010 на Wayback Machine Computerworld Россия, 06.08.2002
- . Дата обращения: 14 января 2010. 7 января 2010 года.
Ссылки
- (англ.) . IEEE Computer, Vol. 26, No. 7 (июль 1993). Дата обращения: 9 июля 2010. 18 февраля 2012 года.
- Дмитрий Чеканов. 3. Tom's Hardware (30 октября 2009). — Статья, описывающая вокселы, октодеревья, рейкастинг, их перспективы и ограничения. Дата обращения: 6 февраля 2010.
- Рони Ягель Кафедра информатики, Университет шт. Огайо, США . . Открытыe системы (издательство) (16 мая 1996). Дата обращения: 11 февраля 2010.
- Рони Ягель Кафедра информатики, Университет шт. Огайо, США . . Открытыe системы (издательство) (16 мая 1996). Дата обращения: 11 февраля 2010.
- . GameDev.ru (23 марта 2007). Дата обращения: 9 июля 2010.
- Сергей Книгин. . Really.ru (21 февраля 2007). Дата обращения: 10 июля 2010. 19 мая 2012 года.
- hitan. 3. CodeNet.ru (7 марта 2009). Дата обращения: 10 июля 2010. 18 февраля 2012 года.
- (англ.) . jonof.id.au (14 марта 2009). Дата обращения: 10 июля 2010. Архивировано из 18 февраля 2012 года.
- 2020-12-19
- 2