Мегатексту́ра
(
англ.
MegaTexture
) — это графическая технология, разработанная
Джоном Кармаком
, техническим директором
id Software
. Его технология повторяет технологию
Clipmapping
(ClipTexture), которая разработана компанией
SGI
и уже достаточно давно применяется для текстурирования больших ландшафтов. Отличие мегатекстуры от Clipmap состоит в том, что мегатекстура содержит маску для добавочных текстур повышенной детализации и информацию о типе материала (трава, камень и т. п.). Технология «Мегатекстура» реализована в последней версии движка
id Tech 4
и
id Tech 5
, используется в играх
Enemy Territory: Quake Wars
от
Splash Damage
,
Rage
от
Id Software
и в
Wolfenstein: The New Order
. Независимыми разработчиками были созданы модификации, позволяющие использовать технологию мегатекстуры в ранее вышедших играх, например,
Doom 3
.
Содержание
Описание технологии
Белые и цветные квадраты — тексели; тонкими линиями обозначены границы отдельных текстур. Круги — области высокой (средней, низкой) детализации. Загружено по 9 квадратов каждого уровня детализации.
Технология «Мегатекстура» относится к методике распределения
текстур
. Весь
ландшафт
игрового уровня покрывается одной большой текстурой вместо множества мелких текстур.
Характеристики и особенности технологии
Мегатекстура сохранена на жёстком диске и
подкачивается
при необходимости в оперативную память, позволяя создавать большое количество деталей и разновидностей ландшафта и при этом использует сравнительно мало оперативной памяти.
Существует несколько версий мегатекстуры в разных уровнях детализации; в каждом уровне она разбита на квадраты одинакового (в пикселях) размера. Например, мегатекстура 32768×32768 пикселей, покрывающая участок в 640×640 метров, в максимальной (нулевой) детализации разбивается на 32×32 квадрата размером 1024×1024 пикселя (20×20 м). Первый уровень детализации состоит из 16×16 квадратов того же размера (1024×1024 px), но вдвое меньшего пространственного разрешения (то есть, размер каждого квадрата — 40×40 метров), второй — из 8×8 квадратов по 80 м каждый, и т. д.
Ближайшие к камере пиксели рендерятся с текстурой максимального качества, содержащей только небольшой участок мегатекстуры.
Следующие пиксели рендерятся с текстурой меньшего качества, и маленьким разрешением.
Самые дальние
пиксели
рендерятся с основной текстурой в уменьшенном разрешении.