реклама
Видеокарты

Технологии создания трехмерного изображения

⇣ Содержание

Как я предполагаю, вы читаете эту статью на экране монитора, имеющего два измерения: высоту и ширину. Но когда вы смотрите мультик типа "Игрушечной истории 2" (Toy Story II) или играете в Томб Рейдер (Tomb Raider), экран вам кажется трехмерным. И что больше всего зачаровывает, вы можете наблюдать на экране реальный сегодняшний мир, мир в котором мы будем жить завтра, или мир, существующий только в воображении создателей компьютерной игрушки. И все эти миры появляются на одном и том же экране, который вы, возможно, минуту назад использовали для печати отчета о текущей котировке акций.

Как же так получается, что компьютер обманывает ваше зрение и вы невольно считаете что за плоским экраном существует трехмерное пространство? Как получается, что программисты игр убеждают нас в том, что мы наблюдаем за реальными персонажами в их реальной среде обитания? В этой статье мы расскажем о хитрых приемах дизайнеров трехмерной графики. Также мы поведаем про аппаратные решения, реализующие эти приемы так быстро, что вы не отличите игру от художественного интерактивного фильма (если таковые, конечно, когда-нибудь появятся).

Что делает картинку трехмерной?

Картинка, кажущаяся трехмерной (3D) должна иметь три измерения: высоту, ширину и глубину. Двумерная картинка (2D) имеет два измерения: высоту и ширину. Некоторые картинки изначально двумерны. Представьте себе буквы "М" или "Ж", указывающие на туалет. Эти символы должны быть понятны с первого взгляда. Поэтому, чем проще они нарисованы, тем лучше. Конечно, можно заменить эти буквы фигурками людей. Фигурки можно дополнить информацией: какой тип одежды на них надет, какой у них цвет волос, посещают ли они регулярно занятия по шейпингу и т.д. Но вся эта дополнительная информация лишь усложнит получение главной информации: в какую же дверь вам идти? Этим примером можно проиллюстрировать отличие 2D графики от 3D: двумерная графика хороша для выражения чего-либо простого за максимально короткое для понимания время. Трехмерная графика может дать больше информации, но на ее усвоение требуется большее время.


 Примеры 2D и 3D графики

Обратите внимание на треугольники слева. Каждый из них имеет три линии и три угла. Собственно, поэтому он и называется треугольником. Справа мы уже наблюдаем пирамиду - трехмерную структуру с четырьмя треугольными гранями. Пирамида нарисована с помощью пяти линий и шести углов, что почти в два раза больше чем для одного треугольника.

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

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

Часть проблемы заключается в том, что мы слишком избалованы. Мы требуем максимального реализма от всего, что видим. Если еще в середине 70-х игра типа "Арканоида" потрясала людей своей компьютерной графикой, то сейчас мы сравниваем качество очередной игрушки с DVD фильмом, требуя большой четкости и детализации. Мы требуем лучшей трехмерной графики от персонального компьютера, от Apple Macintosh, и в последнее время даже от игровых приставок типа Dreamcast или Playstation II.

Что такое трехмерная графика?

Для большинства из нас компьютеры или современные приставки являются наиболее привычным способом знакомства с трехмерной графикой. Компьютерные игры или видеоролики изготавливаются с помощью созданных компьютером картинок. Обычно процесс создания реалистичной трехмерной сцены разбивается на три важных шага.

  1. Создание виртуального 3D мира.
  2. Выбор части мира, которая будет демонстрироваться на экране.
  3. Задание представления для каждого пикселя на экране для максимальной реалистичности изображения.

Создание виртуального 3D мира

Виртуальный 3D мир это не просто эскиз такого мира. Чтобы вам лучше в этом разобраться, приведем пример из реального мира. Рассмотрим вашу руку и стол под ней. Ваша рука обладает характеристиками, которые определяют способы движения руки и ее вид. Пальцы примыкают к ладони и послушно сгибаются в суставах. Если шлепнуть рукой по столу, то он не брызнет во все стороны, так как стол всегда твердый и цельный. Ваша рука не может пройти сквозь стол. Всю эту информацию нельзя получить, просто взглянув на рисунок предмета. Но сколько бы фотографий вы ни сделали, на любой из них ваши пальцы будут сгибаться в суставах, и примыкать к ладони, стол будет всегда твердым, а не жидким. Так ведут себя вещи в реальном мире, и они всегда будут себя так вести. Объекты же виртуального трехмерного мира не существуют в природе, в отличие от вашей руки. Все они - искусственные, а все их свойства задаются программой. Разработчики используют специальные инструменты для аккуратного описания 3D мира, чтобы каждый объект вел себя, так как ему положено.

Какую часть виртуального мира показать на экране?

В любой момент экран демонстрирует только крошечную частичку виртуального трехмерного мира компьютерной игры. Показываемая часть определяется способом задания мира, направлением, куда вы пожелаете в нем пойти и точкой, в которую вы будете при этом смотреть. Независимо от того, какой путь вы выберите: вперед или назад, вверх или вниз, вправо или влево, виртуальный 3D мир вокруг вас определит, что вы увидите из вашей позиции по направлению вашего взгляда. Смысл увиденного вами не должен меняться от сцены к сцене. Если вы смотрите на объект с одной и той же дистанции, то он должен сохранять те же размеры независимо от направления взгляда. Способ движения и вид каждого объекта должны убеждать вас в том, что он имеет постоянную массу, что он всегда твердый или мягкий, жесткий или гибкий и т.д.

Программисты, создающие компьютерные игры, затрачивают огромные усилия на описание 3D мира, чтобы вы могли восхищаться этим миром и не встречать в нем ничего, что бы разубедило вас в его реальности. Вы же не хотите увидеть, как два твердых объекта проходят друг сквозь друга? Это сразу бы напомнило вам об иллюзорности виртуального мира.

И третий шаг включает в себя, по крайней мере, столько же компьютерных вычислений, как и первые два шага вместе взятые, если не больше. Причем этот шаг должен выполняться в реальном времени в играх и видеороликах. Мы более подробно рассмотрим его далее.

Следующая страница →
 
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.
window-new
Soft
Hard
Тренды 🔥
Новый трейлер раскрыл дату выхода Mandragora — метроидвании с элементами Dark Souls и нелинейной историей от соавтора Vampire: The Masquerade — Bloodlines 20 мин.
В Японии порекомендовали добавить в завещания свои логины и пароли 2 ч.
Обновления Windows 11 больше не будут перезагружать ПК, но обычных пользователей это не касается 3 ч.
VK похвасталась успехами «VK Видео» на фоне замедления YouTube 4 ч.
GTA наоборот: полицейская песочница The Precinct с «дозой нуара 80-х» не выйдет в 2024 году 6 ч.
D-Link предложила устранить уязвимость маршрутизаторов покупкой новых 7 ч.
Valve ужесточила правила продажи сезонных абонементов в Steam и начнёт следить за выполнением обещаний разработчиков 7 ч.
Австралия представила беспрецедентный законопроект о полном запрете соцсетей для детей до 16 лет 8 ч.
Биткоин приближается к $100 000 — курс первой криптовалюты установил новый рекорд 8 ч.
В открытых лобби Warhammer 40,000: Space Marine 2 запретят играть с модами, но есть и хорошие новости 9 ч.
Астрономы впервые сфотографировали умирающую звезду за пределами нашей галактики — она выглядит не так, как ожидалось 35 мин.
Представлена технология охлаждения чипов светом — секретная и только по предварительной записи 58 мин.
Японская Hokkaido Electric Power намерена перезапустить ядерный реактор для удовлетворения потребности ЦОД в энергии 2 ч.
Meta планирует построить за $5 млрд кампус ЦОД в Луизиане 3 ч.
Arm задаёт новый стандарт для ПК, чтобы навязать конкуренцию x86 3 ч.
HPE готова ответить на любые вопросы Минюста США по расследованию покупки Juniper за $14 млрд 3 ч.
Thermaltake представила компактный, но вместительный корпус The Tower 250 для игровых систем на Mini-ITX 4 ч.
Флагманы Oppo Find X8 и X8 Pro на Dimensity 9400 стали доступны не только в Китае — старший оценили в €1149 5 ч.
«ВКонтакте» выросла до 88,1 млн пользователей — выручка VK взлетела на 21,4 % на рекламе 5 ч.
В Китае выпустили жидкостный кулер с 6,8-дюймовым изогнутым OLED-экраном за $137 5 ч.