Надо признать, что Autodesk на сей момент является вызывающе большой компанией с шокирующе огромным потенциалом в виде накопленных программ и технологий. Об этом красноречиво свидетельствовал Autodesk Usergroup Meeting. Множество людей собрались в конференц-зале близлежащего отеля, чтобы послушать горячие новости и узнать планы компании на будущее. По моим оценкам, в зал набилось около трех тысяч человек, счастливо прижимающих к груди логотипированные игрушечные машинки, полученные при регистрации.

Во время митинга была продемонстрирована умопомрачительная скорость просчета ambient occlusion в новом 3ds max 2008 и сверхловкие инструменты по интерактивной настройке света и материалов.

Кстати, анонс Maya 2008 (это как бы девятая версия) был не слишком впечатляющим. Некоторые очень полезные вещи, унаследованные от Character Studio, возможность вставлять и двигать кости, не «отдирая» кожу (skin) от скелета, множественные и индивидуальные позы привязки (bind poses), mental ray 3.6 и, пожалуй, все. Ничего подобного прошлогоднему потрясающему анонсу Maya nCloth [Новый модуль для пакета Maya, предназначенный не только для симуляции одежды, но и для производства широкого спектра спецэффектов, таких как твердые и деформируемые тела, упругие конструкции, жидкости. Основан на новой вычислительной архитектуре Nucleus, впервые показанной на SIGGRAPH в прошлом году].

Все собрания пользователей традиционно заканчиваются грандиозными afterparty, и в этом году, чтобы как следует «протусовать» многотысячную армию поклонников, Autodesk арендовала… авианосец! Знаменитый Midway 41 (www.midway.org), стоящий на приколе в бухте Сан-Диего, превратился на одну ночь из патриотического музея в грандиозный фривольный ночной клуб: игровые автоматы, дискотеки на многочисленных палубах, галлоны текилы, реки пива, неистовые ультрапрофессиональные танцовщицы… впрочем, мы немного ушли от темы. Чем мне нравится Сигграф – так это своей неформальностью и полным отсутствием бизнес-пафоса. Серьезнейшие вещи демонстрируются и обсуждаются с легким налетом юмора и самоиронии. С утра до ночи. Такова индустрия.

Водные процедуры с кроликом

Наутро после высадки Autodesk-десанта открылась собственно выставка, именуемая в народе Exhibition Floor. По традиции самый большой и шумный стенд отхватила компания Newtek, демонстрировавшая несвежие версии когда-то знаменитого 3D-пакета Lightwave и другие странные программы. Похоже, что для основателей компании это скорее веселое хобби, чем реальный бизнес. Из интересных 3D-впечатлений можно отметить стенд Side Effects, производителя пакета Houdini. Мощный и бесконечно гибкий пакет к девятой версии обзавелся абсолютно новым интерфейсом в духе Cinema 4D. Смелый ход, вызванный, очевидно, желанием быть ближе к народу, изрядно напуганному утонченной сложностью Houdini. Кроме интерфейса, на стенде демонстрировали динамику жидкостей, основанную на решении уравнений Навье-Стокса. При мне бедного мехового трехмерного кролика сажали в аквариум, заливали трехмерной водой, сливали воду и сушили зверюшку трехмерным феном. Мокрый трехмерный мех быстро превращался в пушистую шубку, и все повторялось снова. Это была, очевидно, заранее просчитанная анимация. Саркастически поинтересовавшись о времени просчета подобной симуляции, я получил ответ: пятнадцать минут на кадр (!) для расчета лишь динамики жидкости, не включая просчет изображения. Вода – одно из самых дорогих трехмерных удовольствий.

И в этом смысле новая версия пакета Realflow компании Next Limit выглядела более чем бодро. Этот пакет, заточенный под динамику жидкостей, всегда отличался повышенной капризностью и задумчивостью. Новая версия (по крайней мере, ее демонстрация) вселяет некоторую надежду на появление более надежного инструмента для работы с водой. Напомню, что все пакеты или модули для работы со сплошными средами можно разделить на два основных класса. Первый базируется на дискретном подходе, известном в индустрии как частицы (particles), и представляет среду как набор микрогорошин с некоторой массой. К этому классу относятся Realflow и Maya Particles, позволяющие воспроизводить глобальные эффекты (струи, брызги, потоки, водопады). Второй класс основан на решении уравнений Навье-Стокса в ограниченной области пространства (контейнере) и используется для локальных эффектов (анимация поверхности жидкости, волны и всплески, заполнение объемов, истязание трехмерных кроликов). К этому классу можно отнести Maya Fluids, Houdini Fluid Solver, Scanline Flowline.

Последний не раз демонстрировался на секциях, посвященных спецэффектам к фильму "Триста спартанцев". Умопомрачительная программа, опередившая конкурентов лет на пять, возникла в застенках немецкой студии Scanline и развивалась там же в условиях строжайшей секретности. Коммерческих версий программы нет, одни лишь демонстрации ее возможностей. Желающие могут посмотреть ролики на сайте www.scanline.de.

Кстати, просчет (рендеринг) финального вида воды порой не проще симуляции ее поведения. Частицы приходится обтягивать полигональными сетками, огромное число частиц не позволяет использовать традиционные методы рейтрейсинга (трассировки лучей), брызги требуют отдельного подхода и пр. В этом смысле многообещающе смотрелся пакет Krakatoa, предназначенный именно для рендеринга огромного количества частиц. Методы просчета, разработанные на производстве [Имеется в виду производство таких фильмов, как "Resident Evil", «X-Men», «Poseidon», "Superman returns"], легли в основу нескольких коммерческих пакетов компании Frantic Films (в числе которых и Krakatoa, Deadline, FLOOD), дебютировавших в этом году на Сигграфе.

Это, кстати, еще одна любопытная тенденция последних лет – все больше появляется коммерческих пакетов, изначально разрабатывавшихся в различных студиях как инструменты для сугубо внутренних нужд [Самый, пожалуй, известный пример такого подхода – коммерческая версия Renderman от Pixar, являющаяся "бледной тенью" внутренних разработок компании, применяемых для трехмерной анимации. – Прим. ред.]. Король 2D – Nuke, написанный в стенах Digital Domain; симулятор одежды Syflex, разработанный при производстве фильма "Final Fantasy" студией Square USA (ныне покойной); тот же MudBox или USAnimation. Зачастую интерфейсы этих программ попирают все правила приличия, годами навязываемые производителями благопристойных офисных пакетов. Однако их профессиональная заточенность под конкретные задачи и более того – под конкретный тип специалистов, с лихвой окупает парадоксальные (и зачастую удобнейшие) интерфейсные решения.

Будущее 3D с питоном

Прежде чем переходить к железу, позволю себе немного аналитики.

За последние два года произошло много любопытных событий на рынке «тяжелой» трехмерной графики. Как я упоминал выше, компания Autodesk сосредоточила в своих руках целую коллекцию программного обеспечения, собрав самые сильные и популярные программы под одной крышей. Невооруженным глазом видно, что эти программы конкурируют друг с другом, а наличие Motion Builder и MudBox делает позиционирование поддерживаемых пакетов еще более затруднительным. Несмотря на упорное молчание компании по поводу будущих разработок, пока можно сказать, что ни Maya, ни 3ds max не будут «встраиваться» друг в друга. Точно так же ни один из этих двух пакетов не будет «свернут» для продвижения другого. Однако такой зоопарк в руках одной компании делает весьма вероятным появление новой разработки на основе имеющихся инструментов. Возможно, это будет постепенное обновление Maya путем замены ключевых модулей решениями, более соответствующими нынешним требованиям индустрии.

Пакет XSI, традиционно представленный на Сигграфе под вывеской Softimage (а не Avid), в последнее время сильно укрепил пошатнувшиеся несколько лет назад позиции, благодаря активному взаимодействию с ведущими студиями. Встраивание Syflex, язык Питон, девяностотысячедолларовый плагин Face Robot сыграли положительную роль в популярности пакета. Единственное, что смущает, – это некоторая «громоздкость» и весьма своеобразная интеграция различных инструментов в единое целое.

Разработчики Houdini наконец-то осознали, что, кроме технического совершенства, нужно заниматься налаживанием отношений с пользователями. Последние версии пакета содержат много усовершенствований, облегчающих освоение программы, прибавьте сюда гуманные средства для работы с персонажной анимацией и абсолютно новый интерфейс, и станет ясно, что впредь Side Effects намерена быть "ближе к народу".

Теперь давайте взглянем на номера версий основных трехмерных пакетов. Все они (за исключением шестой версии XSI) находятся в районе цифры девять. (Мы-то знаем, что 3ds max 2008 и Maya 2008, объявленные на Сигграфе, это обычные "девятки".) А возраст пакетов приблизился к десяти годам (или даже перевалил за эту черту). То есть что программы были спроектированы еще в прошлом веке на основе идей и разработок того времени. За прошедшие годы часть разработок идеологически устарела (например, встроенные системы рендеринга), и на рынке появились новые идеи и решения. Однако программы вынуждены поддерживать совместимость с предыдущими версиями, сохранять оригинальный формат файлов, поддерживать прежние программные интерфейсы. Новые модули (особенно купленные у сторонних разработчиков) появляются в пакетах как «нашлепки», не всегда удачно интегрированные в основную среду. Потому-то с течением времени интегрированные пакеты «пухнут» и представляют собой набор как свежих технологических решений, так и безнадежно устаревших модулей. Autodesk, например, до сих пор поддерживает Maya Live в составе Maya Unlimited, не прилагая ни малейших усилий по развитию этого древнего модуля.

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

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


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

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

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

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

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

Это же относится и к мультипотоковым вычислениям. Компания Intel довольно успешно заманивает нас технологиями Hyperthreading, Multithreading и многоядерными системами. Трехмерные пакеты вряд ли останутся в стороне от этой погони за производительностью.

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

Появление специализированных средств для предварительной визуализации (previz) также будет стимулировать развитие систем аппаратного рендеринга. Быстрый просчет всего проекта, интерактивный сториборд, монтаж сцен непосредственно в трехмерной среде – основа будущих систем пре-визуализации, встроенных в трехмерные пакеты.

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

Кстати о воде

Рядом с выставочным центром возвышались две шикарные башни отеля Mariott, в котором мне посчастливилось обитать. Впрочем, не только мне. Часам к пяти коллеги, измученные беготней по выставке, стекались со всех уголков Сигграфа к открытым бассейнам Мариотта, чтобы плюхнуться лицом вниз в теплую воду, а затем, вытянув гудящие ноги, полежать часок на вечернем солнце, перемешивая ром, ананасовый сок и свежие впечатления в тягучий коктейль. Никто ни у кого никогда не спрашивал никаких пропусков, а у меня в номере порой ночевало до четырех коллег, приехавших на пару дней из Лос-Анджелеса. Странное ощущение интенсивной работы и шикарного отдыха на курорте.

Железные достопримечательности

Авторы: Сергей Цыпцын, Берто, Паоло

Производителей железа на выставке традиционно было немного. Они благополучно сбегают на более «тяжелые» выставки NAB в Лас-Вегасе и IBC в Амстердаме. Впрочем, сверхагрессивно настроенная AMD в компании с благополучно приобретенной ATI отгрохала шикарный кобальтовый стенд, на котором на станциях Hewlett-Packard стремительно крутились многочисленные приложения из разных областей индустрии. AMD явно придерживает в рукаве некоторые козыри, разработанные уже после покупки ATI, и не торопится делать вызывающие заявления. Среди прочих экспонатов процессорного гиганта меня сильно впечатлила желтенькая книженция «Мультиядерность для Чайников» («Multi-Core Processing for Dummies»). Прихватил в собой, регулярно почитываю, полезная вещь.

Стенд nVidia был усеян серыми гробиками – супервидеоускорителями Quadro Plex. Это внешние видеокарты нереальной производительности и такой же нереальной цены. Они призваны не только крутить миллиарды полигонов на экране, но и ускорять вычисления в различных программах, разгружая центральный процессор и перекладывая часть вычислений на графический процессор (GPU). Апофеозом такого ускорения стала демонстрировавшаяся на стенде связка Quadro Plex и nVidia Gelato 3.0, пакета для рендеринга трехмерных сцен с полной поддержкой ускорения расчетов на GPU (от nVidia, разумеется). На сцене средней тяжести ambient occlusion рассчитывался в течение одной (!) секунды. Стоявший рядом со мной Алексей Kidd Пузиков, автор легендарной программы Shaderman, чуть не упал в обморок от таких результатов и долго потом недоверчиво мотал головой.

Впрочем, nVidia решила пойти еще дальше. Если видеокарта способна так ловко ускорять расчеты, то зачем ей «видео»? Незачем, решили разработчики nVidia и выпустили графический процессор Tesla, который ничего на экран не выводит, а лишь ускоряет расчеты. Это карта PCI Express, на борту которой находится один или два Tesla GPU.

Такой GPU содержит 128 параллельных процессоров и должен обеспечивать производительность в половину терафлопса. Карт с Tesla GPU можно запихнуть в компьютер несколько штук, разогнав производительность до 8 терафлопс.

Спираль эволюции сделала очередной виток. Помните карты от ARTVPS, напичканные специализированными процессорами, которые только ускоряли рейтрейсинг и больше ничего не делали. (Кстати, карты Pure и рендерер RendeDrive от ARTVPS еще живы и называются теперь AR500 и RayBox соответственно. И даже продаются по цене 8300 долларов.) Конечно, в решениях от nVidia прослеживается определенная прагматичная последовательность: вы покупаете ускоритель вычислений (младшая модель Tesla CPU Computing Processor стоит полторы тысячи долларов), затем, если вы не разработчик, а скромный труженик cg-индустрии, вы должны прикупить еще продукты от nVidia, поддерживающие этот ускоритель, – например, рендерер Gelato, действительно интересный, быстрый, но и не дешевый, 1500 долларов. Он умеет обрабатывать сцены из Maya, 3ds max и других трехмерных пакетов. Таким образом, ситуация сильно напоминает ситуацию конца прошлого века с картами ARTVPS. Конечно, если вы разработчик, вы можете воспользоваться инструментарием CUDA от nVidia, позволяющим перекомпилировать ваши программы для использования всей мощи графических процессоров в расчетах произвольного типа. Это, бесспорно, гораздо более гибкий подход, но достаточно жестко привязанный к решениям от nVidia.

Если в позапрошлом году Сигграф сходил с ума от ускорения рендеринга на GPU, в прошлом – от ускорения физики (в основном для игр) с использованием видеокарт, то в этом году дискуссии наконец-то вышли на более абстрактный уровень обсуждения GPGPU (General Purpose GPU) – графических процессоров общего назначения. Столь модная еще год назад игровая физика начисто исчезла со стендов.

Приложения, задействующие GPU, пошли «вширь». Среди них на стенде nVidia был замечен mental mill от компании mental images, интерактивная среда разработки материалов, причем не только для системы mental ray (как следовало бы ожидать), но и с возможностью экспорта результата в различные языки описания шейдеров – HLSL, GLSL, Cg FX, MetaSL. Удивительной особенностью mental mill является то, что все иконки-ноды, традиционно обозначаемые условными значками, представлены здесь как мини-openGL-окна, внутри которых можно видеть промежуточный или финальный результат (трехмерную картинку) без всякого просчета, прямо в реальном времени. В окошках можно панорамироваться, приближаться, крутить камеру, как в обычных трехмерных пакетах. Есть даже заготовка материала для воды в виде мини-пляжа с набегающей на берег волной. Кстати, mental mill был впервые показан в апреле в Москве на конференции CGEVENT и вызвал, помнится, большой фурор. По заявлению производителя, работает эта радость пока лишь на картах Quadro FX 3400 и выше, но время покажет, сумеют ли пользователи приспособить это решение к более демократичным устройствам.

Второе пришествие Cell

Меня давно занимала мысль о том, когда, наконец, процессор Cell пойдет в широкие массы. На околице выставки мною была обнаружена компания Mercury Computer Systems, предлагающая населению карту PCI Express, на которой размещено некоторое количество процессоров Cell. Карту сию следует вставить в обычный PC и наслаждаться преимуществами новой процессорной архитектуры. Чтобы оприходовать магическую мощь Cell, надо иметь программы, которые умеют этот процессор использовать. Дабы перекомпилировать свои шедевры под Cell, компания Mercury предоставляет специальный MultiCore Plus SDK, который может быть использован с коммерческими компиляторами от IBM либо с неким бесплатным компилятором под Linux. Никакой Microsoft Visual/Net не поддерживается, ибо работает все это хозяйство только под Linux. На стенде работали сертифицированные Mercury «писюки» в лице HP+AMD+Cell-карта; на них, к сожалению, крутились уже набившие оскомину двадцать четыре окна-плеера, одновременно и плавно декодирующие двадцать четыре потока видео в формате H.264. По словам разработчиков, сертификация условная и желающие могут попытаться собрать Linux-машину из любых доступных компонентов. Стоит Cell-карта с программной обвязкой 8000 долларов. В ответ на мои слова о том, что за такие деньги я могу собрать много (например, двадцать) изрядно мощных компьютеров (без всяких мониторов, дисков и видеокарт), стендовые инженеры не моргнув глазом заявили, что ожидают ускорения приложений в сорок раз.

Шумиха вокруг Cell подогревалась заявлениями некоторых компаний о портировании своих приложений под Cell-архитектуру. И если до Сигграфа я благополучно игнорировал громкие маркетинговые пресс-релизы компаний, не относящихся к миру «тяжелой» графики, то обещания mental images и Side Effects (!) портировать свои приложения на так называемый Cell Computing Board от Sony заставили меня срочно нырнуть в Интернет. Одно только сочетание "Houdini для Cell" отдает сильнейшей интригой для всей индустрии компьютерной графики.

Смущает, правда, что компании планируют показать первые результаты во второй (!) половине будущего года. Для заявлений, сделанных в экзальтированной индустрии компьютерной графики, это может означать "никогда".

Подытожить дискуссии о специальных ускорителях вычислений можно, упомянув находящийся в разработке процессор Larrabee от компании Intel, традиционно не участвующей в Сигграфе. Похоже, Intel собирается одним выстрелом убить целую популяцию зайцев. И под обстрел попадут не только nVidia, ATI, AMD, но и многие другие. Производительность 1 терафлопс, до 48 ядер на процессоре, графические ядра и пр. По слухам, этот монстр может вначале появиться как графический ускоритель на плате PCI Express 2, и вот тогда расстановка сил на рынке графических (и не только графических) ускорителей может сильно измениться. Но не раньше 2009 года.

Контрольный Hypershot

Пока конкуренты сходят с ума от ускорения вычислений на GPU или разрабатывают специальные процессоры и платы-ускорители, немецкая компания Bunkspeed (www.bunkspeed.com) взяла и написала чисто программный рендерер HyperShot, то есть пакет для просчета трехмерных сцен. Он не использует никаких ускорителей, но считает сверхъестественно быстро. Мистически быстро. Нечеловечески быстро. С поразительным качеством и уровнем фотореализма. Вы слегка поворачиваете в пространстве свою модель и пытаетесь подвинуть источник света, а в это время картинка уже полностью пересчитана. "Интерактивная фотография" – так называют свое детище разработчики. Рейтрейсинг в реальном времени.

Программа предназначена прежде всего для автомобильной промышленности и промышленного дизайна, поэтому деформация моделей не поддерживается, это скорее интерактивный рендерер для моделей, «приехавших» из CAD-систем. HyperShot призван полностью заменить процесс прототипирования – изготовления демонстрационных образцов будущих изделий для визуального контроля и коррекции. Действительно, просчитанные за несколько секунд автомобили выглядят очень реалистично. Картинка звенит и хрустит. Рейтрейсинг поддерживается на полную мощность, включая Full Global Illumination. HDRI-карты и тени. Реальная оптика и линзы. Физически корректные материалы. CPU, никакого GPU. И скорость, скорость, скорость! Промышленные дизайнеры бились в истерике прямо на стенде.

В отличие от многих выставок, на Сигграфе работают исключительно компетентные люди. Если не брать титанов индустрии, то на стенде зачастую находятся авторы идеи и кода, инженеры-разработчики, основатели компаний. Практически на все ядовитые вопросы можно получить не менее перченые ответы. Исключение составляет компания Corel, на стенде которой я уже третий год подряд не могу получить ответ на вопрос, где и как мне найти документацию к мощным скриптовым возможностям пакета Corel Painter. Похоже, ее прячут от хакеров специально.

Сермяжная правда

Рендерер Gelato – детище легендарного Ларри Гритца, соавтора книги "Advanced Renderman". Компания Pixar уже много лет пытается засудить Ларри за использование в Gelato ряда алгоритмов, вроде бы являющихся интеллектуальной собственностью Pixar. Последнюю, очевидно, раздражает полная и элегантная renderman-совместимость Gelato в совокупности с коммерческим успехом. Тем не менее Ларри прекрасно выглядит и шлет большой привет российскому renderman-сообществу (мы с Лешей Пузиковым пытались заставить его прочесть пару страниц на русском из посвященной рендерману главы, которую Леша написал для книги "Понимая Maya").

Кстати, года три назад на одной из первых презентаций Gelato в России какой-то пытливый ум, прослушав впечатляющие цифры о том, что пакет ускоряет просчет сцен в два-пять раз благодаря только использованию GPU видеокарты, невинно спросил: "Но ведь на полторы тыщи долларов я могу собрать пять материнских плат с процессорами, запихнуть их в стойку и ускорять любой процесс (а не только рендеринг) не в два-пять раз, а ровно в пять раз, причем независимо от загрузки CPU, GPU и вообще независимо ни от чего!" Вот такая сермяжная правда, не принимающая во внимание стоимость некоторых программных лицензий на каждый процессор.