Posso gerar um número aleatório dentro de um pixel shader?

Estou tentando escrever um shader muito simples que adiciona brilho aleatório aos objetos aplicáveis. A maneira que eu gostaria de fazer isso é adicionando um tom aleatório de branco (R = G = B) ao valor do pixel dentro do pixel shader.

Parece quenoise() não funciona da maneira que espero que funcione:

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

Dá-me "erro X4532: não é possível mapear expressão para o conjunto de instruções de sombreador de pixel", referindo-se à chamada paranoise().

Como não sei como manter um número entre as chamadas para o sombreador, acho que não consigo escrever uma função simples de produção de números aleatórios com base em uma semente transmitida antes da renderização.

Existe uma maneira de produzir um número aleatório de dentro de um pixel shader? Se existe uma maneira, como?

questionAnswers(4)

yourAnswerToTheQuestion