Render.ru

region_id в Nizid shader

#1
Вопрос для тех, кто помнит Nizid shader из ARMan-a.
Как велико может быть значение region_id?

По тексту оно в конце делится на 255 (либо 65535 during 16-bpp renders),
а при рендере для разных участков поверхости у меня получается всего
два значения: 1 и 2. Если в Photoshop->Levels установить White point = 2,
то тогда можно с помощью Sobel вытянуть иногда очень полезные контуры,
но до этого значения ni, zee и region_id в каналах неравнозначны,
что неудобно при обработке

float region_id = 1.; /* Starting id number for surface. */
float region_one = 255.; /* Set to 65535 during 16-bpp renders. */
...

if (faceforward(N,I) . N >= 0.0) { /* Give front/back different id's */
id = region_id;
} else {
id = region_id + 1.;
}

Ci = color "rgb" (ni, zee, id/region_one);

P.S. for Kidd. Насколько я заметил converter, использует информацию
о region_id в blue channel c расчетом на то, что значения в нем 0...255, а не 1..2.

Может region_id, как то по другому предполагается использовaть?
Хотелось бы услышать какие-нибудь пояснения по этому поводу.

Заранее спасибо.
 
#2
Я ответил на cgnation. Могу подробнее приватным мылом. Если кому интересно - могу подробнее здесь.
 
Сверху