OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии...

97
OpenSubdiv: Как Pixar делает Maya еще лучше! Билл Полсон Директор по отраслевым стратегиям Pixar Animation Studios

Transcript of OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии...

Page 1: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

OpenSubdiv: Как Pixar

делает Maya еще лучше!

Билл Полсон

Директор по отраслевым стратегиям

Pixar Animation Studios

Page 2: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

OpenSubdiv – модуль к Maya, разработанный

Pixar

Принцип дробленой поверхности?

Что такое OpenSubdiv?

Page 3: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Обо мне

Директор по отраслевым стратегиям

Pixar’s IP портфолио

Внедрение новых технологий / совместная работа с

подрядчиками

Продвижение модуля OpenSubdiv

Руководитель инженерно-технического

производства

Решение проблем с каналом

Технический директор по созданию

короткометражных фильмов

Boundin’, One Man Band, Lifted

Давным-давно, независимый вендор ПО: первй

продукт для рендеринга RenderMan и т.д.

Page 4: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Часть первая:

Принципы дробленой поверхности

Page 5: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Часть 1: Что такое дробленая поверхность?

Copyright Disney/Pixar. All Rights Reserved.

Page 6: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Во-первых, вкратце о Maya

2005 – выход на рынок

Полная поддержка для подразделения Catmull-Clark,

демо-версия

Сегодня

Модуль к Maya OpenSubdiv Viewport 2.0, с алгоритмом

работы графического процессора (GPU)

Скоро

Полная интеграция OpenSubdiv и Maya

Не требуется специальная программа для просмотра

Page 7: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Квадратичная полигональная сетка в Maya

Page 8: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Дробление в Maya

Page 9: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Инструмент для рендеринга RenderMan

Page 10: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Как работает алгоритм?

Page 11: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Основная сетка == Уровень 0 == Клетка

Page 12: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Уровень 1

Page 13: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Уровень 2

Page 14: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Уровень 3

Page 15: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Уровень 4

Page 16: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Преимущество 1:

Экономия ресурсов

Page 17: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Квадратичная полигональная сетка в Maya

Page 18: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Треугольная полигональная сетка

Page 19: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Треугольная полигональная сетка

Page 20: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Треугольная полигональная сетка

Page 21: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Сравнение

Page 22: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

С учетом обычного сглаживания

Page 23: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Game Engine Preview

Page 24: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Game Engine рендеринг

Page 25: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

С применением инструмента для рендеринга

RenderMan

Page 26: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Объем данных

face multiplier CoffeeCup

Level 0 1 250

Level 1 4 1000

Level 2 16 4000

Level 3 64 16000

Level 4 256 64K

Level 5 1024 256K

Level 6 4098 1M

Page 27: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Объем данных

face multiplier CoffeeCup PolyMesh Pipeline

Level 0 1 250

Level 1 4 1000

Level 2 16 4000 model, render

Level 3 64 16000

Level 4 256 64K

Level 5 1024 256K

Level 6 4098 1M

Page 28: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Объем данных

face multiplier CoffeeCup PolyMesh Pipeline Subdiv Pipeline

Level 0 1 250 model

Level 1 4 1000

Level 2 16 4000 model, render

Level 3 64 16000

Level 4 256 64K

Level 5 1024 256K

Level 6 4098 1M render

Page 29: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Примеры

Copyright Disney/Pixar. All Rights Reserved.

Page 30: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Вуди: 30 тыс. поверхностей = 4 кружки для

кофе

Copyright Disney/Pixar. All Rights Reserved.

Page 31: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

McQueen: 70 тыс. поверхностей = 10 кружек

для кофе

Copyright Disney/Pixar. All Rights Reserved.

Page 32: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Балюстрада: 581 поверхность, 664

вертикалей

Copyright Disney/Pixar. All Rights Reserved.

Page 33: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

2083 балюстрад = 400 кружек для кофе

Copyright Disney/Pixar. All Rights Reserved.

Page 34: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

415K поверхностей = 55 кружек для кофе

Copyright Disney/Pixar. All Rights Reserved.

Page 35: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

6.75 мил. поверхностей = 900 кружек для

кофе

Copyright Disney/Pixar. All Rights Reserved.

Page 36: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Преимущество 2:

Независимая сетка

Page 37: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Объединение NURBs объемных

поверхностей

Page 38: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

NURBs закругление

Page 39: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Разрывы

Разрыв

Разрыв

Page 40: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Анимация разрывов

Page 41: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Независимая сетка с дроблением

Page 42: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Объединение объемных поверхностей

Page 43: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Вставка треугольника

Page 44: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Ограничение поверхности

Page 45: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Динамика в анимации

Page 46: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Примеры: Медведица Элеонора

Copyright Disney/Pixar. All Rights Reserved.

Page 47: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Примеры: Медведица Элеонора

Copyright Disney/Pixar. All Rights Reserved.

Page 48: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Copyright Disney/Pixar. All Rights Reserved.

Page 49: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Преимущество 3:

Управление углами

Page 50: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Почему бы не сделать фаску?

Page 51: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Фаска = 1, Поверхность = 26

Page 52: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Фаска = 3, Поверхность = 98

Page 53: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Кромки

Page 54: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Creases

Page 55: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Creases

Page 56: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Редактор кромок

Page 57: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Пример: WALL-E

Copyright Disney/Pixar. All Rights Reserved.

Page 58: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Зубчатое колесо

Copyright Disney/Pixar. All Rights Reserved.

Page 59: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Независимая сетка и кромки

Copyright Disney/Pixar. All Rights Reserved.

Page 60: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Ограничение поверхности

Copyright Disney/Pixar. All Rights Reserved.

Page 61: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Колеса от McQueen

Copyright Disney/Pixar. All Rights Reserved.

Page 62: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Колеса от McQueen

Copyright Disney/Pixar. All Rights Reserved.

Page 63: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Ограничим поверхность в Maya

Copyright Disney/Pixar. All Rights Reserved.

Page 64: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Copyright Disney/Pixar. All Rights Reserved.

Page 65: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Преимущество 4:

Простое создание текстуры

Page 66: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Текстура: 1300 поверхностей

Page 67: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

PTEX = Per-face TEXturing

Page 68: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

1300 текстур = одна на всю поверхность

Page 69: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Одна из поверхностей туловища жабы

Page 70: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Одна из поверхностей глазного века

Page 71: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Применим к дробленой поверхности

Page 72: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Результат

Page 73: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Преимущество 5:

Быстрая работа графического

процессора

Page 74: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Преимущество: быстрая работа

графического процессора

Page 75: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Преимущество 6:

Иерархическое редактирование

Page 76: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Преимущество: иерархическое

редактирование

Copyright Disney/Pixar. All Rights Reserved.

Page 77: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Иерархическое редактирование

Copyright Disney/Pixar. All Rights Reserved.

Page 78: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Иерархическое редактирование

Copyright Disney/Pixar. All Rights Reserved.

Page 79: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Иерархическое редактирование

Copyright Disney/Pixar. All Rights Reserved.

Page 80: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Иерархическое редактирование

Copyright Disney/Pixar. All Rights Reserved.

Page 81: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Иерархическое редактирование

Copyright Disney/Pixar. All Rights Reserved.

Page 82: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Иерархическое редактирование

Copyright Disney/Pixar. All Rights Reserved.

Page 83: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Часть вторая

Что такое OpenSubdiv?

Page 84: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

2010: Почему не стандарт?

Получены патенты на создание кромок, переменной

поверхности, иерахическое редактирование

Есть небольшая хитрость при создании кромок и тп

Отсутствуют алгоритмы графического процессора

Page 85: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

2012: OpenSubdiv

Патенты на создание кромок, переменной

поверхности, иерахическое редактирование

Включены в ПО

Есть небольшая хитрость при создании кромок и тп

Включена библиотека RenderMan

Отсутствуют алгоритмы графического процессора

Алгоритм Loop/Meyer

Page 86: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

2012: OpenSubdiv

http://graphics.pixar.com/opensubdiv/

Page 87: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

OpenSubdiv

CPU

Однопотоковый (базовая реализация)

мультипотоковый (MPI)

Единообразное дробление

GPU

OpenCL, CUDA, GLSL, DirectX 11, OpenGL, OpenGL ES

Единообразное дробление

Приспосабливаемое дробление -- на GPU с тесселяцией

ВСЯ геометрия внедрена в платформы

Page 88: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Позиция

Copyright Disney/Pixar. All Rights Reserved.

Page 89: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Экосистема

Студии Разработка

материалов

Кадрирование

Разработка

уровней

Платформы:

онсоли и

мобильность

Графические

слои Микрокадры

Page 90: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Экосистема

Студии Разработка

материалов

Кадрирование

Разработка

уровней

Платформы:

онсоли и

мобильность

Графические

слои Микрокадры

Пример Компании по

создания игр Maya Crysis Engine Xbox DirectX AMD

Page 91: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Экосистема

Студии Разработка

материалов

Кадрирование

Разработка

уровней

Платформы:

онсоли и

мобильность

Графические

слои Микрокадры

Пример Компании по

создания игр Maya Crysis Engine Xbox DirectX AMD

Пример Film Studio Modo Katana Linux

Workstation OpenGL NVIDIA

Page 92: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Адаптация

Студии Разработка

материалов

Кадрирование

Разработка

уровней

Платформы:

онсоли и

мобильность

Графические

слои Микрокадры

Page 93: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Пользователи

Студии Разработка

материалов

Кадрирование

Разработка

уровней

Платформы:

онсоли и

мобильность

Графические

слои Микрокадры

Пользователи Pixar

MPC

Maya/Autodesk

Houdini

Maya/Autodesk

Houdini

Crysis Engine

Blender

Poser

Motorola Qualcomm

Page 94: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Considering Adoption

Студии Разработка

материалов

Кадрирование

Разработка

уровней

Платформы:

онсоли и

мобильность

Графические

слои Микрокадры

Пользователи Pixar

MPC

Maya/Autodesk

Houdini

Maya/Autodesk

Houdini

Crysis Engine

Blender

Poser

Motorola Qualcomm

Рассматривают

Dreamworks

Sony

Disney/ILM

WETA

Foundry:

Mari/Modo

Unity

Foundry: Katana

Apple

XBox

Playstation

OpenGL

OpenGL ES

WebGL

OpenCL

DirectX11

NVIDIA

Page 95: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Итог

Subdivs!

Более экономичная, более экспрессивная система, чем

полигональные сетки

Прекрасно работает на архитектуре новых GPU

Разъединение низко полигональных low-poly pipeline from

high-poly rendering

Выгода выростает многократно

Ключ к успеху – начать и закончить pipeline

Попытка найти середину полигональной линии легко

Наша цель: совместимость с OpenGL / DirectX

драйверами

Page 96: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Благодарю за внимание!

Page 97: OpenSubdiv: Как Pixar Maya еще лучше!...Экосистема Студии Разработка материалов Кадрирование Разработка уровней

Autodesk является зарегистрированным товарным знаком компании Autodesk, Inc. и/или ее дочерних компаний и/или филиалов в США и/или других странах. Все остальные названия и товарные

знаки принадлежат соответствующим владельцам. Компания Autodesk оставляет за собой право изменять характеристики, номенклатуру и цены продуктов и услуг в любое время без уведомления, а также не несет ответственности за возможные ошибки в этом документе. © 2013 Autodesk, Inc. Все права защищены.