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

Программы с BMRT

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

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

    Кто нибудь пробовал писать программы с библиотекой libribout.lib.
    Я пытаюсь ее скомпилировать в DLL, но при вызове DLL из внешней программы, последняя умирает даже не пискнув.
     
  2. Guest

    Я пробовал.

    А на чем пишешь? Тамошняя версия либа может быть написана на старом ВиСи, проверь.
     
  3. Guest

    Я пишу вызывающую программу на Delphi. DLL использую именно для того, чтобы создать интерфейс с BMRT . У меня правда сложилось впечатление что проблема в том что BMRT - консольное приложение, а не GUI
     
  4. Guest

    ИМХО в данном случае и правильнее, и проще вызывать rendrib.exe.
     
  5. Guest

    1. 2 alex - не факт, что правильнее его вызывать, интерфейс для того и сделали, чтобы его юзать - например, при процедурной генерации примитивов.

    Другой момент, что такое использование уже несколько устарело и не всегда приветствуется...

    2. 2max - я сам на нем, родимом, пишу - и ничего. Правда, я сделал DLL из libslcarg, чтобы параметры шейдеров выдирать.

    Мораль такова, что скорее всего ты неправильно сделал DLL - или неправильно его вызвал (например, не сделал процы из DLL фарами). Могу подсказать или просто возьми с моей страницы мои сорцы - там показано, как правильно.
     
  6. Guest

    Да нет, я не против, теоретически это даже красивее, особенно, если rib получается диких размеров. Но согласись, софт при этом становится привязанным к конкретному рендереру, а если точнее - к конкретной его версии. Правда, если линкование библиоеки не статическое, ситуация все же чуть полегче...
     
  7. Guest

    У меня сделано вот так...

    #define RENDER_API __declspec(dllexport)

    RENDER_API RtToken RA_RiDeclare (char *name, char *declaration)
    {
    return RiDeclare(name,declaration);
    }
    Плюс еще DEF файл.

    Кстати из консоли функции вызываются нормально, во всяком случае ничего не рушится
     
  8. Guest

    У меня вот так:

    char* WINAPI SLCP_GetPath (void)
    {
    return ::SLC_GetPath();
    }

    и работает отовсюду.
     
Модераторы: Moderator.

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