Еще одно из принципиальных отличий и одновременно преимущество в том, что Maya Software “ест” напрямую майскую сцену, в то время как mental ray, а так же большинство других сторонних рендеров нуждается в конвертации сцены в свой формат. В случае Mental Ray Stand Alone сцена конвертируется в *.mi файл, который потом рендерится в отдельной программе (stand alone render). Встроенный в Maya mental ray делает все то же самое, за исключением того, что *.mi файл будет для нас невидимый. Для пользователя все будет незаметно - он просто нажмет на кнопку “Render” и получит картинку внутри Maya.
Для простых сцен эта операция слишком быстра, чтобы влиять на время рендера, и часто пользователь просто не замечает ее. Но если в сцене очень много геометрии или просто количество объектов слишком велико, то эта фаза может занимать очень значительное время, особенно когда дело доходит до визуализации длинной анимации. Maya Software рендер не имеет данного недостатка, и, соответственно, сам процесс визуализации начнется быстрее.
Другим сравнительнымпреимуществомявляется поддержка Maya Software рейдером Paint Effect’oB. В данный момент рендер Paint Effect^ в mental ray невозможен без конвертации в геометрию, а, как известно, результат конвертированных в геометрию paint effect’oB немного отличается, не говоря уже о серьезно возросшем количестве полигонов, и как следствие - возросшем времени конвертации сцены. Хотя, надо заметить, что на данный момент существуют сторонние разработки, которые предлагают автоматическую конвертацию Paint Effect^ и волос в геометрию во время рендера. Правда, при этом все равно во время рендера расход памяти будет очень велик.
Если немного поразмыслить, можно представить себе два возможных способа реализации Paint Effect^ в майском mental ray.
Первое - это генерить геометрию geometry шейдерами во время рендера (с помощью geometry шейдеров), в этом случае Pain Effect’bi будут даже корректно отражаться и преломляться. Но минусом этого метода можно назвать серьезно возросший расход памяти, особенно когда Paint Effect^ очень много в сцене, так как в итоге никакого волшебства не происходит, и все равно все превращается в полигоны, но уже на стадии рендера. В этом случае viewport не будет сильно перегружен геометрией, и мы сильно выиграем на стадии конвертации сцены.
Второй метод похож на тот, что работает в Maya Software, то есть генерация Paint Effect’oB пост процессом (после рендера). Но тут есть одно но. Mental Ray не поддерживает генерацию чего-либо после рендера, отличного от картинки. То есть, если быть более точным, mental ray не имеет доступа к геометрии на фазе пост процесса, он может только взять получившиеся после рендера картинки (буфера) и что-то с ними сделать, например Glow, или 2D motion blur, или DOF и т.п.
Пытливым умам, наверное, давно приходила в голову идея отрендерить картинку mental гау’ем, а потом сверху сгенерить Paint Effect’bi уже Maya Software рендером. Теоретически разработчики могли бы это реализовать, ведь это не так сложно, нужно было бы просто запустить после рендера mental гау’ем генерацию Paint Effect^ с помощью Maya Software рендера, ведь это просто post process. Похожую идею разработчики Maya реализовали в пакете, начиная с версии 7.0, с помощью Render Layers. Данная технология позволяет не просто считать несколько разных слоев, но и визуализировать их разными рендерами. Собственно, именно это и нужно для визуализации Paint Effect^. Визуализируем всю сцену с помощью mental ray, a Paint Effects рендерим в отдельном слое с помощью Maya Software - и проблема решена.