1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Как юзать BMRT ?

Тема в разделе "RenderMan", создана пользователем -, 26 авг 2000.

Модераторы: Moderator.
  1. Guest

    Тут много было разговоров о использовании prMan и BMRT. Как я ни старался я мало чего понял. Господа (товарищи) специалисты, если не затруднит, уделите чуть-чуть внимание начинающим в этом деле, расскажите поподробней, как же это все сделать под NT.
    Конкретно я имею в виду честное отражение, преломление. Если можно с каким нибудь примерчиком.

    P.S. Опишите любой способ, как это можно сделать.
     
  2. Guest

    Я уже говорил - под NT не получится. Ларри обещает исправить. RTFM.
     
  3. Guest

    ?

    погодите-погодите...
    как так не получится? вы говорили bmrt+prman (что-б radiosity) под nt не получится а пара maxman и bmrt под nt получится ?
    очень интересно...

    ?
     
  4. Guest

    Не получится под NT вызывать BMRT *из-под* Prman'а в качестве rayserver'а. А по отдельности и BMRT и Prman юзай сколько влезет.
     
  5. Guest

    Точно. И MaxMan c BMRT работает "на ура".
     
  6. Guest

    Если речь идет об использовании MTOR + BMRT - RenderMan то:
    1. Убедись что BMRT стоит правиьно (энвиронменты установлены)
    2. В дире (у меня) D:\PIXAR\RenderMan Artist Tools 4.1\bin
    сделай фаил slimBmrtRender.bat который содержит:

    rendrib %1
    sho -dspy slim -dspyfile %2 %2
    rm -f %2

    3. Там же сделай файл slcmtor.bat (спасибо JinnDOS) который содержит:

    slc -I%1 %2

    4. В дире (у меня) D:\PIXAR\RenderMan Artist Tools 4.1\etc
    зайди в slim.ini и добавь строку:

    LoadExtension slim [file join $templates bmrt.slim]

    5. В дире (у меня) D:\PIXAR\RenderMan Artist Tools 4.1\lib\slim
    сделай файл bmrt.slim в который вставь:

    ## ----------------------------------------------------------------------------
    #
    # bmrt.slim
    #
    #
    slim 1 extensions pixardb {
    extensions pixar pxsl {
    template color BMRTReflections {
    label "BMRT Reflections"
    description "Collects coherent ray traced reflections.
    Also you should specify BMRT's slc
    as your secondary shader compiler."
    parameter float Kr {
    description "Multiplier for reflections."
    detail varying
    subtype slider
    range {0 2 .01}
    default .25
    }
    parameter color reflFilter {
    label "Reflection Filter"
    default {1 1 1}
    }
    parameter color cResult {
    display hidden
    access output
    detail varying
    default {1 1 1}
    }
    RSLFunction {
    void
    pxslBMRTReflections(
    float Kr;
    color reflFilter;
    output color cResult;)
    {
    extern point P;
    extern vector I;
    extern normal N;

    normal Nf = faceforward(normalize(N), I);
    vector IN = normalize(I);

    vector Rdir;
    Rdir = reflect (IN, Nf);
    Rdir = normalize(Rdir);


    color ev;
    if (Kr > 0.001) {
    ev = Kr * trace(P, Rdir);
    } else {
    ev = 0;
    }
    cResult = (reflFilter * ev);
    }
    }
    }
    template color BMRTRefractions {
    label "BMRT Refractions"
    description "Refractions. Just choose appropriate settings for the
    Refraction effects.
    Also you should specify BMRT's slc as your secondary shader
    compiler."
    parameter float IOR {
    label "Refraction Index"
    description "The relative index of refraction."
    subtype slider
    range {0 2 .01}
    default 1.3
    }
    parameter float Kt {
    description "Multiplier for refraction."
    detail varying
    subtype slider
    range {0 2 .01}
    default 1.0
    }
    parameter color refrFilter {
    label "Refraction Filter"
    detail varying
    default {1 1 1}
    }
    parameter color cResult {
    display hidden
    access output
    detail varying
    default {1 1 1}
    }
    RSLFunction {
    void
    pxslBMRTRefractions(
    uniform float IOR;
    float Kt;
    color refrFilter;
    output color cResult;)
    {
    extern point P;
    extern vector I;
    extern normal N;

    normal Nf = faceforward(normalize(N), I);
    vector IN = normalize(I);
    float eta;
    if (I.N < 0) {eta = 1.0/IOR;}
    else {eta = IOR;}
    vector Tdir;
    Tdir = refract(IN, Nf, eta);
    Tdir = normalize(Tdir);


    color ev;
    if (Kt > 0.001) {ev = Kt * trace(P, Tdir);}
    else {ev = 0;}
    cResult = (refrFilter * ev);
    }
    }
    }
    }
    }

    Теперь в слиме появятся 2 новых color элемента:
    BMRT Reflections и BMRT Refractions которые можно
    добавлять в AdditiveFX в качестве ченэла поверх
    основного материала. Вариантов масса, тэмплыйт
    примитивный и даже не использует fresnel
    но на его основе можно сделать чтонить более продвинутое
    Сделай сам.

    6. В майке загрузи MTOR и:
    зайди в RenderMan - Workspace Editor где в закладке
    Resource Locations в torShaders вместо /rmanshader
    руками напиши прямой путь (у меня) E:/Projects/TestBMRT/rmanshader
    тоже сделай и для текстур
    (которые туда и складируй (которые должны быть tif-ами)) потом
    жми на Apply. В дире твоего майского проекта при этом появиться
    файл RATworkspace.ws который удалять нельзя иначе придется пункт
    6 повторить заново.

    7. Зайди RenderMan - Slim - Preferences
    где в закладке Misk проверь что бы Full Paths была выключена
    (всмысле галки нет) а в закладке Expert поставь галку в
    Expert Menus, в строке Secondary Compiler пропиши slcmtor.bat %I %f
    в строке Render пропиши slimBmrtRender.bat %f %i

    8. Зайди в RenderMan - RenderMan Globals

    Display Server выбери framebuffer
    Spool - Job Setup - Renderer поставь custom
    Spool - Job Setup - Custom в строке Renderer пропиши rendrib
    9. Все. У меня все работает.

     
Модераторы: Moderator.

Поделиться этой страницей