Могу ли я сгенерировать случайное число внутри пиксельного шейдера?

Я пытаюсь написать очень простой шейдер, который добавляет случайный блеск к применимым объектам. Я хотел бы сделать это, добавив случайный оттенок белого (R = G = B) к значению пикселя в пиксельном шейдере.

Кажется, что noise () не работает так, как я надеюсь:

float multiplier = noise(float3(Input.Position[0], Input.Position[1], time));

Выдает ошибку X4532: не удается сопоставить выражение с набором инструкций пиксельного шейдера » ссылаясь на вызов noise () .

Поскольку я не знаю способа сохранить число между вызовами шейдера, я не думаю, что могу просто написать простое случайное число функция создания на основе начального числа, переданного перед рендерингом.

Есть ли способ получить случайное число изнутри пиксельного шейдера? Если есть способ, то как?

8
задан Peter O. 26 August 2017 в 14:56
поделиться