Class CPUGalGenFallback
java.lang.Object
gaiasky.scene.record.CPUGalGenFallback
CPU equivalent of the GLSL compute shader for procedural billboard particle generation.
Produces a
List where each ParticleVector contains:
[x, y, z, size, r, g, b]
This is not bit-for-bit identical to the GPU shader, but replicates distributions, RNG style (uint state), gaussian/fbm approximations and the main logic.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classRandom number generator with some utility functions that mimic the GLSL implementation. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongenerate(BillboardDataset ds, int globalSeed) Generate particles for a givenBillboardDataset.generateConcurrent(BillboardDataset ds, int globalSeed) Concurrent version ofgenerate(BillboardDataset, int)using chunked batches.
-
Field Details
-
logger
-
-
Constructor Details
-
CPUGalGenFallback
public CPUGalGenFallback(double bodySize)
-
-
Method Details
-
generate
Generate particles for a givenBillboardDataset.- Parameters:
ds- BillboardDataset instance (fields read from your class)globalSeed- integer seed (u_seed)- Returns:
- list of
IParticleRecord, each with position, size, and color.
-
generateConcurrent
Concurrent version ofgenerate(BillboardDataset, int)using chunked batches.- Parameters:
ds- BillboardDataset instance (fields read from your class)globalSeed- integer seed (u_seed)- Returns:
- list of
IParticleRecord, each with position, size, and color.
-