Пиксель. История одной точки - Элви Рэй Смит
Шрифт:
Интервал:
Вспомните универсальную машину Тьюринга — картонную карточку из главы о вычислениях. Она понимала язык с инструкциями вроде «3: 4 # [картинка]», что означает «если вы видите цифру 3 в ячейке ленты через отверстие, то замените ее на 4, переместитесь на один квадрат влево и поверните карточку, чтобы она выглядела как картинка». Каждый компьютер имеет похожий мучительный язык машинных инструкций, который уникален для этой конкретной модели.
Настоящий прорыв в вычислительной технике совершила разработка стандартных языков программирования высокого уровня, таких как язык C, придуманный в Bell Labs. Они работали на любом компьютере. Пользователь пишет программу на языке, похожем на английский. Получившийся текст пропускается через специальную программу-комплилятор, которую программисту не обязательно понимать, — она преобразует инструкции стандартного языка программирования в команды машинного языка конкретного компьютера. Например, когда кто-то покупает систему Unix, она поставляется в комплекте с высокоуровневым языком C и компилятором для C в низкоуровневый машинный язык машины покупателя. В некотором смысле для разных машин существуют разные C.
Точно так же RenderMan освобождает создателя изображений от необходимости знать особенности оборудования для рендеринга какой-либо одной компании. Когда вы покупаете RenderMan, вы получаете его язык затенения, компилятор этого языка и полную систему рендеринга для любого конкретного оборудования, которое поддерживает этот язык. Кинематографисту, скажем, достаточно знать язык затенения RenderMan, а система RenderMan позаботится обо всем остальном — о генерации пикселей, — так сказать, за кулисами.
Разработку стандарта RenderMan возглавил Пэт Ханрахан, один из первых сотрудников, нанятых Pixar после основания компании. Пэт, деликатный и улыбчивый человек, попал в мир компьютерной графики из мира червей.
В Университете Висконсина он писал дипломную работу по нейронной структуре Ascaris lumbricoides, человеческой аскариды, самого распространенного паразитического червя в мире, заражающего, вероятно, миллиарды людей. Эти черви достигают фута в длину, их колонии живут в кишечнике, легких и кровеносной системе. Остается загадкой, что привело Пэта от отвратительных червей к прекрасным пикселям, но именно так и произошло. Он отправился в это путешествие, вначале устроившись в Лабораторию компьютерной графики Нью-Йоркского технологического института после того, как ее основной контингент ушел в Lucasfilm. Затем он перебрался из Нью-Йорка в Калифорнию, чтобы стать еще одним гением, работающим в Pixar.
Традиция соблазнять компьютерной графикой специалистов из других отраслей продолжалась. Джим Лоусон (из эпиграфа) вначале работал в Проекте цифрового аудио студии Lucasfilm. Как и Пэт Ханрахан, он присоединился к Pixar вскоре после ее основания. Джим и Пэт вместе трудились над усовершенствованием внутреннего языка затенения Роба Кука и превращением его в язык затенения RenderMan, предназначенный для внешнего мира. Лоусон напишет «внутренний» генератор пикселей для RenderMan.
Подробно рассказывать о RenderMan я здесь не буду, но краткий список некоторых официальных определений на его теперь уже стандартном языке затенения вас точно не удивит: рельеф, глубина, фонг, преломление и текстура. Язык позволяет вам определять источники света, тени и разбрасыватели пикселей — и многое другое.
RenderMan отделил художника от инструмента. У всех, кроме студий Lucasfilm и Pixar, возникли бы сложности с использованием программы для рендеринга Reyes Карпентера и Кука. RenderMan сделал технологию доступной для нового сообщества — как художников, так и технических специалистов — за пределами Pixar. С его помощью программа моделирования A могла общаться с модулем визуализации RenderMan X, а программа моделирования B могла общаться с модулем визуализации RenderMan Y. Все это функционировало, хотя все программы (A, B, X и Y) были разработаны совершенно независимо друг от друга. В некотором смысле существуют разные RenderMen [sic!] для разных компьютеров. Другими словами, люди используют язык для управления различными средствами визуализации RenderMan, которые совместимы с различными программами моделирования и работают на разных компьютерах. Переход от прямого программирования методов затенения к языку затенения (Кук) стал очень значительным шагом, а скачок от специфического языка к стандартному (Ханрахан) ознаменовал еще более колоссальный прогресс.
Создать хороший стандарт сложно — его необходимо очень тщательно продумать, чтобы он оставался универсальным и актуальным на протяжении долгого времени. Раньше существовало много графических стандартов, но Ханрахан первым включил в них программируемое затенение. Благодаря обеспеченной им гибкости RenderMan существует уже 30 лет.
RenderMan, опубликованный в 1990 году, стал основным голливудским продуктом для создания визуальных эффектов и анимации, основанным на Центральной Догме компьютерной графики. Вместо разработки различных алгоритмов затенения треугольников, каждый из которых несовместим со всеми остальными, RenderMan установил общую основу для всех таких алгоритмов. В результате производительность процесса визуализации существенно повысилась.
И индустрия щедро вознаградила разработчиков. Роб Кук, Лорен Карпентер и Эд Катмулл получили премию Американской киноакадемии за свой вклад в компьютерную киновизуализацию в 2001 году — первый «Оскар», присужденный за работу в области информатики. Пэт Ханрахан получил за RenderMan три награды Технической академии, одну из которых разделил с Лореном, Робом, Эдом и другими. Роб, Эд и Пэт удостоились премии Кунса, высшей награды Siggraph. Когда я заканчивал работу над книгой в марте 2020 года, мне сообщили, что Эду Катмуллу и Пэту Ханрахану присуждена премия Тьюринга.
Фильм наконец попадает в центр внимания
Часы закона Мура неумолимо тикали, и наконец наш час пробил: компьютеры преодолели новый рубеж — шаг в 100 000 раз. И тогда — через пять лет после создания Pixar, в 1991-м, — на сцену вышла студия Disney, руководство которой предложило: «Давайте сделаем тот фильм, о котором вы всегда мечтали». Да, они профинансировали создание этого фильма и спасли репутацию (и инвестиции) Стива Джобса и компанию Pixar. Идея Фильма не принадлежит Стиву Джобсу, как иногда ошибочно считают. Джобс занимался компанией NeXT. Он никогда не говорил с нами о кино. Это была идея Disney, наша мечта и цель с 1970-х годов.
Мы пять мучительных лет ждали возможности начать работу над Фильмом. Но возникла серьезная проблема. Наш ведущий аниматор Джон Лассетер отказывался работать со студией Disney. Ведь его оттуда выгнали. И он полагал, что Джеффри Катценберг, возглавлявший отдел анимации Disney, — тиран, с которым невозможно работать. Итак, мы с Эдом снова ужасно разозлились.
Но нам повезло. Катценберг понял проблему и сам сделал шаг нам навстречу. В 1991 году он организовал совещание в штаб-квартире студии Disney в Бербанке — специально чтобы убедить Джона в возможности работать со студией и с ним самим. Мы с Эдом отправились на примирительную встречу,
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!