Render.ru

JinDOS, может ты ответишь.

#1
Я написал собственный риб-ген для длинных волос (ну типа можно прически делать), так вот при сборке ошибок нету, а при рендере Майка выдает ошибку:

Error: mtor Dec 17 11:30:12 ERROR Can't resolve RIBGen symbols in
> C:\Program Files\Pixar\rat-5.5\lib\plugins\dl_Fur (#slim dso dl_Fur_0 [set
> ::INSTANCETYPE dso;set ::INSTANCENAME {dl_Fur_0};set ::NAMESPACE {}]
> [dso ribgen "plugins/dl_Fur" "color FurBaseColor" \[ .25 .13 0 \] "color
> FurSpecColor" \[ .25 .18 .15 \] "color FurTipColor" \[ .25 .15 .25 \] "float
> CastShadows" \[ 0 \] "float CleanupFile" \[ 1 \] "float FlipNormals" \[ 0 \]
> "float FurBaseOpacity" \[ 1 \] "float FurBaseWidth" \[ .01 \] "float FurInU"
> \[ 100 \] "float FurInV" \[ 100 \] "float FurJitterSeed" \[ 0 \] "float
> FurKa" \[ 1 \] "float FurKd" \[ .6 \] "float FurKs" \[ .35 \] "float
> FurPlacementJitter" \[ .1 \] "float FurRoughness" \[ .15 \] "float
> FurScraggle" \[ 0 \] "float FurSegments" \[ 1 \] "float FurTipOpacity" \[
> 0.7 \] "float FurTipWidth" \[ .01 \] "float LazyEvaluate" \[ 0 \] "float
> useRatFuzz" \[ 1 \] "string FileName" \[ "$PROJ/rmantmp/mtorFur.$o.$F4" \] ]
> )

Я догадываюсь что это может быть нестыковка DSO с интерфейсными файлами *.sli и *.slim. Процедурные вызовы я не использую так что работать в принципе должно (хотя еще на всякий случай разок проверю).
 
#2
Первое: я рекомендую компилить все под 5.0 РАТ - в этом случае ты сможешь все проверять без гемороя (там есть засады и без процедуриалов).

Второе: то что ты делаешь, как раз и называется "Процедурный вызов" а именно:

...[dso ribgen "plugins/dl_Fur" "color FurBaseColor" ...] - это строка которая прописывается в риб.

говорит о том что ты собираешься потом вызвать процедурный риб-генератор (dso ribgen) по имени dl_Fur. Если бы ты разобрался в коде, то понял, что mtorUltraFur из себя дергает потом mtorFurProcedural (точнее прописывает в риб вызов Процедурала) который генерирует волосы в процессе рендера. А вот MtrorFuzz ни чего подобного не делает, а просто добавляет в риб кучу курвочек при генерации риба, а следовательно в процессе рендера ни какой внешний кусок риба, или скрипт или динамический код не подгружается (этого, как я уже гворил мульен раз, 5.5 делать не умеет ;)). Следовательно тебе надо переделывать mtorFuzz. Учти, что в Фуззе процесс проращивания волос очень простой, а вот в mtorFurProcedural он наоборот полный - с поддержкой майских фуровых атрибутов. Так что рекомендую сначала разобраться с mtorFurProcedural и попытаться скрестить с mtorFuzz.
 
#3
Понял. Я просто начал с mtorFur'а (а не ultraFur'а), ну ясно. Буду копать, а в mtorFurProcedural я уже поглядел. Ну что же попытаюсь скрестить с mtorFuzz. Спасибо за информацию - очень помогло кое-чего понять...
 
#4
Все собралось - оказалось что нужно править ашники - они же под юниксовый код заточены. Щас вроде работает.
 
#5
Под 5девкит надо пользовать STL, но не забыть пихнуть его до нативных микросовтовских. Кроме того надо пробить все дефайны- см Makefile.

под 5.5 надо пользовать STLport-4.5.3, но с ним засада небольшая, я сильно не разбирался, прост включил #define _STLP_NO_NEW_IOSTREAMS 1 в stl_user_config.h
 
#6
Я прописывал (под 5.5) в RibGen.h строку :

#if defined(_WIN32) || defined(_WINDOWS)
#ifdef DLL
#define RIBGEN_EXPORT __declspec(dllexport)
#else
#define RIBGEN_EXPORT __declspec(dllimport)
#endif /* DLL */
#endif /*WIN32*/

и еще :

перед двумя entrypoints -

extern "C" RIBGEN_EXPORT RIBGen *RIBGenCreate();
extern "C" RIBGEN_EXPORT void RIBGenDestroy( RIBGen * );

и при декларировании класса:

class RIBGEN_EXPORT RIBGen

После чего мой фур (уже фур, а не fuzz!) собрался без проблем. Щас свой шейдер крикручиваю. Процедуралы я хочу попозже сделать. У меня идея есть как длинные волосы делать с прическами - вот хочу щас реализовать. Вроде должно работать.
 
#7
Видимо где-то в sli-файлах ошибка, рибген рендерит, но черные волосы и выдает :

// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; roughness1
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; SPEC1
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; roughness2
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; SPEC2
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; basespec
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; tipspec
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; specsizefade
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; illumwidth
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; varbasefade
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; vartipfade
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; clumpdarkstrength
//
// Error: mtor Dec 20 12:18:30 ERROR RIBStream: unknown parameterlist token; furcolorvar

Это параметры в моем шейдере для волос. В коде рибгена вроде все проверил - ошибок нету.
 
Сверху