For this, I add one assumption that you did not mention: I assume that you make one random draw for a double. Obviously, you can get twice an accident by doing two draws.
The first question really "makes 32-bit pseudo-randomness random enough for my ray indicator." I think yes. Most raytracers only shoot from a few million rays, so you will not notice that there are only 4 billion bits of pseudo-randomness.
Second question: “Can I spread pseudo-randomness in the field of double values that I care about.” Again, I think so. If you shoot rays in a 90 degree field, and there are 4 billion possible results from one pseudo-random draw. For perspective, a sniper scanning a powerful field of view sees millions of times less angular accuracy than the average difference between these pseudorandom vectors.
All that is said is the profile of your code. I would give a 99.9998% chance that your trace code itself will take much longer than the pseudo-random generation, unless your scenes consist of separate non-reflective spheres.
source share