Render.ru

Maya shaders -> Entropy через MayaMan

#1
Даже самых стандартных surface shaders типа lambert
sle пишет что ошибка в файле mms_lambert1.sl строке такой-то - функция indirectrays (или что-то в этом роде) не декларирована. Файл sl создается MayaMan 1.0.4, все настройки вроде прописаны верно, в PRMAN все рендерится и преобразуется без проблем (при помощи этого же MayaMan) а в Ентропии ругается! Может дело в том что МаяМен у меня довольно старый ? Сейчас вот качаю 1.0.8 может поможет. ПРи этом файл шейдера .sle естественно не создается. НО! Если выбирать шейдер НЕ маевский (который будет преобразован в RenderMan шейдер по средством Maya_magic_shader.h) а например MayaMan_Custom_shader и уже его свойства делать такие какие нужны, то все работает! То есть проблема именно в преобразовании МАЕВСКИХ шейдеров. Но странно почему PRMAN при этом не ругается! Получается что Ентропи не совсем совместим со стандартом рендермэн... бред короче


Вот текст сформированного MayMan шейдера:

#include <maya_magic_shaders.h>
surface mms_lambert1(
float a_0_IndirectShader = 0;
float a_0_MayaManRefractionSamples = 1;
float a_0_MayaManRefractionBlur = 0;
float a_0_diffuse = 0.8;
color a_0_color = color(0,0,0);
color a_0_transparency = color(0,0,0);
color a_0_ambientColor = color(0,0,0);
color a_0_incandescence = color(0,0,0);
float a_0_refractiveIndex = 1;
float a_0_refractions = 0;
float a_0_translucence = 0;
float a_0_translucenceFocus = 0;
float a_0_matteOpacity = 0;
ALL_SURFACE_ARGS;
PREF_VAR;)
{
#pragma nolint
SURFACE_TEMPS;
APPLY_SLICE_PLANE else {
uniform float v_0_IndirectShader = a_0_IndirectShader;
uniform float v_0_MayaManRefractionSamples = a_0_MayaManRefractionSamples;
uniform float v_0_MayaManRefractionBlur = a_0_MayaManRefractionBlur;
uniform float v_0_diffuse = a_0_diffuse;
uniform color v_0_color = a_0_color;
uniform color v_0_transparency = a_0_transparency;
uniform color v_0_ambientColor = a_0_ambientColor;
uniform color v_0_incandescence = a_0_incandescence;
vector v_0_normalCamera;
uniform float v_0_refractiveIndex = a_0_refractiveIndex;
uniform float v_0_refractions = a_0_refractions;
uniform float v_0_translucence = a_0_translucence;
uniform float v_0_translucenceFocus = a_0_translucenceFocus;
uniform float v_0_matteOpacity = a_0_matteOpacity;

LAMBERT_SETUP(v_0_);
LAMBERT_SIM(v_0_);

Ci = v_0_outColor;
Oi = 1 - v_0_outTransparency;
}
SURFACE_DEBUG_HOOK
}

sle выдает ошибку в строке 19
prman проходит без проблем
 
Сверху