EnglishРусскийTürkçeDeutschFrançais О сайте · RSS
WebInterface.org
WebInterface.org

Заметки о рисунке, печати, фотографии и картинках, которые делает компьютер.

Начало · Трёхмерная графика · Трёхмерная компьютерная графика

Трёхмерная компьютерная графика

Трёхмерная компьютерная графика, иногда её называют трёхмерными изображениями, порождёнными компьютером, означает графику, которая пользуется трёхмерным представлением геометрических данных. Координаты часто бывают декартовыми. Компьютер хранит их, чтобы считать и чтобы построить цифровое изображение. Изображение обычно плоское. Иногда это стереопара или картинка для дисплея, у которого глубина и правда есть. Результат можно сохранить и посмотреть позже, как анимацию, или показать по мере расчёта.

Название обещает объёмную картинку. Обычно получается плоская. В отличие от трёхмерного фильма, где сама подача должна создать зрительную глубину, у отрендеренного кадра на обычном мониторе нет глубины, которую измеришь линейкой. У него есть признаки глубины. Всё чаще те же данные отправляют и на дисплей, у которого глубина есть, в том числе на дисплеи систем виртуальной реальности. Данные категорию не сменили. Сменилось стекло.

Трёхмерная графика стоит особняком от двумерной компьютерной графики, которая для создания картинки и для её рендеринга обычно берёт другие методы и другие форматы. При этом она опирается на большую долю тех же алгоритмов: векторные методы в каркасной модели, растровые в итоговом изображении. В настоящих программах граница расплывается. Двумерная программа может взять трёхмерные приёмы ради эффекта освещения. Трёхмерная программа может взять двумерные приёмы для прохода, который к камере отношения не имеет. Надписи на коробке грубее кода.

Модель ещё не картинка

Объекты называют трёхмерными моделями. В отличие от отрендеренного изображения, данные модели живут в графическом файле. Трёхмерная модель это математическое представление трёхмерного объекта. Технически графикой она становится, только когда её показывают. Звучит как придирка. Она экономит много путаницы. На модели можно гонять расчёт и ни разу её не нарисовать. Её можно нарисовать плохо, и модель останется той же моделью. При трёхмерной печати модель рендерят в физический объект, и есть предел тому, насколько физическая вещь совпадёт с виртуальной. У принтера есть сопло, высота слоя и материалы, которые проседают. Файл ни о чём из этого не знает, пока вторая программа ему не скажет.

Изготовление картинки распадается на три фазы.

  1. Моделирование: построение компьютерной модели формы объекта.
  2. Компоновка и анимация: размещение и движение объектов, моделей, источников света и остального внутри сцены.
  3. Рендеринг: расчёты, которые по источникам света, типам поверхностей и прочим свойствам производят изображение.

Построение модели берёт первые две. Свет и материалы берёт третью. Между ними сидит файл сцены: геометрия, точка обзора, текстуры, источники света. Рендеринг читает этот файл и пишет пиксели.

Каркас, затем затенение

Sketchpad, показанный в 1963 году, был программой для рисования в двух измерениях. В том же году Sketchpad III Тимоти Джонсона расширил её до интерактивных каркасных моделей в трёх измерениях, с перспективным видом рядом с видом сверху, спереди и сбоку. Скрытые рёбра оставались видимыми. О том, что объект сплошной, можно было догадаться, только внимательно читая линии. Исследования затенения к середине 1970-х как раз и сделали так, что полигональные модели стали выглядеть непрерывными, а не гранёными. Артур Аппель в 1968 году изложил поточечное затенение твёрдых тел вместе с задачей решать, какие области лежат в тени. Метод Анри Гуро 1971 года считал освещённость в вершинах полигона и интерполировал её по грани, отчего видимые швы стали меньше. Модель Буй Тыонг Фонга 1975 года интерполировала нормали поверхности и вычисляла бликовый член в каждой выборке, отчего на полигональном приближении кривой появлялся более собранный блик.

Один из первых случаев, когда кинозритель увидел анимацию такого рода, это Futureworld 1976 года. Туда вошли лицо и рука, сначала сделанные для короткометражки 1972 года A Computer Animated Hand Эдвином Кэтмаллом и Фредом Парком, тогда студентами в Юте. Домашние компьютеры получили какое-то трёхмерное программное обеспечение в конце того же десятилетия. 3D Art Graphics, написанная Кадзумасой Митадзавой, вышла в июне 1978 года для Apple II.

Модель освещения Тёрнера Уиттеда 1980 года продолжала лучи за первую поверхность, так что отражение, преломление и тени от точечных источников считались вместе. Он продолжал лучи, пущенные от зрителя, метод, который он возводил к Аппелю, а не лучи, прослеженные наружу от ламп. В 1984 году Роберт Л. Кук, Томас Портер и Лорен Карпентер опубликовали распределённую трассировку лучей (ray tracing), заменив эти точные вторичные лучи стохастическими выборками. Размытие движения, глубина резкости, полутени, полупрозрачность и глянцевое отражение входят в число эффектов, которые такие выборки могут дать. Уравнение рендеринга Джеймса Каджии, на SIGGRAPH в 1986 году, записывает перенос света одним интегральным уравнением. Модель Уиттеда и распределённая трассировка лучей суть приближения к нему. Трассировка путей (path tracing), решение Монте-Карло, которое он описал, покрывает более широкий набор оптических эффектов, чем фиксированное дерево лучей отражения и преломления.

Для полнометражной анимации Кук, Карпентер и Кэтмалл описали архитектуру Reyes в 1987 году. Каждую поверхность нарезают на микрополигоны, затеняют в собственных координатах этой поверхности и проверяют на видимость стохастической выборкой в z-буфер. На рабочих станциях Silicon Graphics и Sun художники Pixar построили модели для Toy Story (1995), а кадры выдал RenderMan. Режиссёром был Джон Лассетер. Это был первый кинотеатральный фильм, чьё изображение целиком создано компьютером.

31 августа 1999 года Nvidia представила GeForce 256, одну микросхему, соединившую преобразование, освещение и рендеринг, и компания назвала её первым в мире GPU. Более ранняя история графических микросхем это другое «первое», и её рассказывают вместе с рабочими станциями. Нашлемный дисплей для виртуальной реальности запатентовали в 1960 году. Проект Oculus Rift начался с кампании на Kickstarter в 2012 году. Разрыв между этими датами есть разрыв между патентом и изделием, которое человек мог заказать.

Ничто из этого не требует, чтобы картинка была похожа на фотографию. Модель можно нарочно отрендерить в художественной манере. А картинка может выглядеть объёмной и вовсе без модели. Это уже другой предмет: изображения, которые только кажутся глубокими.

Дальше: Как строят модель и приводят её в движение