Это самое прошлое не раз будет напоминать о себе в наших изысканиях. Раз уж мы начали копаться в командной строке, посмотрим, например, из чего же состоит наш новый друг. Ба! Налицо уже набившая нам оскомину триада - рендерер, компилятор шейдеров и конвертор текстур, но на этот раз они называются gelato.exe, gslc.exe и maketx.exe.

Внутри директории gelato/bin еще много всего интересного, например, утилита topyg, которая позволяет перевести любой из поддерживаемых установленных вами плагинами форматов геометрии в PYG: с ее помощью можно сравнить одну и ту же сцену в формате PYG и RIB и увидеть явные аналогии. А мы возвращаемся к нашим баранам я хотел сказать, к нашей овечке и к Мауа.

Немножко покрутим камеру, чтобы видеть одну только голову нашей модели -экспериментировать мы будем именно с головой. Выделяем голову, создаем в Hypershade новый материал - Create => Materials => Lambert. Назначаем этот материал на голову овцы и начинаем с ним играть. Я не долго думал над примером и, по аналогии с предыдущими экспериментами, подключил к ламбертовскому diffuse - Noise:

Снова запускаем рендеринг - а рендерером у нас все так же стоит Gelato - и с удивлением смотрим на результат:

Gelato подхватил настройки материалов из Hypershade, сконвертировал их в свои и правильно отобразил новый материал. Оказывается, Mango знает о существовании Hypershade, в его поставке есть набор шейдеров для многих Hypershade-овских нод, из которых и конструируются готовые шейдеры для Gelato? Нет, не шейдеры. Мы в очередной раз встретились с инновационным решением: Gelato позволяет накладывать несколько шейдеров на один объект, объединяя их в группы и более того - позволяя строить из таких шейдеров более сложные конструкции, передавая параметры и результаты работы из одного шейдера в другой. Давайте еще раз посмотрим внутрь файла c:\temp\gelato.pyg:

ShaderGroupBegin ()

Shader ( “surface”, “maya_place2dTexture”, “place2dTexture1” )

Shader ( “surface”, “maya_noise”, “noisel”, “float amplitude”, 0.6529, “float depthMax”, 4, “float frequency”, 11.57, “float frequencyRatio”, 2.1158, “float noiseType”, 0, “float ratio”, 0.90082, “float threshold", 0.22316 )

ConnectShaders (“place2dTexture1”, “outUV”, “noisel”, “uvCoord”)

ConnectShaders (“place2dTexture1 ”, “outUvFilterSize”, “noisel”, “uvFilterSize”)

строительство и ремонт https://pomedicine.ru/.

Shader ( “surface”, “mayajambert”, “lambert2”, “color _color”, (0.20932, 0.166365, 0.9091) ) ConnectShaders (“noisel”, “outAlpha”, “lambert2”, “diffuse”)

ShaderGroupEnd ()

Манго определил, что мы используем три ноды - place2dTexture, noise и lambert. Для этих нод в поставке Mango есть соответствующие шейдеры (загляните внутрь SGELATOHOME/mango/ shaders, чтобы узнать, какие ноды поддерживаются на данный момент). Далее создается группа шейдеров, в которой при помощи процедуры ConnectShaders воссоздается то построение, которое мы с вами только что делали визуально в HyperShade.

Кто-то еще считает, что SLIM - самое удобное для создания шейдеров средство? Тогда пусть бросает читать на этом месте, а мы тем временем продолжим перестройку сознания и галоп по возможностям Gelato. Вернемся в директорию c:\temp и покажем, как сделать быстрый рендерер еще быстрее. Удаляем gelato.bat, а бывшее его содержимое копируем в командную строку и запускаем:


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