Render.ru

light links

Narvi

Активный участник
Рейтинг
11
#1
Как малой кровью получить аналог сабжа в ПРмане? Я знаю про message passing, но там, как я понял потребуется переписывать шейдеры света и поверхности... Не хотелось бы... А лайт-линки нужны.
 
#2
Можно с помощью категорий, можно с помощью illuminate
в рибе - один хрен что то переписывать придеться.
Только что там переписывать то - всего пара строчек.
А что майский, максовский light links мтором , меном
разве не хаваеться?
 

Narvi

Активный участник
Рейтинг
11
#3
А по подробнее? А то я что-то про категории и илюминанс не очень врубаюсь.

ЗЫ А стандартный лайт-линкинг глючит.
 
#4
Про illuminate забудь - это правка риб файла вручную.
Категории:

Сурфшейдеру и лампошейдеру добавляеш униформовый
стринговый параметр, например:

Для лампочки
light MyLight
(
float Intensity = 0.1;
color LightCol = color 0.8;
......бла
......бла
......бла
uniform string __category = "Light1,Light2,Light3";
)
{
........бла бла бла
}

У лампочки этот параметр должен называться именно __category
(с двойным поддчеркиванием). В него ты запихиваеш имя (имена)
етой самой лампочки.

У сурфейсы соответственно нужно тоже добавить
стринговый параметр (имя произвольно) в котором
прописываеш на какие лампочки ета сурфейса будет откликаться.
И еще необходимо немного изменить вызов illuminance (вставить
категорию)

surface MySurf
(
float Ka = 0.1;
float Kd = 0.8;
......бла
......бла
......бла
uniform string WhichLight = "Light1";
)
{
......бла
......бла
......бла
illuminance(WhichLight, P)
......бла
......бла
......бла

}

Подробности смотри в доке:
file:///D:/PIXAR/Documentation%204.5/reference/shading_language_extensions/slextensions.html#Light Categories
 
#5
Да забыл сказать что в этом случае
всяческие там стандартные diffuse, phong некатят.
Надо колбасить их вручную чтобы поиметь доступ к illuminance.
 
Сверху