@@ -19,73 +19,43 @@ import { randomGeneratorSlot } from './generator.ts';
1919const TWO_PI = Math . PI * 2 ;
2020const EPS = 1e-7 ; // don't ever get any lower than this
2121
22- export const randSeed : TgpuFn < ( seed : d . F32 ) => d . Void > = ( ( ) => {
23- const seedSlotNotEmpty = tgpu [ '~unstable' ] . derived ( ( ) => {
24- if ( randomGeneratorSlot . $ . seed ) {
22+ const seedNotEmpty = tgpu [ '~unstable' ] . comptime (
23+ ( seedFnName : keyof typeof randomGeneratorSlot . $ ) => {
24+ if ( randomGeneratorSlot . $ [ seedFnName ] ) {
2525 return true ;
2626 }
27- console . warn ( " Called `randf.seed `, but it wasn't provided" ) ;
27+ console . warn ( ` Called \ `randf.${ seedFnName } \ `, but it wasn't provided` ) ;
2828 return false ;
29- } ) ;
30-
31- return tgpu . fn ( [ d . f32 ] ) ( ( seed ) => {
32- if ( seedSlotNotEmpty . $ ) {
33- // @ts -expect-error trust me
34- randomGeneratorSlot . $ . seed ( seed ) ;
35- }
36- } ) . $name ( 'randSeed' ) ;
37- } ) ( ) ;
38-
39- export const randSeed2 : TgpuFn < ( seed : d . Vec2f ) => d . Void > = ( ( ) => {
40- const seedSlotNotEmpty = tgpu [ '~unstable' ] . derived ( ( ) => {
41- if ( randomGeneratorSlot . $ . seed2 ) {
42- return true ;
43- }
44- console . warn ( "Called `randf.seed2`, but it wasn't provided" ) ;
45- return false ;
46- } ) ;
47-
48- return tgpu . fn ( [ d . vec2f ] ) ( ( seed ) => {
49- if ( seedSlotNotEmpty . $ ) {
50- // @ts -expect-error trust me
51- randomGeneratorSlot . $ . seed2 ( seed ) ;
52- }
53- } ) . $name ( 'randSeed2' ) ;
54- } ) ( ) ;
55-
56- export const randSeed3 : TgpuFn < ( seed : d . Vec3f ) => d . Void > = ( ( ) => {
57- const seedSlotNotEmpty = tgpu [ '~unstable' ] . derived ( ( ) => {
58- if ( randomGeneratorSlot . $ . seed3 ) {
59- return true ;
60- }
61- console . warn ( "Called `randf.seed3`, but it wasn't provided" ) ;
62- return false ;
63- } ) ;
64-
65- return tgpu . fn ( [ d . vec3f ] ) ( ( seed ) => {
66- if ( seedSlotNotEmpty . $ ) {
67- // @ts -expect-error trust me
68- randomGeneratorSlot . $ . seed3 ( seed ) ;
69- }
70- } ) . $name ( 'randSeed3' ) ;
71- } ) ( ) ;
72-
73- export const randSeed4 : TgpuFn < ( seed : d . Vec4f ) => d . Void > = ( ( ) => {
74- const seedSlotNotEmpty = tgpu [ '~unstable' ] . derived ( ( ) => {
75- if ( randomGeneratorSlot . $ . seed4 ) {
76- return true ;
77- }
78- console . warn ( "Called `randf.seed4`, but it wasn't provided" ) ;
79- return false ;
80- } ) ;
81-
82- return tgpu . fn ( [ d . vec4f ] ) ( ( seed ) => {
83- if ( seedSlotNotEmpty . $ ) {
84- // @ts -expect-error trust me
85- randomGeneratorSlot . $ . seed4 ( seed ) ;
86- }
87- } ) . $name ( 'randSeed4' ) ;
88- } ) ( ) ;
29+ } ,
30+ ) ;
31+
32+ export const randSeed = tgpu . fn ( [ d . f32 ] ) ( ( seed ) => {
33+ if ( seedNotEmpty ( 'seed' ) ) {
34+ // @ts -expect-error trust me
35+ randomGeneratorSlot . $ . seed ( seed ) ;
36+ }
37+ } ) . $name ( 'randSeed' ) ;
38+
39+ export const randSeed2 = tgpu . fn ( [ d . vec2f ] ) ( ( seed ) => {
40+ if ( seedNotEmpty ( 'seed2' ) ) {
41+ // @ts -expect-error trust me
42+ randomGeneratorSlot . $ . seed2 ( seed ) ;
43+ }
44+ } ) . $name ( 'randSeed2' ) ;
45+
46+ export const randSeed3 = tgpu . fn ( [ d . vec3f ] ) ( ( seed ) => {
47+ if ( seedNotEmpty ( 'seed3' ) ) {
48+ // @ts -expect-error trust me
49+ randomGeneratorSlot . $ . seed3 ( seed ) ;
50+ }
51+ } ) . $name ( 'randSeed3' ) ;
52+
53+ export const randSeed4 = tgpu . fn ( [ d . vec4f ] ) ( ( seed ) => {
54+ if ( seedNotEmpty ( 'seed4' ) ) {
55+ // @ts -expect-error trust me
56+ randomGeneratorSlot . $ . seed4 ( seed ) ;
57+ }
58+ } ) . $name ( 'randSeed4' ) ;
8959
9060export const randFloat01 : TgpuFn < ( ) => d . F32 > = tgpu
9161 . fn ( [ ] , d . f32 ) ( ( ) => randomGeneratorSlot . $ . sample ( ) ) ;
0 commit comments