Hash Functions for GPU Rendering
reedbeta.com
reedbeta.com
Here's a link to a Git mirror of PractRand, in case somebody wants to contribute or fork it: https://github.com/tylov-fork/PractRand
More broadly, it feels like the situation with non-cryptographic pseudorandom generators and/or hashes isn't in a good place. I have a hunch that making progress on that front requires effort from expert scientists, but presumably the work isn't considered grant-worthy, so there's not a lot of it?
On another note, a quite possibly stupid question; but why were the Xoshiro PRNG variants not considered in the paper?
float rand_from_seed(inout uint seed) {
int k;
int s = int(seed);
if (s == 0)
s = 305420679;
k = s / 127773;
s = 16807 \* (s - k \* 127773) - 2836 \* k;
if (s < 0)
s += 2147483647;
seed = uint(s);
return float(seed % uint(65536)) / 65535.0;
}
Any one know if the methods in this article will work too?> measured by time to render a quad evaluating the hash at each pixel
What do hash functions have to do with pixels?
> In many graphics applications, a deterministic random hash provides the best source of random numbers.
So, why do people need cheap random numbers in graphics? Is that to create some sort of fuzz/texture/visual effect? Or is it to implement stochastic animations? (I know nothing about graphics)