Я пытаюсь написать очень простой шейдер, который добавляет случайный блеск к применимым объектам. Я хотел бы сделать это, добавив случайный оттенок белого (R = G = B) к значению пикселя в пиксельном шейдере.
Кажется, что noise ()
не работает так, как я надеюсь:
float multiplier = noise(float3(Input.Position[0], Input.Position[1], time));
Выдает ошибку X4532: не удается сопоставить выражение с набором инструкций пиксельного шейдера » ссылаясь на вызов noise ()
.
Поскольку я не знаю способа сохранить число между вызовами шейдера, я не думаю, что могу просто написать простое случайное число функция создания на основе начального числа, переданного перед рендерингом.
Есть ли способ получить случайное число изнутри пиксельного шейдера? Если есть способ, то как?