December 20th, 2009

SIGGRAPH Asia

По счастливому стечению обстоятельств, конференция в этом году проводилась в Йокогаме. Поэтому начальство легко согласилось купить нам билеты и освободить от работы на 4 дня.

Мысли:

1) OpenCL. Наверное, имеет право на существование, потому что живет на разных платформах (в отличие от ДХ11) и на разном железе (в отличие от КУДА). Интеграция с OpenGL пока что смехотворная - два АПИ работают только попеременно. То есть чтобы обработать рендертаргет, который нарисовал OpenGL, надо звать glFinish(). На вопрос "А как дальше планируете синхронизовывать?" ничего внятного мне не сказали.

2) Пиксар про мультфильм Up. Пиксар великолепен. Удивительное внимание к деталям и стремление ни на шаг не отходить от изначального видения. В такой компании хочется работать. Поэтому возникла мысль - "А не рекламная ли это была презентация?".

3) Layered BRDF. Идея очень здравая. Множество материалов вокруг нас на самом деле многослойные. Всякие лакированые поверхности, ржавчина и т.п. Есть соображение, что вместо того, чтобы всё точнее реализовывать аналитические БРДФ, эффектней сделать несколько слоев более простой БРДФ.

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

5) Predictive Rendering. Бывают маньяки, которые хотят изображения не просто красивые (фильмы, реклама, игры), а правильные. То есть стремятся научиться показывать объекты такими, какими мы видим их в реальном мире. Применяется, например, в автомобилестроении. Там дешевле написать программу, которая покажет, как будет выглядеть салон машины, чем делать реальный прототип этого салона. В итоге начинается какое-то безумие с захватом цветов (спектров), БРДФ и форм с реальных объектов. Рендерер - рейтрейсер, спектральный, учитывает поляризацию света. Дальше не слушал, далеко от жизни. Но красиво.

6) Интересная статья "All-Frequency Rendering of Dynamic, Spatially-Varying Reflectance". Типа как ПРТ, но поддерживает бОльший класс БРДФ (динамических) плюс спекуляр. С visibility function конечно опять подстава (вычисляется заранее). Но сильно, бодро. Мне понравилось.

7) "Stochastic progressive photon mapping". Выглядит просто и логично. Если бы я писал GI, попробовал бы это.

8) В играх не применить, но интересно: "Removing Image Artifacts Due to Dirty Camera Lenses and Thin Occluders". Результаты просто удивительные. Казалось бы, невозможно убрать такие жуткие артифакты как жалюзи перед камерой. Но однако же!

9) "Edge-preserving multiscale image decomposition based on local extrema". Хорошая. Позволяет выделить из изображения слои по частотности. В самом простом случае отличить формы от текстуры. Полезно для анализа освещения сцены, замены текстуры объектов.

10) Для меня лично - звезда этого СИГГРАФА. Китаец отжог и написал REYES рендерер на ГПУ! Ловите "RenderAnts: Interactive REYES Rendering on GPUs". При этом в сети есть исходники. Он же презентовал отладчик для GPGPU, который умеет принтф и ассерт!!

11) Удивительно простая, но работающая идея оцифровки волос. Подвешиваем локон волос. Ставим перед ним камеру (обычную, из магазина!), делаем 1000 снимков с разым фокусным расстоянием. На каждой фотографии берем только то, что видно четко, это позволяет нам с некоторой вероятностью предположить, где расположены отдельные волосы. Но этой информации недостаточно. Для уточнения делаем такое же исследование с двух других углов. Поскольку геометрия всей установки нам известна, волосы можно отследить в нескольких датасетах и восстановить реальную геометрию. И результаты прекрасные! Смотрите "Capturing Hair Assemblies Fiber by Fiber".

Еще была вечеринка, на которой я выиграл лицензионную Modo 401. Стоит такая игрушка 900 баксов (ну или бесплатно, если с торрентов). Что с ней делать пока не придумал.