Трёхмерная компьютерная графика
Трёхмерная компьютерная графика, иногда её называют трёхмерными изображениями, порождёнными компьютером, означает графику, которая пользуется трёхмерным представлением геометрических данных. Координаты часто бывают декартовыми. Компьютер хранит их, чтобы считать и чтобы построить цифровое изображение. Изображение обычно плоское. Иногда это стереопара или картинка для дисплея, у которого глубина и правда есть. Результат можно сохранить и посмотреть позже, как анимацию, или показать по мере расчёта.
Название обещает объёмную картинку. Обычно получается плоская. В отличие от трёхмерного фильма, где сама подача должна создать зрительную глубину, у отрендеренного кадра на обычном мониторе нет глубины, которую измеришь линейкой. У него есть признаки глубины. Всё чаще те же данные отправляют и на дисплей, у которого глубина есть, в том числе на дисплеи систем виртуальной реальности. Данные категорию не сменили. Сменилось стекло.
Трёхмерная графика стоит особняком от двумерной компьютерной графики, которая для создания картинки и для её рендеринга обычно берёт другие методы и другие форматы. При этом она опирается на большую долю тех же алгоритмов: векторные методы в каркасной модели, растровые в итоговом изображении. В настоящих программах граница расплывается. Двумерная программа может взять трёхмерные приёмы ради эффекта освещения. Трёхмерная программа может взять двумерные приёмы для прохода, который к камере отношения не имеет. Надписи на коробке грубее кода.
Модель ещё не картинка
Объекты называют трёхмерными моделями. В отличие от отрендеренного изображения, данные модели живут в графическом файле. Трёхмерная модель это математическое представление трёхмерного объекта. Технически графикой она становится, только когда её показывают. Звучит как придирка. Она экономит много путаницы. На модели можно гонять расчёт и ни разу её не нарисовать. Её можно нарисовать плохо, и модель останется той же моделью. При трёхмерной печати модель рендерят в физический объект, и есть предел тому, насколько физическая вещь совпадёт с виртуальной. У принтера есть сопло, высота слоя и материалы, которые проседают. Файл ни о чём из этого не знает, пока вторая программа ему не скажет.
Изготовление картинки распадается на три фазы.
- Моделирование: построение компьютерной модели формы объекта.
- Компоновка и анимация: размещение и движение объектов, моделей, источников света и остального внутри сцены.
- Рендеринг: расчёты, которые по источникам света, типам поверхностей и прочим свойствам производят изображение.
Построение модели берёт первые две. Свет и материалы берёт третью. Между ними сидит файл сцены: геометрия, точка обзора, текстуры, источники света. Рендеринг читает этот файл и пишет пиксели.
Каркас, затем затенение
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 году. Разрыв между этими датами есть разрыв между патентом и изделием, которое человек мог заказать.
Ничто из этого не требует, чтобы картинка была похожа на фотографию. Модель можно нарочно отрендерить в художественной манере. А картинка может выглядеть объёмной и вовсе без модели. Это уже другой предмет: изображения, которые только кажутся глубокими.
