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

Liquid

Тема в разделе "RenderMan", создана пользователем -, 21 окт 2002.

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

    Если многоуважаемый Kidd не против (как модератор),
    предлагаю начать обсуждение subj-a.
    У него, конечно есть автор и пара своих форумов на SourceForge,
    но пока это все разовьется в нужную сторону (NT on x86),
    проще попробовать порешать локальные вопросы внутри
    уже сложившегося RMan community на render.ru.
    Глядишь, и Colin Doncaster подключится ;-)

    Я уже начал пытаться. Кой чего откомпилилось.
    Пока уперся в отсутсвие объявления RiDetach and RiAttach.

    У автора на сей счет:
    Also - because of legal reasons I wasn't able to provide the rib
    output library I generally use to compile with - most will work though. There are two functions that will have to be commented out, RiDetach and RiAttach. They are specifically for passing the rib handle back and forth between Liquid and any
    plug-ins that might be used. I believe the Pixar library has a similar mechanism these days.

    Правильно ли я понял, что эти вызовы можно пока безболезненно закоментить?
     
  2. Guest

    Да, там же сказано:
    There are two functions that will have to be commented out, RiDetach and RiAttach.
     
  3. Guest

    Как модератор я не против. Это самое оно, в тему.

    После погляделок в сорец (я провёл в нём сегодня несколько часов в бесплодных попытках откомпиллировать) я так понял, что Колину всё равно, с какой riblibout компиллировать - от Entropy, от Pixar... От Affine.org... Может, взять оное с Affine.org?
     
  4. Guest

    Все намного хуже, чем я думал :(

    liquidRibTranslator.cpp:

    /* Rib Stream Defines */
    /* Commented out for Win32 as there is conflicts with Maya's drand on Win32 - go figure */
    #ifndef _WIN32
    #include <target.h>
    #endif
    }

    Что такое "Maya's drand"?
    И ниже по всему файлу похожие строки, из-за чего возникает вот что:

    liquidRibTranslator.cpp(1469) : error C2065: 'dirMode' : undeclared identifier
    NMAKE : fatal error U1077: 'CL.EXE' : return code '0x2'
    Stop.

    Неужто под вин32 Колин его не компилил ни разу? :-(
     
  5. Guest

    Он вроде как написал, что не дает проект под Win32, т.к.

    It's trivial to get it compiled under MSVC, it works just the same as any other
    Maya plugin. I didn't provide MSVC files because it's so dependant on the location
    of all the other libraries. So - just follow the steps in the Maya developers
    guide to setup the NT project. Хе-хе ;-)

    Т.е. правильней начать строить начиная с Maya Plugin API Wizarda к MSVC.

    По поводу dirMode под Win32 -- я его просто убирал, т.к. функции mkdir с двумя аргументами нигде не нашел. Не думаю, что это самая принципиальная проблема.
     
  6. Guest

    Я вроде начал было с Plugin Wizard, но там для меня слишком темный лес :-( К примеру, у Колина в коде есть main() - а Wizard вроде как для entry point и выхода создает пару функций что-то вроде InitializePlugin() и UninitializePlugin() - кому верить?..
     
  7. Guest

    InitializePlugin() и UninitializePlugin() у Колина тоже есть. Уже легче :)
     
  8. Guest

    После внимательного вглядывания в его якобы makefile ;-)
    я пришел к следующему выводу, что надо компилить 2 файла:
    liquidPlug.mll (/D "NT_PLUGIN")
    liquidBin.exe(?) (/D "NT_APP")
    Сборка проекта посредством Wizarda чуть облегчает жизнь с определениями нужных опций для DLL.
    Например сразу вставляются /export:initializePlugin /export:uninitializePlugin
     
  9. Guest

    This makes sense...
     
  10. Guest

    drand - double random?

    А про ту строку вообще ничего сказать не могу - это в контексте надо понимать.

    А насчёт компиллировал - конечно, да. Скриншоты в хелпе - откуда?
     
  11. Guest

    Насчет скриншотов - это хороший аргумент :))
     
  12. Guest

    Есть, правда, еще третий вариант: он мог компилировать под Win32, но не MSVС...
     
  13. Guest

    Опять же, исходя из виденного в makefile, похоже он компилил под Win32 for MIPS;
    C++FLAGSO = -Ofast=ip30 -mips3 -n32 -LANG:std

    Скорее всего NT на SGI.
     
  14. Guest

    Имхо маловероятно, что кто-то еще юзает это чудо, скорее уж это следы кросс-компиляции из-под линукса...
     
  15. Guest

    C горем поплам -- окомпилил без ошибок исходники для liquidPlug.mll
    Сейчас уперся в unresolved externals для присоединенных библиотек.
    Например:
    libtarget.lib(tgdsopath.o) : error LNK2001: unresolved external symbol __pctype
    libtarget.lib(tgdsopath.o) : error LNK2001: unresolved external symbol ___mb_cur_max
    librib.lib(illum.o) : error LNK2001: unresolved external symbol ___mb_cur_max
    libsleargs.lib(exutil.obj) : error LNK2001: unresolved external symbol __imp__RegQueryValueExA@24
    ibsleargs.lib(token.obj) : error LNK2001: unresolved external symbol _pthread_mutex_init
    libsleargs.lib(paramlist.obj) : error LNK2001: unresolved external symbol _pthread_mutex_lock
    и т.д.
    Список библиотек прилагается ;-)
    Foundation.lib OpenMaya.lib OpenMayaAnim.lib OpenMayaRender.lib OpenMayaUI.lib librib.lib libsloargs.lib liblkm.lib libzip.lib libtarget.lib libsleargs.lib
    /nodefaultlib:"LIBCMT"

    Может чего не хватает?
    Или чего то слишком много? ;-)
     
  16. Guest

    Имхо libsleargs и libsloargs могут конфликтовать, но unresolved external это не вызовет... libtiff.lib b libjpeg.lib попробуй добавить до кучи: "tgdsopath" - не о display driver ли речь?
     
  17. Guest

    libtif.lib похоже не причем.
    Посмотрел на примеры майских плагинов, что идут c SDK и не вдаваясь
    в подробности добавил все что у них было 8-/

    kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

    Получил:
    liquidPlug4.0.mll - 0 error(s), 0 warning(s)

    Однако майка на него сказала следующее:
    loadPluginCallback "C:/Liquid/src/liquidPlug/liquidPlug4.0.mll" "plug-in";
    // Error: Invalid access to memory location.
    //
    // Error: No plug-ins loaded - "Invalid access to memory location.

    Как жить дальше?!!!
     
  18. Guest

    Ooops... 0 - errors как то случайно получилось :-(
    Добавление всех этих библиотек на результат не повлияло.
    А liquidPlug4.0.mll получился из-за force output file....

    Продолжаем погружаться....
     
  19. Guest

    mesh, а как ты справился с
    d:\projects\develop\liquid\src\liquidbin.cpp(162) : error C2086: 'i' : redefinition
    Это же ошибка... Неужели gcc повторное объявление переменной не считает ошибкой???
    А откуда берется
    'SIGRTMAX' в том же файле, строка 152.. Ну и там много чего еще...
     
  20. Guest

    Я брал только файлы перечисленные в его makefile.
    Иначе действительно неоткомпилить из-за кучи ошибок.
    LIQUIDMAINOBJS = liquidRibObj.obj \
    liquidRibNode.obj \
    liquidRibData.obj \
    liquidGlobalHelpers.obj \
    liquidRibSurfaceData.obj \
    liquidRibNuCurveData.obj \
    liquidRibParticleData.obj \
    liquidRibMeshData.obj \
    liquidRibLocatorData.obj \
    liquidRibCoordData.obj \
    liquidRibLightData.obj \
    liquidRibHT.obj \
    liquidRibTranslator.obj \
    liquidGetSloInfo.obj \
    liquidGetAttr.obj \
    liquidAttachPrefAttribute.obj \
    liquidRibGenData.obj \
    liquidPreviewShader.obj \
    liquidRibSubdivisionData.obj \
    liquidMemory.obj
     
Модераторы: Moderator.

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