(seed: u32)
| 312 | |
| 313 | #[inline] |
| 314 | pub fn rand_unit_vec3(seed: u32) -> (f32, f32, f32) { |
| 315 | let z = rand11(seed); |
| 316 | let angle = rand01(seed.wrapping_add(STREAM_GAMMA)) * std::f32::consts::TAU; |
| 317 | let radial = (1.0 - z * z).max(0.0).sqrt(); |
| 318 | (radial * angle.cos(), radial * angle.sin(), z) |
| 319 | } |
| 320 | |
| 321 | #[inline] |
| 322 | pub fn shuffle<T>(seed: u32, values: &mut [T]) { |