Grüße!
Ich brauche einen parallelen deterministischen Zufall - absurd turboschnell, nach Möglichkeit zustandsfrei, und halt z.B. 8x parallel.
Hintergrund: ich pflanze Grüne Voxel rund um Äste meines Baumgenerators. Bisher habe ich für jeden Voxel auf die geometrische Hülle geprüft und dann einen Zufall berechnet und gegen einen steigenden Grenzwert verglichen, damit das Blattwerk nach außen hin dünner wird. So sah das im Code aus:
Code: Alles auswählen
uint32_t noise = (nvp.x * 821 ^ nvp.y * 971 ^ nvp.z * 1031) % 137;
uint32_t refnoise = Funktion_In_Abhängigkeit_Vom_Abstand;
if( noise > refnoise )
SetzeVoxel();
Der geneigte Leser entdeckt hier Krishtys geilen Instant-Zufall, der auch wirklich phantastisch funktioniert und absolut deterministisch einen optisch glaubwürdigen Zufall ausspuckt. Ich suche jetzt nach Ideen, wie ich einen uint64_t mit Zufallswerten füllen kann, so dass ich daran 8x parallel gegen einen Grenzwert vergleichen kann. Wie das Vergleichen gehen kann, habe ich schon rumliegen. Aber wie produziere ich einen deterministischen Zufall mit 64bit? Die Eingabe-Werte, also die Koordinaten, gehen üblicherweise von 0 bis 2047. Um 64Bit damit zu füllen, müsste ich also Primzahlen größer als 2^53 finden. Die kann man nicht mehr einfach so googeln.
Danke im Voraus!