Skip to content

Commit e5298e2

Browse files
committed
hardcoded powers of 32 in LCG
1 parent 49e0c39 commit e5298e2

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

packages/typegpu-noise/src/generator.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import tgpu, { d, type TgpuFnShell, type TgpuSlot } from 'typegpu';
2-
import { bitcastU32toF32, cos, dot, fract, pow } from 'typegpu/std';
2+
import { bitcastU32toF32, cos, dot, fract } from 'typegpu/std';
33

44
export interface StatefulGenerator {
55
seed?: (seed: number) => void;
@@ -66,21 +66,19 @@ export const LCG: StatefulGenerator = (() => {
6666

6767
return {
6868
seed: tgpu.fn([d.f32])((value) => {
69-
seed.$ = d.u32(value * pow(32, 3));
69+
seed.$ = d.u32(value * 32768);
7070
}),
7171

7272
seed2: tgpu.fn([d.vec2f])((value) => {
73-
seed.$ = d.u32(value.x * pow(32, 3) + value.y * pow(32, 2));
73+
seed.$ = d.u32(value.x * 32768 + value.y * 1024);
7474
}),
7575

7676
seed3: tgpu.fn([d.vec3f])((value) => {
77-
seed.$ = d.u32(value.x * pow(32, 3) + value.y * pow(32, 2) + value.z * pow(32, 1));
77+
seed.$ = d.u32(value.x * 32768 + value.y * 1024 + value.z * 32);
7878
}),
7979

8080
seed4: tgpu.fn([d.vec4f])((value) => {
81-
seed.$ = d.u32(
82-
value.x * pow(32, 3) + value.y * pow(32, 2) + value.z * pow(32, 1) + value.w * pow(32, 0),
83-
);
81+
seed.$ = d.u32(value.x * 32768 + value.y * 1024 + value.z * 32 + value.w);
8482
}),
8583

8684
sample: randomGeneratorShell(() => {

0 commit comments

Comments
 (0)