1. Стандартный рендерер MAYA должен быть лучше, чем его предшественники - рендереры от TDI, Alias и Wavefront. В то же время, на начальных стадиях разработки нового рендерера вместо него использовалось проверенное старое решение - Alias Renderer - которое затем, по мере разработки, заменялось готовыми частями нового рендерера.

2. Стандартный рендерер должен быть максимально удобным в использовании и предоставлять пользователю максимум возможностей для настройки и доступа к “внутренностям”. Поскольку в качестве системы представления внутренних данных в MAYA выбран DAG (прямой незамкнутый граф), стандартный рендерер также должен быть привязан к этой системе, предоставлять для нее свои собственные ноды для настройки самого процесса рендеринга и использовать ноды от HyperShade для настройки свойств материалов.

3. Качество изображения должно быть высоким и предсказуемым.

4. Должно быть сделано асе возможное, чтобы ускорить рендеринг.

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

6. Новый рендерер должен быть по возможности универсальным и допускать расширение в будущем - без необходимости полного переписывания.

Что же, в результате, получилось у авторов MAYA Software Renderer? Опять-таки, не углубляясь в ненужные детали, укажем на основные особенности готового продукта:

• Стандартный рендерер MAYA - это адаптивный иерархический сканлайн-рендерер с возможностью использования рейтрейсинга. В нем, однако, не реализованы модные и потихоньку начинающие использоваться в производстве Global Illumination, Final Gathering, Ambient Occlusion Mapping. Данный рендерер - триангулирующий. To бишь в процессе подготовки к рендерингу он разбивает сцену на части, и каждая часть оценивается по количеству входящих в нее треугольников

- так рендерер пытается не выйти за обозначенные для него рамки доступной памяти.

Хотя было объявлено о наличии у рендера необходимой в работе гибкости, его оказалось невозможно расширять за счет плагинов, написанных пользователями. Все, что можно сделать, это реализовать собственные генераторы геометрии и дописать свои материалы для HyperShade

- доступ же к другим возможностям рендерера не обеспечивается (не говоря о, например, замене модулей или о встраивании в его собственный пайплайн(технологический конвейер). Впрочем, это

- мелкая неприятность: ведь многие современные рендереры не позволяют даже такой гибкости. Увы, дальше начинаются неприятности покрупнее.

• Для получения сколько-нибудь гладкой поверхности на любых поверхностях - кроме полигонов - этому рендереру требуется достичь очень высокого уровня тесселяции (разбиения на полигоны), что сказывается на общей производительности рендерера. Попросту говоря, любая попытка получить сколько-нибудь качественную картинку с использованием NURBS или Subdivision Surfaces обречена на долгое ожидание результата.


⇐ вернуться назад | | далее ⇒