Render.ru

максимальное значение ноды

Vladimir Frolov

Активный участник
Рейтинг
16
#1
Здравствуйте!
Как можно вычислить максимальное значение ноды( в моём случае 2d текстуры)?
 

Vladimir Frolov

Активный участник
Рейтинг
16
#4
Есть процедурная 2d текстура нужно узнать максимальное значение цвета которая она выдаёт.

скачал cgdnaMath_2.5, там есть нода limitMinMax, но она не совсем подходит...
Или возможно не разобрался до конца в ней.
 

Vladimir Frolov

Активный участник
Рейтинг
16
#6
Жалко, а мне кажется было бы очень удобно выставлять диапазоны в процедурных текстурах, где заранее неизвестен результат...
Можно конечно руками настраивать, на глаз итд итп.

Ну тогда ещё вопрос, какое значение получается когда я соединяю карту к атрибуту другой ноды?
Исходя из чего там вычисляется среднее значение?
Вопрос просто на понимание... =)
 

Андрей Кравченко 136989

Пользователь сайта
Рейтинг
2
#8
Честно говоря, я так и не понял чего Вы хотите.
Узнать максимальный параметр цвета изображения для R (красный), G (зеленый) и B (синий)?
И обрезать цвета выше указанного значения?
 

Владимир Забелин

Активный участник
Рейтинг
17
#9
Да нет, там имеется ввиду нормализация произвольного потока данных. не знаю, какой диапазон на входе, но на выходе он масштабируется в [0,1] такой setRange с автоматическим определением границ входящих значений. если проводить аналогию с фотошопом, то это автолевелс.
 

Vladimir Frolov

Активный участник
Рейтинг
16
#10
Да нет, там имеется ввиду нормализация произвольного потока данных. не знаю, какой диапазон на входе, но на выходе он масштабируется в [0,1] такой setRange с автоматическим определением границ входящих значений. если проводить аналогию с фотошопом, то это автолевелс.
Да именно это я и хотел сказать.
Я думаю было бы много применений такой фиче при построении сетей шейдерных.
 

Vladimir Frolov

Активный участник
Рейтинг
16
#12
Вот начал набрасывать шейдер асфальта мокрого. Было бы удобно выравнивать диапазоны если знать максимальные значения...
 

Вложения

Владимир Забелин

Активный участник
Рейтинг
17
#13
диапазон ты задаешь в нодах нойза. отследить его изменение и законектить его на сетРэндж - дело несложное.
Мыслить нужно в рамках задачи целиком, а не вырванными из контекста кусками. Собственно, это известно со времен древнегреческих мыслителей, когда никакой компьютерной графики не было и в помине. и называется это аналитз и синтез .
 

Vladimir Frolov

Активный участник
Рейтинг
16
#14
Насчёт шума согласен и то не всегда максимум будет соответствовать амплитуде шума.
А если добавить ноды AO или LightInfo тогда отследить диапазон становится проблематичнее.
Да я тоже за простоту решения. Можно искать начальные условия оперировать ими.
Но мне было бы удобно получить то что я хочу на лету, а не прибегая к копанию истоков.
Просто я понял, что моя задача не тривиальная и мне кажется не имеет решения.
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
#15
Если уж совсем горит, то можно прибегнуть к помощи скриптов:
Код:
int $res = 300;
int $size = $res*$res;
float $v[];
float $values[] =`colorAtPoint -o RGB -su $res -sv $res fractal1`;
for ($s = 0; $s < $size; $s++) {
vector $hsv;
vector $rgb = <<$values[$s],$values[$s+1],$values[$s+2]>>;
$hsv = rgb_to_hsv($rgb);
$v[$s] = $hsv.z;
}
$v = `sort $v`;
$max_v = $v[$size-1];
А далее коннект на setRange или аналог.
Точность этого метода будет зависеть от заданного разрешения $res для процедурных текстур. Хотя как по мне, вместо таких заморочек обычно все на глаз доводят.
 

Владимир Забелин

Активный участник
Рейтинг
17
#16
Если поставить задачу одевать штаны через голову, то она тоже покажется нетривиальной ровно до тех пор, пока не поймешь что это никому не нужно. Не нужно путать нетривиальность и бессмысленность.
скиф. шейдер нетворк обновляется не просто для каждого пиксела, но и для каждого сэмпла картинки. ну и вы для каждого сэмпла предлагете добавить 20000 вызовов мел команды плюс арифметические действия плюс мел, который выполняется в 10 раз медленне нодовых операций. так, на секундочку. ради того, чтобы получить автолевелс. который при анимации текстуры будет сам как-то там всю текстуру переколбашивать. то есть в результате, при анимации текстуры возникнет мерцание(аналог автоэкпложе для глоу). То есть вы потратили силы, талант и так далее для получения абсолютно непрактичного результата, грубо говоря, продемонстрировали, что штаны таки можно надеть черз голову, но зачем?
даже в композитинговых софтах нет автоматического автолевелса (для каждого кадра)
Задача рендеринга "сделать красиво". доводится картинка на композе. Тратье силы, нервы, знания и талан на осмысленные вещи.
 

Vladimir Frolov

Активный участник
Рейтинг
16
#17
Это не срочно это просто мои мысли в свободные промежутки времени.
Поиски новых решений...
(между скушными нудными часами работы люблю позаморачиваться, ведь куда бы мы шли без теории???)
Решение есть, но оно тоже не вполне подходит из-за сложности вычислений.
Да и неизвестно какое мы получим значение при применении этого выражения при рендере...

Я не ставлю задачи я задаю вопросы ) хотя забавно получается.

Эти мои мысли исходят из-за моего мат образования может быть оно мне мешает думать...
Я хочу конкретики, а нужно делать на глаз и не заморачиваться...

Да и люблю я процедурный просто подход к делу...
Не бейте меня сильно))) Это же просто пытливость ума и способ найти нечто новое в обыденном...
 
Сверху