Render.ru

2 вопроса по хитрым шейдерам

#1
А как бы сделать следующее:
1. Чтобы объект отбрасывал тень учитывая альфа-канал текстуры, но при этом при просчете картинки был без этого альфа-канала (очевидно надо в шейдере где-то использовать параметр, указывающий, что в данный момент шейдер вызывается на этапе ShadowPass)
2. Чтобы черный непрозрачный(!) объект имел на выходе прозрачный(!) альфа-канал (для ShadowMatte шейдера)

RAT 4.1 для NT, Photorealistic Renderman renderer

благодарен за помощь.
 
#2
http://www.geocities.com/andrewvk107/SlimPalete.zip
Это по первому вопросу.
Собсно ты сам на него и ответил.
Нужно просто вставить экспрэшн на микс прозрачности.
В слим загрузи ету палитру и посмотри как это сделано.
Если само ненайдет - подставь стандартный grid.tx в оба файла.(из пиксаровского набора)
По второму завтра если никто ничо не скажет
 
#3
Я тут высказал умную мысль на rusrender.net, что композингом это делается проще. Поумничал, а потом подумал и решил, что может это и не так просто.

Ideas anyone? (Сам себе стал похож на Храждана ;-)))
 
#4
По поводу второго вопроса кроме композа пока ничего на ум не приходит...
и наверное не придет :(

 
#5
Я тоже в свое время искал возможность шадоу мейта и ничего не нашел окромя пост компоузинга:(( По сути дела шедоу мейт - это еще один дополнительный канал работающий по принципу цветового, но зависящий (различным образом) от альфы и записываемый потом вместо альфы. Так как у Рендермана по определению нет других каналов кроме трех цветовых и альфы, то и возможности шедоу мейта нет (ИМХО конечно :)).
Однако есть одно замечание: можно немного упростить работу и не делать два прохода рендеринга. Рман имеет возможность выводить любую переменную в отдельный файл (единственный геморрой - фильтрация в этом случае не работает). Те делаем так: декларируем переменную Declare "Mate"; делаем темплейт в котором Mate = func (Mate_In, Oi) например (Mate_In * Oi), при этом есть соска для подключения стандартных темплов (пластик, ламберт и тд) и при этом описываем Mate как output varying color. Теперь подключаем материалы через этот темплейт и настраиваем параметр Mate_In как обычно в этих случаях. В рендер глобалсах пишем что выводим Mate в отдельный файл. Все. Имеем после рендеринга две картинки - РЖБАльфа и Альфа-Мейт. Недостаток - имеем в два раза больше картинок и не виден сразу результат (можно конечно написать свой имеджер - тогда вообще проблем не будет). Достоинство - есть исходная альфа.
Если интересует могу запостить темплейт (я его еще не делал :))
Я этот способ использовал чтобы постпроцессом делать глоу (люблю дешевые эффекты :)). Кстати, нет ли у кого алгоритма глоу аналогичного майскому? - хочу написать свой имеджер :))

PS. Давно я суда не заглядывал - думал померла конфа, ан нет: живет :)
 
#6
Наговорил много - толку мало... Все это конечно работает только для одного обьекта %() (а это на фиг ни кому не нужно). Извините за глупость - обещаю так больше не делать.
 
#7
слушай, клёвое решение!
а вот где бы взять еще доку по МТОРовским tcl-скриптам?
 
#8
Надеюсь ты понял что там я инвертанул альфу (где то в дебрях File_Float)
только потому что альфа там была неочень удачная.
На самом деле этого делать нэтрэба.
По поводу доки - а нигде. Ищи доку по TCL/TK (просто язык такой неимеющий к MTOR никакого отношения) и разбирай скрипты.
Наверное хороший язычок потому как Houdini его тоже активно использует.
 
#9
И не только Гудини - этот язык вообще основной для скриптования в ILM, включая все их тулзы. А все почему? Когда они начинали, язычок активно продвигался Саном, в отсутствие конкурентов, и поэтому de facto был принят как стандарт.

С тех пор появились Perl, Python, Lua и куча всего остального, но все равно - даже в последних версиях программ - скриптовым языком является Tcl.

Как говорится, тяжелое наследие прошлого.

Кстати, сайт Tcl - www.scriptics.com

 
Сверху