IGROMANIA.RU
Registration
MoreLess
Популярные за неделю
Популярные за месяц
«Викинг». The Return of the (Vi)king Кино > «Викинг». The Return of the (Vi)king
«300 спартанцев» Зака Снайдера и «Гладиатор» Ридли Скотта успешны и узнаваемы, но ни капли ни историчны. Российский «Викинг» идет другим путем.
Комментариев: 56
Презентация Nintendo Switch. Самое главное об играх для новой консоли Спец > Презентация Nintendo Switch. Самое главное об играх для новой консоли
Nintendo заявила, что в разработке находится более восьмидесяти игр для консоли Switch. Рассказываем о тех, что выйдут в ближайшее время.
Комментариев: 31
«Труп выглядит здоровее». Четвертый сезон «Шерлока» Кино > «Труп выглядит здоровее». Четвертый сезон «Шерлока»
Сценаристы «Шерлока» обещали, что четвертый сезон станет пугающим и шокирующим. Разбираемся, все ли у них получилось.
Комментариев: 30
«Press X to Win», или История Quick Time Event Спец > «Press X to Win», или История Quick Time Event
История возникновения и развития ваших нелюбимых всплывающих кнопочек.
Комментариев: 12
Выбор имеет значение. Превью Vampyr В разработке > Выбор имеет значение. Превью Vampyr
Смогут ли авторы Remember Me и Life is Strange создать полноценную ролевку с открытым миром? Делайте ваши ставки, господа!
Комментариев: 7
Battlefield 1. Фронтовые записки Спец > Battlefield 1. Фронтовые записки
Делимся опытом выживания в сетевом режиме главного боевика про первую мировую.
Комментариев: 6

Вы знаете, что трехмерная картинка на экране монитора — всего лишь хитроумный обман? Сложный комплекс технических фокусов, уловок и обходных маневров, которые из математического ничто хитроумно создают пространственное нечто. Сегодняшние компьютеры просто не в состоянии воссоздать в реальном времени весь наш многогранный мир, и вместо того, чтобы заняться делом, 3D-художники придумывают изощренные способы симуляции. Сегодня технологии очень близки — только не забудьте как следует прищуриться! — к заветному фотореализму.

Создание трехмерных изображений — процесс довольно сложный, и на пальцах тут всего не объяснишь. Ясно одно: все эти фантастические виртуальные пейзажи — лишь жалкое копирование нашей с вами реальности. Разработчики присматривались, как солнце играет на поверхности воды, подмечали вечную борьбу света и теней, несмелый блеск мокрого асфальта и строчка за строчкой переносили эту красоту в машинный код. Так день за днем, не сразу, компьютерные миры развились от неуклюжих векторов Elite до Crysis и Far Cry 2.

Но технически Far Cry 2 недалеко ушел от написанной для PDP-1 Spacewar! и телевизоров с электронно-лучевой трубкой. Современное 3D складывается из десятков взаимосвязанных процессов, многие из которых появились как раз во времена древних телевизоров и PDP. Вот лишь краткий обзор технологий — всех этих затенений Гуро, параллакс-эффектов и методов бросания лучей, которые кроются за великолепием трехмерных пейзажей.

Двухмерная векторная графика

В школе у вас, конечно, была тригонометрия. Помните, как откладывали фигуры по оси Х и Y? «Вектор — это отрезок определенной длины и направления, соединяющий упорядоченную пару точек, первая из которых называется его началом, а вторая — его концом...» На экране принцип построения тот же. Каждая фигура задана последовательностью точек; две координаты — это вектор, несколько соединенных векторов — фигура. Именно из таких фигур студенты Массачусетского технологического института и создали в 1961 году Spacewar!, первую видеоигру в реальном времени. Картинки выводились на векторный монитор, больше всего похожий на осциллограф. В каждом кадре векторы рисовались по простейшим бинарным инструкциям компьютера: есть сигнал — нет сигнала — есть сигнал — нет сигнала и т.д.

Каркасное 3D

В двухмерной векторной графике каждая точка на плоскости задается двумя координатами, а в 3D появляется еще один параметр — глубина, координата Z. Люди давным-давно научились изображать трехмерное пространство, поэтому появление 3D-графики было лишь делом времени — требовались достаточно мощные компьютеры. Флагманом трехмерных видеоигр стала Battlezone от Atari, вышедшая в 1980-м. Танки и поле боя выводились на дисплей в виде векторных контуров — слабенькое железо могло справиться с просчетом минимального количества точек в каждом кадре, притом что в комплектацию компьютера уже тогда входила отдельная микросхема для просчета графики!

Закрашенные полигоны

Несмотря на то, что многие игры-пионеры каркасного 3D использовали векторные дисплеи, наибольшее распространение получили мониторы с электронно-лучевой трубкой, или ЭЛТ-мониторы (до появления жидкокристаллических экранов и плазменных панелей бал правили именно они).

Картинка на ЭЛТ-мониторе растровая, она формируется на основе пиксельной сетки. Чтобы получить цветное изображение, его закрашивают пиксель за пикселем: каждая точка в каждой строчке экрана обновляется, когда электронный луч проходит слева направо и сверху вниз, — это называется рендерингом. Задав границы многоугольника, его можно закрасить, и у зрителя создастся впечатление, что область экрана залита сплошным цветом. Эта технология входит в семейство алгоритмов Брезенхэма* и до сих пор используется в графическом рендеринге. Вы вряд ли помните игру I, Robot от Atari, вышедшую в 1983 году, — там и запоминать-то было нечего, но она считается предтечей современных 3D-игр: в ней появились закрашенные полигоны и возможность управления камерой.

*Алгоритм Брезенхэма (Bresenham's line algorithm) — один из старейших алгоритмов в машинной графике, определяющий, какие пиксели на экране нужно закрасить, чтобы получить иллюзию прямой линии.

Затенение по Гуро

Для создания сферических фигур и изогнутых поверхностей часто используют многоугольники — их копируют много-много раз и ставят рядом друг с дружкой. Но у объектов все равно получается много углов, а если они цветные, то на стыке разноцветных деталей отчетливо видна граница.

В 1971 году француз Генри Гуро придумал, как сглаживать цветовые переходы между гранями полигонов. Метод назвали затенением по Гуро: каждой вершине многоугольника присваивается цвет, а при рендеринге он интерполируется между вершинами так, что получается мягкое затенение всего полигона. Затенение по Гуро часто используется в комбинации с простейшей формой освещения. Чтобы определить степень освещенности фигуры, сравнивается угол между вектором направленного света и нормалью поверхности полигона (то есть ориентацией поверхности в пространстве). Полученный угол и равен количеству света, падающему на полигон. А если разница нормали между примыкающими полигонами невелика, можно вывести из нормали поверхности вертексную* нормаль и использовать затенение по Гуро, чтобы придать освещенным поверхностям мягкий сглаженный вид. Именно это проделали в игре Star Wars: Tie Fighter, выпущенной в 1994 году.

*Вертекс — это вектор, которому присвоена дополнительная информация, например: цвет, нормаль поверхности, координаты текстуры и т.д.

Текстурирование

Главная проблема 3D — создание детализированных фигур: рендеринг каждого объекта, просчет закрашенных и затененных поверхностей очень загружает процессор. Чтобы снизить нагрузку на железо и в то же время создать как можно больше высококачественных моделей, используют текстурирование, один из базовых методов 3D-графики. Упрощенно — это накладывание изображения на полигон: к вершинам полигона привязываются конкретные пиксели плоского изображения, называемого картой текстуры. При рендеринге проводится интерполяция текстурных координат — к каждому пикселю в карте текстуры (или текселю — так называют минимальную единицу текстуры трехмерного объекта) привязывают экранный пиксель на поверхности полигона.

Масштабированные спрайты

Переход от 2D к 3D вышел довольно болезненным: бедно обставленные трехмерные миры выглядели не слишком привлекательно после буйства красок и обилия деталей, которое предлагали 2D-игры. Чтобы хоть как-то улучшить ситуацию, разработчики обратились к спрайтам (спрайт — это графический объект, чаще всего — растровое изображение, свободно перемещающееся по экрану отдельно от фона).

В двухмерных играх картинки-спрайты обычно рендерятся в полном масштабе, но в 3D масштаб меняется в зависимости от удаленности объекта, поэтому в трехмерных мирах спрайтовые объекты ставятся на векторы. Если вы приближаетесь к объекту, то пиксели исходной картинки по мере прорисовки изображения многократно копируются на прилегающие пиксели, если удаляетесь — пропускаются, и так создается спрайт нужного масштаба. Такой процесс называется линейной интерполяцией. Эту технику прославила Sega в играх вроде Space Harrier (1985), работавшей на легендарной аркадной плате System 16. Как ни смешно, современные графические процессоры эмулируют спрайты, используя текстурированные полигоны, развернутые к камере, — именно то, что Sega так старательно симулировала! Такова, например, листва на деревьях в The Elder Scrolls 4: Oblivion или дым из-под колес в гоночных играх типа Project Gotham Racing.

MIP-текстурирование

Текстуры высокого разрешения заметно перегружают процессор, из-за чего возникают мерцающие артефакты (см. главу «Фильтрация текстур»). Справляется с этим MIP-текстурирование (от лат. multum in parvo — «много в одном») — метод текстурирования, использующий несколько копий одной текстуры с разной детализацией.

Для MIP-текстурирования создается несколько масштабированных версий карты текстуры, каждая из которых в два раза меньше предыдущей. Когда нужно перенести текстуру на объект, компьютер определяет расстояние от объекта до камеры и выбирает самую «легкую» MIP-карту. Последнее время, правда, делается интерполяция между картами нескольких масштабов, чтобы переход между изображениями получался еще плавнее. MIP-текстурирование стали использовать в 1998 году, когда вышла Incoming от Rage Software.

Смогут ли авторы Remember Me и Life is Strange создать полноценную ролевку с открытым миром? Делайте ваши ставки, господа!
Рассказываем о самых разрекламированных играх, которые не оправдали ожиданий.
История возникновения и развития ваших нелюбимых всплывающих кнопочек.
Делимся опытом выживания в сетевом режиме главного боевика про первую мировую.
Комментарии к статьям
Войти и прокомментировать                Войти под логином игромании | Зарегистрироваться
Самые комментируемые статьи за месяц:
Кино > «Викинг». The Return of the (Vi)king
Кино > Ассасины и тамплиеры на большом экране. Фильм «Кредо убийцы»
Спец > Лучший мой подарочек — это Xbox One S!
Спец > Достать геймпад и плакать: игры, берущие за душу: от Ori and the Blind Forest и This War Of Mine до BioShock Infinite и Life is Strange
Спец > Презентация Nintendo Switch. Самое главное об играх для новой консоли
Кино > «Труп выглядит здоровее». Четвертый сезон «Шерлока»
Рецензии > Соборы в небесах. Обзор Space Hulk: Deathwing
Железный цех > В ожидании ZEN. Тестируем игровой компьютер Edelweiss MSI Edition на базе AMD 970
Спец > На скорости 160 км/ч, или Как работают гоночные игры
Прямым текстом > Darksiders: Warmastered Edition — жизнеспособное чудище Франкенштейна
Поиск по сайту Игровые платформы: PC  |   X360  |   XONE  |   PS3  |   PS4  |   Wii  |   Wii U  |   PSP  |   Vita  |   NDS  |   3DS  |   Android  |   iOS
1997-2017 ООО «Игромедиа». Мнение авторов и посетителей сайта может не совпадать с мнением редакции. Полное или частичное воспроизведение материалов сайта и журнала допускается только с согласия редакции. Для прямого контакта с редакцией пишите на основную почту «Игромании.ру».
Пользовательское соглашение

КОММЕРЧЕСКИЕ ССЫЛКИ:
Механизм выбора платформы позволяет отображать на страницах информационного портала материалы, относящиеся строго к выбранным платформам.

Каждый пользователь индивидуально выбирает для себя интересующие его игровые платформы.
 
Rambler's Top100 Яндекс цитирования